示例#1
0
        public void TestHasGuessed()
        {
            PhraseBoard b = new PhraseBoard("h i");

            Assert.False(b.HasGuessed('h'));
            b.MakeGuess(500, 'h');
            Assert.True(b.HasGuessed('h'));
        }
示例#2
0
        public void TestMakeGuess()
        {
            PhraseBoard b = new PhraseBoard("h i");

            Assert.Equal(100, b.MakeGuess(100, 'h'));
            Assert.Equal(0, b.MakeGuess(100, 'a'));

            b = new PhraseBoard("a aaa a");
            Assert.Equal(0, b.MakeGuess(100, 'b'));
            Assert.Equal(500, b.MakeGuess(100, 'a'));
        }
示例#3
0
        public void TestGetBoardString(string phrase, char[] guesses, string expected)
        {
            var sut = new PhraseBoard(phrase);

            foreach (var guess in guesses)
            {
                sut.MakeGuess(100, guess);
            }
            string actual = sut.GetBoardString();

            Assert.Equal(expected, actual);
        }
        public void TestDisplayBoard()
        {
            PhraseBoard  b      = new PhraseBoard("ab");
            StringWriter writer = new StringWriter();

            Console.SetOut(writer);
            b.DisplayBoard();
            Assert.Equal("**\r\n", writer.ToString());

            b      = new PhraseBoard("a b'c-d");
            writer = new StringWriter();
            Console.SetOut(writer);
            b.DisplayBoard();
            Assert.Equal("* *'*-*\r\n", writer.ToString());
        }
示例#5
0
        public void TestIsGameOver()
        {
            PhraseBoard b = new PhraseBoard("h i");

            Assert.False(b.IsGameOver());
            b.MakeGuess(500, 'h');
            Assert.False(b.IsGameOver());
            b.MakeGuess(500, 'i');
            Assert.True(b.IsGameOver());

            b = new PhraseBoard("h i");
            Assert.False(b.IsGameOver());
            b.MakeGuess("h i");
            Assert.True(b.IsGameOver());

            b = new PhraseBoard("abc");
            Assert.False(b.IsGameOver());
            b.MakeGuess("abc");
            Assert.True(b.IsGameOver());
        }
示例#6
0
        public void UIGetSpinGuessLetter_Tests(string consoleInput, string phraseString, char[] guesses, char expected)
        {
            // Arrange
            var stringReader = new StringReader(Util.FormatConsoleInput(consoleInput));

            Console.SetIn(stringReader);
            var sut         = new GameUI();
            var phraseBoard = new PhraseBoard(phraseString);
            var player      = new Player("Player");

            foreach (char guess in guesses)
            {
                var points = phraseBoard.MakeGuess(1000, guess);
                player.AddCurrentScore(points);
            }

            // Act
            var actual = sut.GetSpinGuessLetter(phraseBoard, player);

            // Assert
            Assert.Equal(expected, actual);
        }