public static IEnumerable <int> ToInts(string definition, NumberRangeOptions options) { var result = definition .Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries) .ParseIntPair() .YieldIntRange(); if (options.HasFlag(NumberRangeOptions.RemoveDuplicates)) { result = result.Distinct(); } if (options.HasFlag(NumberRangeOptions.OrderAscending)) { result = result.OrderBy(i => i); } else if (options.HasFlag(NumberRangeOptions.OrderDescending)) { result = result.OrderByDescending(i => i); } return(result); }
public void GetInts_GiveAValidValue_ShouldReturnTheExpectedSetOfInts(string definition, NumberRangeOptions options, params int[] expectedSet) { var actualSet = NumberRange.ToInts(definition, options); CheckActualIntSet(expectedSet, actualSet); }