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);
        }
示例#2
0
        public void GetInts_GiveAValidValue_ShouldReturnTheExpectedSetOfInts(string definition, NumberRangeOptions options, params int[] expectedSet)
        {
            var actualSet = NumberRange.ToInts(definition, options);

            CheckActualIntSet(expectedSet, actualSet);
        }