public void TestRangeWithoutKvp() { var settings = new FizzBuzzSettings { Start = 1, End = 100 }; var actual = new FizzBuzz(settings).ToArray(); Assert.IsNotNull(actual); Assert.AreEqual(actual.Length, 100); for (var i = 0; i < actual.Length;) { Assert.AreEqual(actual[i], (++i).ToString(), $"Index {i-1} is '{actual[i-1]} should be {i}"); } }
public void TestRangeWithManyKvp() { 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") }; var settings = new FizzBuzzSettings { Start = 1, End = 3 * 5 * 7 * 11, Pairs = kvp }; var actual = new FizzBuzz(settings).ToArray(); TestFizzBuzzFooBarSequence(actual, settings); }
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); }