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); }
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); }
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); }
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); }
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); }