public void TestConditionalIndex()
        {
            var settings = FizzBuzzSettings.Default;

            settings.End = 200;
            var actual = new FizzBuzzWhile(settings, (lastIndex, lastValue) => lastIndex <= 100).ToArray();

            TestFizzBuzzSequence(actual);
        }
        public void TestConditionalValueWithManyKvp()
        {
            var kvp = new[]
            {
                new KeyValuePair <long, string>(3, "fizz"),
                new KeyValuePair <long, string>(5, "buzz"),
                new KeyValuePair <long, string>(7, "foo"),
                new KeyValuePair <long, string>(11, "bar")
            };

            // note, doubling 'End' to test condition
            var settings = new FizzBuzzSettings {
                Start = 1, End = 3 * 5 * 7 * 11 * 2, Pairs = kvp
            };
            var actual = new FizzBuzzWhile(settings, (lastIndex, lastValue) => lastValue != "fizzbuzzfoobar").ToArray();

            TestFizzBuzzFooBarSequence(actual, settings);
        }