public void ValueTypeNotEqualCondition()
        {
            var equalCondition = new ValueTypeNotEqualCondition <int>();

            var expr1 = equalCondition.For <TestSource>(x => x.Id);

            Assert.IsNull(expr1);

            equalCondition.Value = new FilterValue <int?> {
                LeftValue = 1
            };
            var expr2 = equalCondition.For <TestSource>(x => x.Id);

            Assert.IsFalse(expr2.Compile()(new TestSource {
                Id = 1
            }));

            equalCondition.Value = new FilterValue <int?> {
                LeftValue = 2
            };
            var expr3 = equalCondition.For <TestSource>(x => x.Id);

            Assert.IsTrue(expr3.Compile()(new TestSource {
                Id = 1
            }));
        }
Exemplo n.º 2
0
 public static void NumericConditions <TProperty>(IDictionary <string, IValueTypeCondition <TProperty> > conditions) where TProperty : struct, IComparable, IComparable <TProperty>, IEquatable <TProperty>
 {
     conditions["none"]               = new ValueTypeNoneCondition <TProperty>("None");
     conditions["equal"]              = new ValueTypeEqualCondition <TProperty>("Equal");
     conditions["notequal"]           = new ValueTypeNotEqualCondition <TProperty>("NotEqual");
     conditions["between"]            = new BetweenCondition <TProperty>("Between");
     conditions["lessthan"]           = new LessThanCondition <TProperty>("LessThan");
     conditions["greaterthan"]        = new GreaterThanCondition <TProperty>("GreaterThan");
     conditions["lessthanorequal"]    = new LessThanOrEqualCondition <TProperty>("LessThanOrEqual");
     conditions["greaterthanorequal"] = new GreaterThanOrEqualCondition <TProperty>("GreaterThanOrEqual");
     conditions["isnull"]             = new ValueTypeIsNullCondition <TProperty>("IsNull");
     conditions["isnotnull"]          = new ValueTypeIsNotNullCondition <TProperty>("IsNotNull");
 }