/// <summary> /// Throws <see cref="ArgumentException"/> if element count is not less than <paramref name="value"/> /// </summary> /// <exception cref="ArgumentException">Throws if element count is not less than <paramref name="value"/></exception> /// <exception cref="ArgValidationException">Throws if argument is <c>null</c></exception> public static Argument <TEnumerable> CountLessThan <TEnumerable>(this Argument <TEnumerable> arg, int value) where TEnumerable : IEnumerable { if (arg.ValidationIsDisabled()) { return(arg); } InvalidMethodArgumentThrower.IfArgumentIsNullForCount(arg); if (!arg.Value.CountLessThan(value)) { ValidationErrorExceptionThrower.ArgumentException(arg, $"Argument '{arg.Name}' must contains less than {value} elements. Current count elements: {arg.Value.Count()}"); } return(arg); }
/// <summary> /// Throws <see cref="ArgumentException"/> if element count is equals <paramref name="value"/> /// </summary> /// <exception cref="ArgumentException">Throws if element count is equals <paramref name="value"/></exception> /// <exception cref="ArgValidationException">Throws if argument is <c>null</c></exception> public static Argument <TEnumerable> CountNotEqual <TEnumerable>(this Argument <TEnumerable> arg, int value) where TEnumerable : IEnumerable { if (arg.ValidationIsDisabled()) { return(arg); } InvalidMethodArgumentThrower.IfArgumentIsNullForCount(arg); if (arg.Value.CountEquals(value)) { ValidationErrorExceptionThrower.ArgumentException(arg, $"Argument '{arg.Name}' not must contains {arg.Value.Count()} elements"); } return(arg); }