@Test public void testEquals() { Var a = new Var("a"); Var b = new Var("b"); Formula f = a.and(b); Formula g = a.and(b); assertFalse(f == g); // two distinct instances assertTrue(f.equals(g)); // objects equal Formula h = b.and(a); assertFalse(f.equals(h)); // logically equivalent but objects not equal }