public void ValidateEntryLength_Passing()
 {
     using (ServiceMock mocks = new ServiceMock()) {
         mocks.MockConfigService(3);
         EntryValidation validator = new EntryValidation();
         Assert.IsTrue(validator.ValidateEntryLength("moo"));
     }
 }
 public void ValidateEntryNumericAndInMinMaxBounds_ValueJustRight()
 {
     using (ServiceMock mocks = new ServiceMock()) {
         mocks.MockConfigService(3, 4, 4);
         EntryValidation validator = new EntryValidation();
         Assert.IsTrue(validator.ValidateEntryNumericAndInMinMaxBounds("4"));
     }
 }
 public void ValidateEntryNumericAndInMinMaxBounds_AboveMaxValue()
 {
     using (ServiceMock mocks = new ServiceMock()) {
         mocks.MockConfigService(3, 4, 8);
         EntryValidation validator = new EntryValidation();
         Assert.IsFalse(validator.ValidateEntryNumericAndInMinMaxBounds("9"));
     }
 }
 public void ValidateEntryNumericAndInMinMaxBounds_NonNumeric()
 {
     using (ServiceMock mocks = new ServiceMock()) {
         mocks.MockConfigService(3, 1, 8);
         EntryValidation validator = new EntryValidation();
         Assert.IsFalse(validator.ValidateEntryNumericAndInMinMaxBounds("bacon is the best"));
     }
 }
 public void ValidateEntryLength_Failing()
 {
     using (ServiceMock mocks = new ServiceMock()) {
         mocks.MockConfigService(3);
         EntryValidation validator = new EntryValidation();
         Assert.IsFalse(validator.ValidateEntryLength("bacon"));
     }
 }
示例#6
0
        public void TestCodeLength()
        {
            using (ServiceMock mocks = new ServiceMock()) {
                int length = Faker.RandomNumber.Next(1, 9999);
                mocks.MockConfigService(length);

                InitializeGame sut  = new InitializeGame();
                SecretCode     code = sut.InitializeSecretCode();
                Assert.AreEqual(length, code.Values.Length);
            }
        }
示例#7
0
        public void RunClearsConsole_HappyPath()
        {
            using (ServiceMock mocks = new ServiceMock()) {
                mocks.MockConfigService(4, 1, 6);
                var consoleMock = new Mock <IConsoleManager> ();
                consoleMock.Setup(p => p.Clear()).Verifiable();
                consoleMock.Setup(p => p.ReadLine()).Returns("1234");
                mocks.MockService <IConsoleManager> (consoleMock.Object);

                Game game = new Game();
                game.Run(code);
                consoleMock.Verify(foo => foo.Clear());
                consoleMock.Verify(foo => foo.WriteLine(Constants.GamePlay.CODE_HINT));
                consoleMock.Verify(foo => foo.WriteLine(Constants.GamePlay.VICTORY_MESSAGE));
            }
        }
示例#8
0
        public void TestCodeBounds()
        {
            using (ServiceMock mocks = new ServiceMock()) {
                int min    = RandomNumber.Next(1, 900);
                int max    = min + RandomNumber.Next(9000, 999999);
                int length = 2000;
                mocks.MockConfigService(length, min, max);

                InitializeGame sut  = new InitializeGame();
                SecretCode     code = sut.InitializeSecretCode();
                for (int i = 0; i < length; i++)
                {
                    Assert.LessOrEqual(code.Values[i], max);
                    Assert.GreaterOrEqual(code.Values[i], min);
                }
            }
        }
示例#9
0
        public void RunClearsConsole_InputValidationHookedUp()
        {
            using (ServiceMock mocks = new ServiceMock()) {
                mocks.MockConfigService(4, 1, 6);
                var consoleMock = new Mock <IConsoleManager> ();
                consoleMock.Setup(p => p.Clear()).Verifiable();
                consoleMock.Setup(p => p.ReadLine()).Returns(new Queue <string> (new [] {
                    "Bacon",
                    "9999",
                    "1234"
                }).Dequeue);
                mocks.MockService <IConsoleManager> (consoleMock.Object);

                Game game = new Game();
                game.Run(code);
                consoleMock.Verify(foo => foo.Clear());
                consoleMock.Verify(foo => foo.WriteLine(Constants.GamePlay.CODE_HINT));
                consoleMock.Verify(foo => foo.WriteLine(Constants.GamePlay.PLAYER_ENTRY_WRONG_LENGTH));
                consoleMock.Verify(foo => foo.WriteLine(Constants.GamePlay.PLAYER_ENTRY_NOT_NUMERIC));
                consoleMock.Verify(foo => foo.WriteLine(Constants.GamePlay.VICTORY_MESSAGE));
            }
        }
示例#10
0
        public void RunClearsConsole_PoitionEntryHookedUp()
        {
            using (ServiceMock mocks = new ServiceMock()) {
                mocks.MockConfigService(4, 1, 6);
                var consoleMock = new Mock <IConsoleManager> ();
                consoleMock.Setup(p => p.Clear()).Verifiable();
                consoleMock.Setup(p => p.ReadLine()).Returns(new Queue <string> (new [] {
                    "1253",
                    "1355",
                    "1235",
                    "1234"
                }).Dequeue);
                mocks.MockService <IConsoleManager> (consoleMock.Object);

                Game game = new Game();
                game.Run(code);
                consoleMock.Verify(foo => foo.Clear());
                consoleMock.Verify(foo => foo.WriteLine(Constants.GamePlay.CODE_HINT));
                consoleMock.Verify(foo => foo.WriteLine("++-"));
                consoleMock.Verify(foo => foo.WriteLine("+-"));
                consoleMock.Verify(foo => foo.WriteLine("+++"));
                consoleMock.Verify(foo => foo.WriteLine(Constants.GamePlay.VICTORY_MESSAGE));
            }
        }
 private EntryPositionChecker Setup(ServiceMock mocks)
 {
     mocks.MockConfigService(4, 1, 4);
     return(new EntryPositionChecker());
 }