@Test public void playGame() { Board b = new Board(false); b.toString(); // just need to know, that it works // wb // bw assertEquals("Black", b.getState(3, 4), STATE.BLACK); assertEquals("Black", b.getState(4, 3), STATE.BLACK); assertEquals("White", b.getState(3, 3), STATE.WHITE); assertEquals("White", b.getState(4, 4), STATE.WHITE); b.markNextMoves(); // mark available moves assertEquals("Black", b.getState(3, 4), STATE.BLACK); assertEquals("Black", b.getState(4, 3), STATE.BLACK); assertEquals("White", b.getState(3, 3), STATE.WHITE); assertEquals("White", b.getState(4, 4), STATE.WHITE); // new possible moves all Black of Course assertEquals("Selectable", b.getState(2, 3), STATE.SELECTABLE); assertEquals("Selectable", b.getState(4, 5), STATE.SELECTABLE); assertEquals("Selectable", b.getState(3, 2), STATE.SELECTABLE); assertEquals("Selectable", b.getState(5, 4), STATE.SELECTABLE); assertEquals(true, b.isNextPlayerBlack()); // make Illegal Move assertFalse(b.makeMove(1, 1)); // nothing has changed assertEquals("Black", b.getState(3, 4), STATE.BLACK); assertEquals("Black", b.getState(4, 3), STATE.BLACK); assertEquals("White", b.getState(3, 3), STATE.WHITE); assertEquals("White", b.getState(4, 4), STATE.WHITE); // new possible moves all Black of Course assertEquals("Selectable", b.getState(2, 3), STATE.SELECTABLE); assertEquals("Selectable", b.getState(4, 5), STATE.SELECTABLE); assertEquals("Selectable", b.getState(3, 2), STATE.SELECTABLE); assertEquals("Selectable", b.getState(5, 4), STATE.SELECTABLE); // make Legal Move assertTrue(b.makeMove(2, 3)); assertEquals(1, b.getWhiteStones()); assertEquals(4, b.getBlackStones()); assertEquals(false, b.isNextPlayerBlack()); // white has next move // nothing has changed assertEquals("Black", b.getState(2, 3), STATE.BLACK); // move we made assertEquals("Black", b.getState(3, 4), STATE.BLACK); assertEquals("Black", b.getState(4, 3), STATE.BLACK); assertEquals("White", b.getState(3, 3), STATE.BLACK); assertEquals("White", b.getState(4, 4), STATE.WHITE); b.markNextMoves(); b.toString(); // just need to know, that it works // try this move again assertFalse(b.makeMove(2, 3)); }
@Test public void playGameNoChecks() { Board b = new Board(true); // wb // bw assertEquals("Black", b.getState(3, 4), STATE.BLACK); assertEquals("Black", b.getState(4, 3), STATE.BLACK); assertEquals("White", b.getState(3, 3), STATE.WHITE); assertEquals("White", b.getState(4, 4), STATE.WHITE); assertTrue(b.markNextMoves()); // mark available moves assertTrue(b.markNextMoves()); // mark available moves, must work twice assertEquals("Black", b.getState(3, 4), STATE.BLACK); assertEquals("Black", b.getState(4, 3), STATE.BLACK); assertEquals("White", b.getState(3, 3), STATE.WHITE); assertEquals("White", b.getState(4, 4), STATE.WHITE); // new possible moves all Black of Course assertEquals("Selectable", b.getState(2, 3), STATE.SELECTABLE); assertEquals("Selectable", b.getState(4, 5), STATE.SELECTABLE); assertEquals("Selectable", b.getState(3, 2), STATE.SELECTABLE); assertEquals("Selectable", b.getState(5, 4), STATE.SELECTABLE); assertEquals(true, b.isNextPlayerBlack()); // make Illegal Move and expect an Exception assertFalse(b.makeMove(1, 1)); // nothing has changed assertEquals("Black", b.getState(3, 4), STATE.BLACK); assertEquals("Black", b.getState(4, 3), STATE.BLACK); assertEquals("White", b.getState(3, 3), STATE.WHITE); assertEquals("White", b.getState(4, 4), STATE.WHITE); // new possible moves all Black of Course assertEquals("Selectable", b.getState(2, 3), STATE.SELECTABLE); assertEquals("Selectable", b.getState(4, 5), STATE.SELECTABLE); assertEquals("Selectable", b.getState(3, 2), STATE.SELECTABLE); assertEquals("Selectable", b.getState(5, 4), STATE.SELECTABLE); // make Legal Move assertTrue(b.makeMove(2, 3)); // nothing has changed assertEquals("Black", b.getState(2, 3), STATE.BLACK); assertEquals("Black", b.getState(3, 4), STATE.BLACK); assertEquals("Black", b.getState(4, 3), STATE.BLACK); assertEquals("White", b.getState(3, 3), STATE.BLACK); assertEquals("White", b.getState(4, 4), STATE.WHITE); b.markNextMoves(); // mark available moves // all marked fields have to be playable for (int i = 0; i < 8; i++) { for (int j = 0; j < 8; j++) { if (b.getBoolboard()[i * 8 + j] == STATE.SELECTABLE) { assertTrue(i + "/" + j + " is not legal but was marked as legal", b.isLegalMove(i, j)); } } } // try this move again, should fail assertFalse(b.makeMove(2, 3)); }