@Test
public final void testEquals() throws CloneNotSupportedException {
ConstEval e1;
ConstEval e2;
e1 = new ConstEval(DatumFactory.createInt4(34));
e2 = new ConstEval(DatumFactory.createInt4(34));
assertEquals(e1, e2);
BinaryEval plus1 = new BinaryEval(EvalType.PLUS, e1, e2);
BinaryEval plus2 = new BinaryEval(EvalType.PLUS, e2, e1);
assertEquals(plus1, plus2);
ConstEval e3 = new ConstEval(DatumFactory.createInt4(29));
BinaryEval plus3 = new BinaryEval(EvalType.PLUS, e1, e3);
assertFalse(plus1.equals(plus3));
ConstEval e4 = new ConstEval(DatumFactory.createInt4(9));
ConstEval e5 = new ConstEval(DatumFactory.createInt4(34));
BinaryEval compExpr1 = new BinaryEval(EvalType.LTH, e4, e5);
assertCloneEqual(compExpr1);
ConstEval e6 = new ConstEval(DatumFactory.createInt4(9));
ConstEval e7 = new ConstEval(DatumFactory.createInt4(34));
BinaryEval compExpr2 = new BinaryEval(EvalType.LTH, e6, e7);
assertCloneEqual(compExpr2);
assertTrue(compExpr1.equals(compExpr2));
}