Пример #1
0
 public static void BeGreater <T>(Func <T> argumentFunc, T lowerLimit) where T : IComparable
 {
     if (ComparablePredicates.IsLessOrEqual(argumentFunc(), lowerLimit))
     {
         var argument = argumentFunc.GetParameter(p => p.IsLessOrEqual(lowerLimit));
         throw new ArgumentException($"The argument '{argument.Name}' must not be less than or equal to {lowerLimit}.", argument.Name);
     }
 }
Пример #2
0
 public static void BeLessOrEqual <T>(Func <T> argumentFunc, T upperLimit) where T : IComparable
 {
     if (ComparablePredicates.IsGreaterThan(argumentFunc(), upperLimit))
     {
         var argument = argumentFunc.GetParameter(p => ComparablePredicates.IsGreaterThan(p, upperLimit));
         throw new ArgumentException($"The argument '{argument.Name}' must not be greater than {upperLimit}.", argument.Name);
     }
 }
Пример #3
0
        public override bool Equals(object obj)
        {
            if (!(obj is ExpressionFilter <T> filter))
            {
                return(false);
            }

            return(Ranges.SetEquals(filter.Ranges) &&
                   SingleValues.SetEquals(filter.SingleValues) &&
                   ComparablePredicates.SetEquals(filter.ComparablePredicates) &&
                   LikePredicates.SetEquals(filter.LikePredicates) &&
                   this[VariableClauseTypes.Range].SetEquals(filter[VariableClauseTypes.Range]) &&
                   this[VariableClauseTypes.Value].SetEquals(filter[VariableClauseTypes.Value]) &&
                   this[VariableClauseTypes.Predicate].SetEquals(filter[VariableClauseTypes.Predicate]) &&
                   this[VariableClauseTypes.Is].SetEquals(filter[VariableClauseTypes.Is]) &&
                   Limits.Equals(filter.Limits));
        }
Пример #4
0
 public static bool IsEqualTo <T>(this T first, T second) where T : struct, IComparable
 {
     return(ComparablePredicates.IsEqualTo(first, second));
 }
Пример #5
0
        public static bool IsOutOfRange <T>(this T first, T lowerLimit, T upperLimit) where T : struct, IComparable
        {
            ArgumentMust.BeGreaterOrEqual(() => upperLimit, lowerLimit);

            return(ComparablePredicates.IsOutOfRange(first, lowerLimit, upperLimit));
        }
Пример #6
0
        public static bool IsInRangeExcluding <T>(this T first, T lowerLimit, T upperLimit) where T : struct, IComparable
        {
            ArgumentMust.BeGreater(() => upperLimit, lowerLimit);

            return(ComparablePredicates.IsInRangeExcluding(first, lowerLimit, upperLimit));
        }
Пример #7
0
 public static bool IsGreaterThan <T>(this T first, T second) where T : struct, IComparable
 {
     return(ComparablePredicates.IsGreaterThan(first, second));
 }