Ejemplo n.º 1
0
        public void CanCreateValidSetOfNonSequentialIntegerParameters()
        {
            var setOfIntegersParameter = new FizzBuzzParameter()
            {
                Range = new List <int> {
                    3, 2, 5, 1, 4
                }
            };

            Assert.IsType <FizzBuzzParameter>(setOfIntegersParameter);
            Assert.NotEmpty(setOfIntegersParameter.Range);
        }
Ejemplo n.º 2
0
        /// <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);
            }
        }
Ejemplo n.º 3
0
        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);
        }