Esempio n. 1
0
        public void PlayingGame_Always_Prints100Strings()
        {
            // Arrange
            var printerMock = Substitute.For <IResultPrinter>();
            var game        = new FizzBuzzGame(printerMock);

            // Act
            game.PlayTheGame();

            // Assert
            printerMock.Received(100).Print(Arg.Any <string>());
        }
Esempio n. 2
0
        public void PlayingGame_ForMultiplesOfBothThreeAndFive_ReturnsFizzBuzz(int index, string expected)
        {
            // Arrange
            var printerMock = new ResultPrinterMock();
            var game        = new FizzBuzzGame(printerMock);

            // Act
            game.PlayTheGame();

            // Assert
            var actual = printerMock.GetMessageWithIndex(index);

            Assert.AreEqual(expected, actual);
        }
Esempio n. 3
0
        public void PlayingGame_AsTheFirstString_Returns1()
        {
            // Arrange
            var printerMock = new ResultPrinterMock();
            var game        = new FizzBuzzGame(printerMock);

            // Act
            game.PlayTheGame();

            // Assert
            var firstResult = printerMock.GetMessageWithIndex(1);

            Assert.AreEqual("1", firstResult);
        }
Esempio n. 4
0
        public void PlayingGame_Allways_ReturnsNumberOrFizzOrBuzzOrFizzBuzz()
        {
            // Arrange
            var printerMock = Substitute.For <IResultPrinter>();
            var game        = new FizzBuzzGame(printerMock);

            // Act
            game.PlayTheGame();

            // Assert
            printerMock.DidNotReceive().Print(Arg.Is <String>(arg => !(
                                                                  AssertHelper.IsPositiveInteger(arg) ||
                                                                  AssertHelper.IsFizz(arg) ||
                                                                  AssertHelper.IsBuzz(arg) ||
                                                                  AssertHelper.IsFizzBuzz(arg))));
        }
Esempio n. 5
0
        public void PlayingGame_AllNumbers_AreNotMultiplesOfThreeOrFive()
        {
            // Arrange
            var printerMock = new ResultPrinterMock();
            var game        = new FizzBuzzGame(printerMock);

            // Act
            game.PlayTheGame();

            Assert.True(printerMock.AllPrintedMessages().All(s =>
            {
                if (!AssertHelper.IsPositiveInteger(s))
                {
                    return(true);
                }

                var intVal = Int32.Parse(s);
                return(intVal % 3 != 0 && intVal % 5 != 0);
            }));
        }