Ejemplo n.º 1
0
        public void ToStringShould_ReturnExpectedString_WhenThereIsNoMinesInASize2Board()
        {
            const string expectedString = ". . \n" + ". . \n";
            var          board          = Board.CreateEmptyBoard(2);
            var          minesGenerator = new RandomMinesGenerator();

            minesGenerator.PlaceMines(0, board);
            HintGenerator.SetHints(board);
            Assert.Equal(expectedString, board.ToString());
        }
        public void PlaceMinesShould_CreateCorrectNumberOfMines(int number)
        {
            var board          = Board.CreateEmptyBoard(3);
            var minesGenerator = new RandomMinesGenerator();

            minesGenerator.PlaceMines(number, board);
            var mines = board.Squares.Where(item => item.IsMine);

            Assert.Equal(number, mines.Count());
        }
Ejemplo n.º 3
0
        public void ToStringShould_ReturnExpectedString_WhenThereIs1RevealedMineInASize1Board()
        {
            const string expectedHiddenString   = ". \n";
            const string expectedRevealedString = "* \n";
            var          board          = Board.CreateEmptyBoard(1);
            var          minesGenerator = new RandomMinesGenerator();

            minesGenerator.PlaceMines(1, board);
            HintGenerator.SetHints(board);
            Assert.Equal(expectedHiddenString, board.ToString());
            board.RevealAllSquares();
            Assert.Equal(expectedRevealedString, board.ToString());
        }
Ejemplo n.º 4
0
        public void SetHintsShould_setHintTo0_WhenThereIsOnly1MineSquare()
        {
            var mineGenerator = new RandomMinesGenerator();
            var board         = Board.CreateEmptyBoard(1);

            mineGenerator.PlaceMines(1, board);

            HintGenerator.SetHints(board);
            foreach (var item in board.Squares)
            {
                Assert.Equal(0, item.Hint);
            }
        }
Ejemplo n.º 5
0
        public void SetHintsShould_Set3HintsWithValue1_WhenThereIs1Mine_InASize2Board()
        {
            var board         = Board.CreateEmptyBoard(2);
            var mineGenerator = new RandomMinesGenerator();

            mineGenerator.PlaceMines(1, board);

            HintGenerator.SetHints(board);

            var squaresWithHintValueOne = board.Squares.Where(item => item.Hint == 1);

            Assert.Equal(3, squaresWithHintValueOne.Count());
        }