private IEnumerable<string> FizzBuzzResult(FizzBuzzAlgorithm algorithm) { var standardMatcher = new FizzBuzzStandardMatcher(); var variationMatcher = new FizzBuzzVariationMatcher(); for (int i = 1; i <= FizzBuzzResultCount; i++) { string result; if (algorithm == FizzBuzzAlgorithm.WithVariation && variationMatcher.Matches(i, out result)) { yield return result; continue; } if (standardMatcher.Matches(i, out result)) { yield return result; continue; } yield return i.ToString(); } }
public void FizzBuzzTest() { var customAlgorithm = new FizzBuzzAlgorithm(); customAlgorithm.Run(100); }
/// <summary> /// Returns Result as specified in the parameter algorithm. /// </summary> /// <param name="algorithm">Algoritm to use.</param> /// <returns> /// <see cref="IEnumerable{String}"></see> /// </returns> public IEnumerable<string> GetOutput(FizzBuzzAlgorithm algorithm) { return FizzBuzzResult(algorithm); }