public void Create_NullableBooleanNotEqual_Expression() { // arrange IValueNode?value = Utf8GraphQLParser.Syntax.ParseValueLiteral( "{ bar: { eq: false }}"); ExecutorBuilder?tester = CreateProviderTester(new FooNullableFilterType()); // act Func <FooNullable, bool>?func = tester.Build <FooNullable>(value); // assert var a = new FooNullable { Bar = false }; Assert.True(func(a)); var b = new FooNullable { Bar = true }; Assert.False(func(b)); var c = new FooNullable { Bar = null }; Assert.False(func(c)); }
public void Create_NullableShortNotEqual_Expression() { // arrange var value = new ObjectValueNode( new ObjectFieldNode("barShort_not", new IntValueNode(12))); var fooNullableType = CreateType(new FooNullableFilterType()); // act var filter = new QueryableFilterVisitor( fooNullableType, typeof(FooNullable), TypeConversion.Default); value.Accept(filter); Func <FooNullable, bool> func = filter.CreateFilter <FooNullable>().Compile(); // assert var a = new FooNullable { BarShort = 13 }; Assert.True(func(a)); var b = new FooNullable { BarShort = 12 }; Assert.False(func(b)); var c = new FooNullable { BarShort = null }; Assert.True(func(c)); }
public void Create_NullableEnumNotIn_Expression() { // arrange IValueNode?value = Utf8GraphQLParser.Syntax.ParseValueLiteral( "{ barEnum: { nin: [BAZ, QUX] }}"); ExecutorBuilder?tester = CreateProviderTester(new FooNullableFilterInput()); // act Func <FooNullable, bool>?func = tester.Build <FooNullable>(value); // assert var a = new FooNullable { BarEnum = FooEnum.BAR }; Assert.True(func(a)); var b = new FooNullable { BarEnum = FooEnum.BAZ }; Assert.False(func(b)); var c = new FooNullable { BarEnum = null }; Assert.True(func(c)); }
public void Create_NullableShortEqual_Expression() { // arrange var value = new ObjectValueNode( new ObjectFieldNode("barShort", new IntValueNode(12))); FooNullableFilterType fooNullableType = CreateType(new FooNullableFilterType()); // act var context = new QueryableFilterVisitorContext( fooNullableType, typeof(FooNullable), TypeConversion.Default, true); QueryableFilterVisitor.Default.Visit(value, context); Func <FooNullable, bool> func = context.CreateFilter <FooNullable>().Compile(); // assert var a = new FooNullable { BarShort = 12 }; Assert.True(func(a)); var b = new FooNullable { BarShort = 13 }; Assert.False(func(b)); var c = new FooNullable { BarShort = null }; Assert.False(func(c)); }
public void Create_NullableShortIn_Expression() { // arrange IValueNode?value = Utf8GraphQLParser.Syntax.ParseValueLiteral( "{ barShort: { in: [13, 14] }}"); ExecutorBuilder?tester = CreateProviderTester(new FooNullableFilterInput()); // act Func <FooNullable, bool>?func = tester.Build <FooNullable>(value); // assert var a = new FooNullable { BarShort = 13 }; Assert.True(func(a)); var b = new FooNullable { BarShort = 12 }; Assert.False(func(b)); var c = new FooNullable { BarShort = null }; Assert.False(func(c)); }
public void Create_NullableBooleanEqual_Expression() { // arrange var value = new ObjectValueNode( new ObjectFieldNode("bar", new BooleanValueNode(true))); FooNullableFilterType fooNullableType = CreateType(new FooNullableFilterType()); // act var filter = new QueryableFilterVisitorContext( fooNullableType, typeof(FooNullable), TypeConversion.Default, true); QueryableFilterVisitor.Default.Visit(value, filter); Func <FooNullable, bool> func = filter.CreateFilter <FooNullable>().Compile(); // assert var a = new FooNullable { Bar = true }; Assert.True(func(a)); var b = new FooNullable { Bar = false }; Assert.False(func(b)); var c = new FooNullable { Bar = null }; Assert.False(func(c)); }
public async Task Create_NullableBooleanNotEqual_Expression() { // arrange var value = new ObjectValueNode( new ObjectFieldNode("bar", new BooleanValueNode(false))); var fooNullableType = await CreateTypeAsync(new FooNullableFilterType()); // act var filter = new QueryableFilterVisitor( fooNullableType, typeof(FooNullable), TypeConversion.Default); value.Accept(filter); Func <FooNullable, bool> func = filter.CreateFilter <FooNullable>().Compile(); // assert var a = new FooNullable { Bar = false }; Assert.True(func(a)); var b = new FooNullable { Bar = true }; Assert.False(func(b)); var c = new FooNullable { Bar = null }; Assert.False(func(c)); }
public void Create_NullableShortNotIn_Expression() { // arrange var value = new ObjectValueNode( new ObjectFieldNode("barShort_not_in", new ListValueNode(new[] { new IntValueNode(13), new IntValueNode(14) } )) ); FooNullableFilterType fooNullableType = CreateType(new FooNullableFilterType()); // act var context = new QueryableFilterVisitorContext( fooNullableType, typeof(FooNullable), MockFilterConvention.Default.GetExpressionDefinition(), TypeConversion.Default, true); QueryableFilterVisitor.Default.Visit(value, context); Func <FooNullable, bool> func = context.CreateOrAssert <FooNullable>().Compile(); // assert var a = new FooNullable { BarShort = 12 }; Assert.True(func(a)); var b = new FooNullable { BarShort = 13 }; Assert.False(func(b)); var c = new FooNullable { BarShort = null }; Assert.True(func(c)); }
public void Create_NullableShortIn_Expression() { // arrange var value = new ObjectValueNode( new ObjectFieldNode("barShort_in", new ListValueNode(new[] { new IntValueNode(13), new IntValueNode(14) })) ); var fooNullableType = CreateType(new FooNullableFilterType()); // act var filter = new QueryableFilterVisitor( fooNullableType, typeof(FooNullable), TypeConversion.Default, true); filter.Visit(value, null); Func <FooNullable, bool> func = filter.CreateFilter <FooNullable>().Compile(); // assert var a = new FooNullable { BarShort = 13 }; Assert.True(func(a)); var b = new FooNullable { BarShort = 12 }; Assert.False(func(b)); var c = new FooNullable { BarShort = null }; Assert.False(func(c)); }