Exemple #1
0
        public void RenderToString_DrawInitialBoardWithNumericHints_ExpectedStringForDrawingIsReturned()
        {
            var expectedRenderString =
                "   A B C D E F G H \n" +
                "  ┌─┬─┬─┬─┬─┬─┬─┬─┐\n" +
                " 0│ │ │ │ │ │ │ │ │\n" +
                "  ├─┼─┼─┼─┼─┼─┼─┼─┤\n" +
                " 1│ │ │ │ │ │ │ │ │\n" +
                "  ├─┼─┼─┼─┼─┼─┼─┼─┤\n" +
                " 2│ │ │ │3│ │ │ │ │\n" +
                "  ├─┼─┼─┼─┼─┼─┼─┼─┤\n" +
                " 3│ │ │3│█│░│ │ │ │\n" +
                "  ├─┼─┼─┼─┼─┼─┼─┼─┤\n" +
                " 4│ │ │ │░│█│3│ │ │\n" +
                "  ├─┼─┼─┼─┼─┼─┼─┼─┤\n" +
                " 5│ │ │ │ │3│ │ │ │\n" +
                "  ├─┼─┼─┼─┼─┼─┼─┼─┤\n" +
                " 6│ │ │ │ │ │ │ │ │\n" +
                "  ├─┼─┼─┼─┼─┼─┼─┼─┤\n" +
                " 7│ │ │ │ │ │ │ │ │\n" +
                "  └─┴─┴─┴─┴─┴─┴─┴─┘\n";

            var player    = Black;
            var gameBoard = new Board(8, 8);

            gameBoard.InitBoard();

            var hintBoard        = AiWithScoreTable.GetNumericHints(gameBoard, player);
            var actualDrawString = Graphics.RenderToString(gameBoard, hintBoard);

            Assert.AreEqual(expectedRenderString, actualDrawString);
        }
Exemple #2
0
        public void AiScoreCalc_TestSimpleBoardForCaptureScores_CaptureScoreIsAsExpected(char currentPlayer, int xPos, int yPos, int expectedScore)
        {
            var testPos = new Pos(xPos, yPos);

            var gameBoard = new Board(8, 8);

            gameBoard.InitBoard();

            var actualScore = AiWithScoreTable.AiScoreCalc(gameBoard, testPos, currentPlayer);

            Assert.AreEqual(expectedScore, actualScore);
        }
Exemple #3
0
        public void AiScoreTable_TryGetAiScoreTable_AiScoreTableReturnsExpectedTable()
        {
            var expectedScoreTable = new[]
            {
                5, 1, 3, 3, 3, 3, 1, 5,
                1, 0, 1, 1, 1, 1, 0, 1,
                3, 1, 2, 2, 2, 2, 1, 3,
                3, 1, 2, 2, 2, 2, 1, 3,
                3, 1, 2, 2, 2, 2, 1, 3,
                3, 1, 2, 2, 2, 2, 1, 3,
                1, 0, 1, 1, 1, 1, 0, 1,
                5, 1, 3, 3, 3, 3, 1, 5,
            };
            var gameBoard = CreateBoard();

            var actualScoreTable = AiWithScoreTable.AiScoreTable(gameBoard);

            Assert.AreEqual(expectedScoreTable, actualScoreTable);
        }
Exemple #4
0
        public void AiScoreCalc_TestBoardForAllSidesCaptureScores_CaptureScoreIsAsExpected(char currentPlayer, int xPos, int yPos, int expectedScore)
        {
            var testPos   = new Pos(xPos, yPos);
            var boardData = new[]
            {
                // A   B   C   D   E   F   G   H
                // 0   1   2   3   4   5   6   7
                ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 0
                ' ', ' ', B, B, B, B, B, ' ',           // 1
                ' ', ' ', B, W, W, W, B, ' ',           // 2
                ' ', ' ', B, W, ' ', W, B, ' ',         // 3
                ' ', ' ', B, W, W, W, B, ' ',           // 4
                ' ', ' ', B, B, B, B, B, ' ',           // 5
                ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 6
                ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 7
            };
            var gameBoard = CreateBoard(boardData);

            var actualScore = AiWithScoreTable.AiScoreCalc(gameBoard, testPos, currentPlayer);

            Assert.AreEqual(expectedScore, actualScore);
        }
Exemple #5
0
        public void AiEvalBoard_GetNumericHintBoard_ProperNumericHintBoardIsReturned()
        {
            var currenPlayer = Constants.Black;
            var gameBoard    = CreateBoard();

            var expectedHintData = new[]
            {
                // A   B   C   D   E   F   G   H
                // 0   1   2   3   4   5   6   7
                ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 0
                ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 1
                ' ', ' ', ' ', '3', ' ', ' ', ' ', ' ', // 2
                ' ', ' ', '3', ' ', ' ', ' ', ' ', ' ', // 3
                ' ', ' ', ' ', ' ', ' ', '3', ' ', ' ', // 4
                ' ', ' ', ' ', ' ', '3', ' ', ' ', ' ', // 5
                ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 6
                ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 7
            };
            var expectedHintBoard = CreateBoard(expectedHintData);

            var actualHintBoard = AiWithScoreTable.GetNumericHints(gameBoard, currenPlayer);

            Assert.AreEqual(expectedHintBoard, actualHintBoard);
        }