### Question:
OpBehaviorBoolXor extends BinaryOpBehavior { @Override public long evaluateBinary(int sizeout, int sizein, long in1, long in2) { long res = in1 ^ in2; return res; } OpBehaviorBoolXor(); @Override long evaluateBinary(int sizeout, int sizein, long in1, long in2); @Override BigInteger evaluateBinary(int sizeout, int sizein, BigInteger in1, BigInteger in2);  }### Answer:
@Test public void testEvaluateBinaryLong() { OpBehaviorBoolXor op = new OpBehaviorBoolXor(); Assert.assertEquals(0, op.evaluateBinary(1, 1, 0, 0)); Assert.assertEquals(1, op.evaluateBinary(1, 1, 0, 1)); Assert.assertEquals(1, op.evaluateBinary(1, 1, 1, 0)); Assert.assertEquals(0, op.evaluateBinary(1, 1, 1, 1)); }
@Test public void testEvaluateBinaryBigInteger() { OpBehaviorBoolXor op = new OpBehaviorBoolXor(); Assert.assertEquals(BigInteger.ZERO, op.evaluateBinary(1, 1, BigInteger.ZERO, BigInteger.ZERO)); Assert.assertEquals(BigInteger.ONE, op.evaluateBinary(1, 1, BigInteger.ZERO, BigInteger.ONE)); Assert.assertEquals(BigInteger.ONE, op.evaluateBinary(1, 1, BigInteger.ONE, BigInteger.ZERO)); Assert.assertEquals(BigInteger.ZERO, op.evaluateBinary(1, 1, BigInteger.ONE, BigInteger.ONE)); }