public void test_and() {
ObjLongPredicate<String> fn1 = (a, b) -> b > 3;
ObjLongPredicate<String> fn2 = (a, b) -> a.length() > 3;
ObjLongPredicate<String> and = fn1.and(fn2);
assertEquals(fn1.test("a", 2L), false);
assertEquals(fn1.test("a", 4L), true);
assertEquals(fn2.test("a", 4L), false);
assertEquals(fn2.test("abcd", 4L), true);
assertEquals(and.test("a", 2L), false);
assertEquals(and.test("a", 4L), false);
assertEquals(and.test("abcd", 2L), false);
assertEquals(and.test("abcd", 4L), true);
}