public void CanCreateValidSetOfNonSequentialIntegerParameters() { var setOfIntegersParameter = new FizzBuzzParameter() { Range = new List <int> { 3, 2, 5, 1, 4 } }; Assert.IsType <FizzBuzzParameter>(setOfIntegersParameter); Assert.NotEmpty(setOfIntegersParameter.Range); }
/// <summary> /// Executes the fizz buzz check against the arguments provided /// </summary> /// <param name="parameter"></param> public void Run(FizzBuzzParameter parameter) { foreach (int dividend in parameter.Range) { // Get the token message(s) for the dividend if any string token = dividend.FizzBuzzCheck(parameter.Rules); // If token is empty, get the number to print instead string outputMessage = !string.IsNullOrEmpty(token) ? token : dividend.ToString(); // Prints to the console Console.WriteLine(outputMessage); } }
public void SuperFizzBuzzWithSetOfNonSequentialIntegerParameters() { var parameterByRange = new FizzBuzzParameter(); parameterByRange.Range = new List <int> { 100, 30, 50, -77, 188, -12323, 1, 0, 3094 }; parameterByRange.Rules = new List <FizzBuzzRule> { new FizzBuzzRule { Divisor = 3, Token = "Fizz" }, new FizzBuzzRule { Divisor = 5, Token = "Buzz" }, new FizzBuzzRule { Divisor = 38, Token = "Bazz" } }; var superFizzBuzz = new FizzBuzz(); superFizzBuzz.Run(parameterByRange); }