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); } }
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); } }
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)); }
public static bool IsEqualTo <T>(this T first, T second) where T : struct, IComparable { return(ComparablePredicates.IsEqualTo(first, second)); }
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)); }
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)); }
public static bool IsGreaterThan <T>(this T first, T second) where T : struct, IComparable { return(ComparablePredicates.IsGreaterThan(first, second)); }