示例#1
0
        public async Task GivenStartNumber1AndLimitNumber10_WhenGetFizzBuzzResult_ReturnExpectedResults()
        {
            // Arrange
            var fizzBuzzService = new FizzBuzzService(new NullLogger <FizzBuzzService>());

            // Act
            var sut = await fizzBuzzService.GetFizzBuzzResult(1, 15);

            // Assert
            Assert.AreEqual(15, sut.FizzBuzzResults.Count);
            Assert.AreEqual("1", sut.FizzBuzzResults[0]);
            Assert.AreEqual("2", sut.FizzBuzzResults[1]);
            Assert.AreEqual("Fizz", sut.FizzBuzzResults[2]);
            Assert.AreEqual("4", sut.FizzBuzzResults[3]);
            Assert.AreEqual("Buzz", sut.FizzBuzzResults[4]);
            Assert.AreEqual("Fizz", sut.FizzBuzzResults[5]);
            Assert.AreEqual("7", sut.FizzBuzzResults[6]);
            Assert.AreEqual("8", sut.FizzBuzzResults[7]);
            Assert.AreEqual("Fizz", sut.FizzBuzzResults[8]);
            Assert.AreEqual("Buzz", sut.FizzBuzzResults[9]);
            Assert.AreEqual("11", sut.FizzBuzzResults[10]);
            Assert.AreEqual("Fizz", sut.FizzBuzzResults[11]);
            Assert.AreEqual("13", sut.FizzBuzzResults[12]);
            Assert.AreEqual("14", sut.FizzBuzzResults[13]);
            Assert.AreEqual("FizzBuzz", sut.FizzBuzzResults[14]);
        }
示例#2
0
        public IActionResult Index(IFormCollection collection)
        {
            collection.TryGetValue("lengthBox", out Microsoft.Extensions.Primitives.StringValues lengthValue);
            collection.TryGetValue("fuzzBox", out Microsoft.Extensions.Primitives.StringValues fuzzValue);
            collection.TryGetValue("jazzBox", out Microsoft.Extensions.Primitives.StringValues jazzValue);
            collection.TryGetValue("backwardsBox", out Microsoft.Extensions.Primitives.StringValues backwardsValue);
            int length = 0;

            try
            {
                length = int.Parse(lengthValue.ToString());
            }
            catch (Exception e)
            {
                length = 100;
            }
            var fuzz      = !fuzzValue.ToString().Equals("false");
            var jazz      = !jazzValue.ToString().Equals("false");
            var backwards = !backwardsValue.ToString().Equals("false");

            var fizzBuzz = new FizzBuzzService(length, fuzz, jazz, backwards);

            var results = fizzBuzz.GetFizzBuzzResult();

            return(View("Index", new FormModel()
            {
                Length = length, Fuzz = fuzz, Jazz = jazz, Backwards = backwards, Results = results
            }));
        }
示例#3
0
 public IActionResult Calculate(FizzBuzzCriteriaViewModel model)
 {
     if (ModelState.IsValid == true)
     {
         var service = new FizzBuzzService();
         model.Result = service.GetFizzBuzzResult(model.InputNumber);
         return(View(model));
     }
     return(View(model));
 }
示例#4
0
        public async Task GivenStartNumberGreaterThanLimitNumber_WhenGetFizzBuzzResult_ReturnThrowException()
        {
            // Arrange
            var fizzBuzzService = new FizzBuzzService(new NullLogger <FizzBuzzService>());

            // Act
            var sut = await fizzBuzzService.GetFizzBuzzResult(20, 15);

            // Assert
            Assert.AreEqual(0, sut.FizzBuzzResults.Count);
        }
示例#5
0
        public void TestStandardFizzBuzz()
        {
            //Arrange
            int             Length   = 100;
            FizzBuzzService fizzBuzz = new FizzBuzzService(Length);

            //Act
            var results = fizzBuzz.GetFizzBuzzResult();

            //Assert
            Assert.AreEqual(ExpectedResults.ToString(), results.ToString());
        }
示例#6
0
        public void TestJazzFizzBuzz()
        {
            //Arrange
            int             Length   = 100;
            bool            Jazz     = true;
            FizzBuzzService fizzBuzz = new FizzBuzzService(Length, false, Jazz);

            //Act
            var results = fizzBuzz.GetFizzBuzzResult();

            //Assert
            Assert.AreEqual(ExpectedJazzResults.ToString(), results.ToString());
        }
示例#7
0
        public void TestBackwardsFizzBuzz()
        {
            //Arrange
            int  Length    = 100;
            bool Backwards = true;

            string[]        expected = ExpectedResults.Reverse().ToArray();
            FizzBuzzService fizzBuzz = new FizzBuzzService(Length, false, false, Backwards);

            //Act
            var results = fizzBuzz.GetFizzBuzzResult();

            //Assert
            Assert.AreEqual(expected.ToString(), results.ToString());
        }