public FizzBuzzResponse Get(int startIndex, int finishIndex)
        {
            var result = RunRules(startIndex, finishIndex);

            var response = new FizzBuzzResponse
            {
                Result  = result.TrimEnd(),
                Summary = _rules.ToDictionary(rule => rule.Name, rule => rule.TotalPasses)
            };

            return(response);
        }
예제 #2
0
        public void WhenUserInputIsPositiveIntegerFromOneToThousandAndWhenCurrentDayIsNotWednesDayFizzBuzzListShouldBeReturned()
        {
            //Arrange
            var descriptionList = new List <string> {
                "Fizz", "Buzz", "Fizz Buzz"
            };

            fizzBuzzDescriptionProvider.Stub(x => x.GetDescriptions(DayOfWeek.Monday, DayOfWeek.Wednesday)).IgnoreArguments().Return(descriptionList);

            var input = new FizzBuzzRequest()
            {
                UserInput = 5
            };

            SetUpDependencies();

            fizzBuzzProvider = new FizzBuzzProvider(divisibileCheckers, fizzBuzzDescriptionProvider);

            FizzBuzzResponse expectedResponse = new FizzBuzzResponse
            {
                FizzBuzzList = new List <FizzBuzz>
                {
                    new FizzBuzz {
                        Description = "1"
                    },
                    new FizzBuzz {
                        Description = "2"
                    },
                    new FizzBuzz {
                        Description = "Fizz"
                    },
                    new FizzBuzz {
                        Description = "4"
                    },
                    new FizzBuzz {
                        Description = "Buzz"
                    }
                }
            };

            //Act
            var result = fizzBuzzProvider.GetFizzBuzzList(input);

            //Assert
            Assert.AreEqual(expectedResponse.FizzBuzzList[0].Description, result.FizzBuzzList[0].Description);
        }