@Test public void testPutPieceAtOneByOneRectangle() { board.putPieceAtRectangle(new Position(3, 3), new Position(3, 3), Piece.WATER_PIECE); assertEquals(Piece.WATER_PIECE, board.getPieceAt(new Position(3, 3))); assertEquals(Piece.NULL_PIECE, board.getPieceAt(new Position(4, 3))); assertEquals(Piece.NULL_PIECE, board.getPieceAt(new Position(3, 4))); assertEquals(Piece.NULL_PIECE, board.getPieceAt(new Position(2, 3))); assertEquals(Piece.NULL_PIECE, board.getPieceAt(new Position(3, 2))); }
@Test public void testPutPieceAtTwoByTwoRectangle() { board.putPieceAtRectangle(new Position(4, 3), new Position(3, 5), Piece.WATER_PIECE); assertEquals(Piece.WATER_PIECE, board.getPieceAt(new Position(3, 3))); assertEquals(Piece.WATER_PIECE, board.getPieceAt(new Position(3, 4))); assertEquals(Piece.WATER_PIECE, board.getPieceAt(new Position(3, 5))); assertEquals(Piece.WATER_PIECE, board.getPieceAt(new Position(4, 3))); assertEquals(Piece.WATER_PIECE, board.getPieceAt(new Position(4, 4))); assertEquals(Piece.WATER_PIECE, board.getPieceAt(new Position(4, 5))); }
@Test public void testToString() throws StrategyException { assertEquals( "NNNNNN\n" + "NNNNNN\n" + "NNNNNN\n" + "NNNNNN\n" + "NNNNNN\n" + "NNNNNN\n", board.toString()); board.putPieceAt(new Position(0, 0), new Piece(PieceType.BOMB, PlayerColor.RED)); assertEquals( "NNNNNN\n" + "NNNNNN\n" + "NNNNNN\n" + "NNNNNN\n" + "NNNNNN\n" + "bNNNNN\n", board.toString()); board.putPieceAt(new Position(2, 2), new Piece(PieceType.BOMB, PlayerColor.RED)); assertEquals( "NNNNNN\n" + "NNNNNN\n" + "NNNNNN\n" + "NNbNNN\n" + "NNNNNN\n" + "bNNNNN\n", board.toString()); board.putPieceAtRectangle(new Position(1, 4), new Position(0, 5), Piece.WATER_PIECE); assertEquals( "NNNNNN\n" + "NNNNNN\n" + "NNNNNN\n" + "NNbNNN\n" + "NNNNWW\n" + "bNNNWW\n", board.toString()); }
@Test(expected = RuntimeException.class) public void testPutPieceAtRectangleVerticesOutOfOrder() { board.putPieceAtRectangle(new Position(0, 5), new Position(5, 0), Piece.WATER_PIECE); }
@Test(expected = ArrayIndexOutOfBoundsException.class) public void testPutPieceAtRectangleInvalidBottomRight() { board.putPieceAtRectangle(new Position(5, 0), new Position(-1, 6), Piece.WATER_PIECE); }
@Test(expected = ArrayIndexOutOfBoundsException.class) public void testPutPieceAtRectangleInvalidTopLeft() { board.putPieceAtRectangle(new Position(6, -1), new Position(0, 5), Piece.WATER_PIECE); }