@Test public void testFalse() throws Exception { assertTrue(!(new UnaryOr<Object>()).test("xyzzy")); assertTrue(!(new UnaryOr<Object>(Constant.FALSE)).test("xyzzy")); assertTrue(!(new UnaryOr<Object>(Constant.FALSE, Constant.FALSE)).test("xyzzy")); assertTrue( !(new UnaryOr<Object>(Constant.FALSE, Constant.FALSE, Constant.FALSE)).test("xyzzy")); UnaryOr<Object> p = new UnaryOr<Object>(Constant.FALSE); assertTrue(!p.test("xyzzy")); for (int i = 0; i < 10; i++) { p.or(Constant.FALSE); assertTrue(!p.test("xyzzy")); } UnaryOr<Object> q = new UnaryOr<Object>(Constant.FALSE); assertTrue(!q.test("xyzzy")); for (int i = 0; i < 10; i++) { q.or(Constant.FALSE); assertTrue(!q.test("xyzzy")); } UnaryOr<Object> r = new UnaryOr<Object>(p, q); assertTrue(!r.test("xyzzy")); }
@Test public void testDuplicateAdd() throws Exception { UnaryPredicate<Object> p = Constant.TRUE; UnaryOr<Object> q = new UnaryOr<Object>(p, p); assertTrue(q.test("xyzzy")); for (int i = 0; i < 10; i++) { q.or(p); assertTrue(q.test("xyzzy")); } }
@Test public void testEquals() throws Exception { UnaryOr<Object> p = new UnaryOr<Object>(); assertEquals(p, p); UnaryOr<Object> q = new UnaryOr<Object>(); assertObjectsAreEqual(p, q); UnaryAnd<Object> r = new UnaryAnd<Object>(); assertObjectsAreNotEqual(p, r); for (int i = 0; i < 3; i++) { p.or(Constant.truePredicate()); assertObjectsAreNotEqual(p, q); q.or(Constant.truePredicate()); assertObjectsAreEqual(p, q); r.and(Constant.truePredicate()); assertObjectsAreNotEqual(p, r); p.or(new UnaryOr<Object>(Constant.truePredicate(), Constant.falsePredicate())); assertObjectsAreNotEqual(p, q); q.or(new UnaryOr<Object>(Constant.truePredicate(), Constant.falsePredicate())); assertObjectsAreEqual(p, q); r.and(new UnaryOr<Object>(Constant.truePredicate(), Constant.falsePredicate())); assertObjectsAreNotEqual(p, r); } assertObjectsAreNotEqual(p, Constant.truePredicate()); UnaryOr<Object> s = new UnaryOr<Object>(); s.or(Constant.truePredicate()); s.or(new UnaryOr<Object>(Constant.truePredicate(), Constant.falsePredicate())); assertObjectsAreEqual(s, new UnaryOr<Object>(s.getUnaryPredicateList())); }
@Test public void testTrue() throws Exception { assertTrue((new UnaryOr<Object>(Constant.TRUE)).test("xyzzy")); assertTrue((new UnaryOr<Object>(Constant.FALSE, Constant.TRUE)).test("xyzzy")); assertTrue((new UnaryOr<Object>(Constant.FALSE, Constant.FALSE, Constant.TRUE)).test("xyzzy")); UnaryOr<Object> p = new UnaryOr<Object>(Constant.TRUE); assertTrue(p.test("xyzzy")); for (int i = 0; i < 10; i++) { p.or(Constant.of(i % 2 == 0)); assertTrue(p.test("xyzzy")); } UnaryOr<Object> q = new UnaryOr<Object>(Constant.TRUE); assertTrue(q.test("xyzzy")); for (int i = 0; i < 10; i++) { q.or(Constant.of(i % 2 == 0)); assertTrue(q.test("xyzzy")); } UnaryOr<Object> r = new UnaryOr<Object>(p, q); assertTrue(r.test("xyzzy")); }