public virtual 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);
        }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test(expectedExceptions = NullPointerException.class) public void test_and_null()
        public virtual void test_and_null()
        {
            ObjDoublePredicate <string> fn1 = (a, b) => b > 3;

            fn1.and(null);
        }