public void test_and() {
ObjDoublePredicate<String> fn1 = (a, b) -> b > 3;
ObjDoublePredicate<String> fn2 = (a, b) -> a.length() > 3;
ObjDoublePredicate<String> and = fn1.and(fn2);
assertEquals(fn1.test("a", 2.3d), false);
assertEquals(fn1.test("a", 3.2d), true);
assertEquals(fn2.test("a", 3.2d), false);
assertEquals(fn2.test("abcd", 3.2d), true);
assertEquals(and.test("a", 2.3d), false);
assertEquals(and.test("a", 3.2d), false);
assertEquals(and.test("abcd", 2.3d), false);
assertEquals(and.test("abcd", 3.2d), true);
}