public static ValidateTarget <float?> IsNegative([ValidatedNotNull] this ValidateTarget <float?> target, float allowedError, Func <string> getErrorMessage = null) { bool isValidationFailed = true; float valueToCompare = 0; if (target.Value.HasValue) { var diff = Math.Abs(target.Value.Value - valueToCompare); if (diff <= allowedError || target.Value.Value >= valueToCompare) { isValidationFailed = false; } } if (isValidationFailed) { ExceptionFactory.ThrowException(target.Traits.OutOfRangeExceptionType, getErrorMessage != null ? getErrorMessage.Invoke() : ErrorMessageFactory.ShouldBeLessThan(target, valueToCompare)); } return(target); }
public static ValidateTarget <double> IsNegative([ValidatedNotNull] this ValidateTarget <double> target, double allowedError, Func <string> getErrorMessage = null) { double valueToCompare = 0; var diff = Math.Abs(target.Value - valueToCompare); if (diff <= allowedError || target.Value >= valueToCompare) { ExceptionFactory.ThrowException(target.Traits.OutOfRangeExceptionType, getErrorMessage != null ? getErrorMessage.Invoke() : ErrorMessageFactory.ShouldBeLessThan(target, valueToCompare)); } return(target); }
public static ValidateTarget <TValue?> IsNegative <TValue>([ValidatedNotNull] this ValidateTarget <TValue?> target, Func <string> getErrorMessage = null, IComparer <TValue> customComparer = null) where TValue : struct, IComparable <TValue> { TValue valueToCompare = default(TValue); IComparer <TValue> comparer = customComparer ?? Comparer <TValue> .Default; if (!target.Value.HasValue || comparer.Compare(target.Value.Value, valueToCompare) >= 0) { ExceptionFactory.ThrowException(target.Traits.OutOfRangeExceptionType, getErrorMessage != null ? getErrorMessage.Invoke() : ErrorMessageFactory.ShouldBeLessThan(target, valueToCompare)); } return(target); }
public static ValidateTarget <TValue?> IsLessThan <TValue>([ValidatedNotNull] this ValidateTarget <TValue?> target, object valueToCompare, Func <string> getErrorMessage = null, System.Collections.IComparer customComparer = null) where TValue : struct, IComparable { if (target.Value.HasValue) { System.Collections.IComparer comparer = customComparer ?? Comparer <TValue> .Default; if (comparer.Compare(target.Value.Value, valueToCompare) >= 0) { ExceptionFactory.ThrowException(target.Traits.OutOfRangeExceptionType, getErrorMessage != null ? getErrorMessage.Invoke() : ErrorMessageFactory.ShouldBeLessThan(target, valueToCompare)); } } return(target); }