@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 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")); }