GameBaseTest created
parent
1d806f85a3
commit
6f15430fed
|
|
@ -0,0 +1,91 @@
|
||||||
|
import org.junit.jupiter.api.*;
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
class HitoriGameBaseTest {
|
||||||
|
private domain.GameBase game;
|
||||||
|
private static final int[][] TEST_BOARD = {
|
||||||
|
{1, 2, 1, 3},
|
||||||
|
{3, 1, 2, 1},
|
||||||
|
{2, 3, 3, 2},
|
||||||
|
{1, 2, 1, 3}
|
||||||
|
};
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void setUp() {
|
||||||
|
game = new domain.GameBase(TEST_BOARD);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testInitialization() {
|
||||||
|
assertNotNull(game);
|
||||||
|
assertArrayEquals(TEST_BOARD, game.getBoard());
|
||||||
|
assertEquals(0, game.getMistakeCount());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testReset() {
|
||||||
|
// Directly set some cells (since we can't use markCell methods in base class)
|
||||||
|
game.blackCells[0][0] = true;
|
||||||
|
game.whiteCells[1][1] = true;
|
||||||
|
|
||||||
|
// Reset game
|
||||||
|
game.reset();
|
||||||
|
|
||||||
|
// Verify all cells are reset
|
||||||
|
boolean[][] blackCells = game.getBlackCells();
|
||||||
|
boolean[][] whiteCells = game.getWhiteCells();
|
||||||
|
|
||||||
|
for (int i = 0; i < TEST_BOARD.length; i++) {
|
||||||
|
for (int j = 0; j < TEST_BOARD[0].length; j++) {
|
||||||
|
assertFalse(blackCells[i][j], "Black cell at [" + i + "][" + j + "] should be false");
|
||||||
|
assertFalse(whiteCells[i][j], "White cell at [" + i + "][" + j + "] should be false");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
assertEquals(0, game.getMistakeCount());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testGetBoard() {
|
||||||
|
int[][] board = game.getBoard();
|
||||||
|
assertArrayEquals(TEST_BOARD, board);
|
||||||
|
|
||||||
|
// Test deep copy - modifying returned board should not affect original
|
||||||
|
board[0][0] = 999;
|
||||||
|
assertNotEquals(999, game.getBoard()[0][0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testGetCurrentState() {
|
||||||
|
int[][] currentState = game.getCurrentState();
|
||||||
|
assertArrayEquals(TEST_BOARD, currentState);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testGetBlackCells() {
|
||||||
|
boolean[][] blackCells = game.getBlackCells();
|
||||||
|
assertNotNull(blackCells);
|
||||||
|
assertEquals(TEST_BOARD.length, blackCells.length);
|
||||||
|
assertEquals(TEST_BOARD[0].length, blackCells[0].length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testGetWhiteCells() {
|
||||||
|
boolean[][] whiteCells = game.getWhiteCells();
|
||||||
|
assertNotNull(whiteCells);
|
||||||
|
assertEquals(TEST_BOARD.length, whiteCells.length);
|
||||||
|
assertEquals(TEST_BOARD[0].length, whiteCells[0].length);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testGetMistakeCount() {
|
||||||
|
assertEquals(0, game.getMistakeCount());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testBoardDimensions() {
|
||||||
|
int[][] board = game.getBoard();
|
||||||
|
assertEquals(TEST_BOARD.length, board.length);
|
||||||
|
assertEquals(TEST_BOARD[0].length, board[0].length);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue