public void Create_ObjectNullableShortEqual_Expression()
        {
            // arrange
            IValueNode?value = Utf8GraphQLParser.Syntax.ParseValueLiteral(
                "{ foo: { barShort: { eq: 12 }}}");
            ExecutorBuilder?tester = CreateProviderTester(new BarNullableFilterInput());

            // act
            Func <BarNullable, bool>?func = tester.Build <BarNullable>(value);

            // assert
            var a = new BarNullable {
                Foo = new FooNullable {
                    BarShort = 12
                }
            };

            Assert.True(func(a));

            var b = new BarNullable {
                Foo = new FooNullable {
                    BarShort = 13
                }
            };

            Assert.False(func(b));

            var c = new BarNullable {
                Foo = new FooNullable {
                    BarShort = null
                }
            };

            Assert.False(func(c));
        }
        public void Create_ObjectNullableEnumIn_Expression()
        {
            // arrange
            IValueNode?value = Utf8GraphQLParser.Syntax.ParseValueLiteral(
                "{ foo: { barEnum: { in: [BAZ, QUX] }}}");
            ExecutorBuilder?tester = CreateProviderTester(new BarNullableFilterInput());

            // act
            Func <BarNullable, bool>?func = tester.Build <BarNullable>(value);

            // assert
            var a = new BarNullable {
                Foo = new FooNullable {
                    BarEnum = BarEnum.BAZ
                }
            };

            Assert.True(func(a));

            var b = new BarNullable {
                Foo = new FooNullable {
                    BarEnum = BarEnum.BAR
                }
            };

            Assert.False(func(b));

            var c = new BarNullable {
                Foo = new FooNullable {
                    BarEnum = null
                }
            };

            Assert.False(func(c));
        }