public void Create_NullableShortNotEqual_Expression() { // arrange var value = new ObjectValueNode( new ObjectFieldNode("barShort_not", 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 = 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_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 void Create_NullableShortIn_Expression() { // arrange var value = new ObjectValueNode( new ObjectFieldNode("barShort_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 = 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)); }