Test case details

Preparation Code

function logicalXor(a, b) { return !!a && !b || !a && !!b; } function unequalXor(a, b) { return !!a !== !!b; } function bitwiseXor(a, b) { return !!(!!a ^ !!b); } var obj = {};

Test cases

Test #1

logicalXor(true, true); logicalXor(true, false); logicalXor(false, true); logicalXor(false, false); logicalXor(obj, null); logicalXor('', 0);

Test #2

unequalXor(true, true); unequalXor(true, false); unequalXor(false, true); unequalXor(false, false); unequalXor(obj, null); unequalXor('', 0);

Test #3

bitwiseXor(true, true); bitwiseXor(true, false); bitwiseXor(false, true); bitwiseXor(false, false); bitwiseXor(obj, null); bitwiseXor('', 0);