@Test public void placeACrab() throws HantoException, HantoPrematureResignationException { assertEquals(OK, game.makeMove(CRAB, null, makeCoordinate(0, 0))); final HantoPiece hp = game.getPieceAt(makeCoordinate(0, 0)); assertEquals(BLUE, hp.getColor()); assertEquals(CRAB, hp.getType()); }
/** * Method testCheckAdjacentPieces. * * @throws HantoException */ @Test(expected = HantoException.class) public void testCheckAdjacentPieces() throws HantoException { beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 0)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 1)); assertTrue(beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 2)) == MoveResult.OK); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(3, 3)); }
/** * Method findPieceTest. * * @throws HantoException */ @Test public void findPieceTest() throws HantoException { assertTrue(beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 0)) == MoveResult.OK); assertTrue(beta.getPieceAt(new Coordinate(0, 0)).getColor().equals(HantoPlayerColor.BLUE)); assertTrue(beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 1)) == MoveResult.OK); assertTrue(beta.getPieceAt(new Coordinate(0, 1)).getColor().equals(HantoPlayerColor.RED)); }
/** * Method testBoard2. * * @throws HantoException */ @Test public void testBoard2() throws HantoException { beta.makeMove(HantoPieceType.BUTTERFLY, null, new Coordinate(0, 0)); beta.makeMove(HantoPieceType.BUTTERFLY, null, new Coordinate(1, -1)); assertTrue(beta.getPrintableBoard().contains("0,0 BLUE Butterfly\n")); assertTrue(beta.getPrintableBoard().contains("1,-1 RED Butterfly\n")); }
@Test public void bluePlacesButterflyFirst() throws HantoException, HantoPrematureResignationException { final MoveResult mr = game.makeMove(BUTTERFLY, null, makeCoordinate(0, 0)); assertEquals(OK, mr); final HantoPiece piece = game.getPieceAt(makeCoordinate(0, 0)); assertEquals(BLUE, piece.getColor()); assertEquals(BUTTERFLY, piece.getType()); }
/** * Method testButterflyPlacedByFourthMove. * * @throws HantoException */ @Test(expected = HantoException.class) public void testButterflyPlacedByFourthMove() throws HantoException { beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 0)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 1)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 2)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 3)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 4)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 5)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 6)); }
/** * Method testGameRedWins. * * @throws HantoException */ @Test public void testGameRedWins() throws HantoException { beta.makeMove(HantoPieceType.BUTTERFLY, null, new Coordinate(0, 0)); beta.makeMove(HantoPieceType.BUTTERFLY, null, new Coordinate(0, 1)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, -1)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(-1, 1)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(1, -1)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(1, 0)); assertTrue( beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(-1, 0)) == MoveResult.RED_WINS); }
@Test public void testRedStarts() throws HantoException { HantoGame game2 = HantoGameFactory.getInstance().makeHantoGame(HantoGameID.BETA_HANTO, HantoPlayerColor.RED); MoveResult result = game2.makeMove(HantoPieceType.SPARROW, null, new ConcreteHantoCoordinate(0, 0)); assertEquals(MoveResult.OK, result); result = game2.makeMove(HantoPieceType.SPARROW, null, new ConcreteHantoCoordinate(1, 0)); assertEquals(MoveResult.OK, result); }
/** * Method butterflyIsPlacedByFourthMoveOfPlayer2. * * @throws HantoException */ @Test public void butterflyIsPlacedByFourthMoveOfPlayer2() throws HantoException { beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 0)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 1)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 2)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 3)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 4)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 5)); beta.makeMove(HantoPieceType.BUTTERFLY, null, new Coordinate(0, 6)); beta.makeMove(HantoPieceType.BUTTERFLY, null, new Coordinate(0, 7)); }
@Test(expected = HantoException.class) public void attemptToMoveAfterGameIsOver() throws HantoException, HantoPrematureResignationException { final PieceLocationPair[] board = new PieceLocationPair[] { plPair(BLUE, BUTTERFLY, 0, 0), plPair(RED, BUTTERFLY, 0, 1), plPair(BLUE, SPARROW, -1, 0), plPair(RED, SPARROW, 1, -1), plPair(BLUE, SPARROW, -1, 1), plPair(RED, SPARROW, 0, -1), plPair(RED, CRAB, 1, 1) }; testGame.initializeBoard(board); testGame.setPlayerMoving(RED); game.makeMove(CRAB, makeCoordinate(1, 1), makeCoordinate(1, 0)); // RED wins game.makeMove(SPARROW, makeCoordinate(-1, 1), makeCoordinate(-1, 2)); }
@Test public void sparrowFliesMoreThanOneSpace() throws HantoException, HantoPrematureResignationException { final PieceLocationPair[] board = new PieceLocationPair[] { plPair(BLUE, BUTTERFLY, 0, 0), plPair(RED, BUTTERFLY, 0, 1), plPair(BLUE, SPARROW, -1, 0), plPair(RED, SPARROW, 1, -1), plPair(BLUE, SPARROW, -1, 1), plPair(RED, SPARROW, 0, -1), plPair(RED, SPARROW, 1, 1) }; testGame.initializeBoard(board); testGame.setTurnNumber(4); assertEquals(OK, game.makeMove(SPARROW, makeCoordinate(-1, 0), makeCoordinate(2, 1))); final HantoPiece hp = game.getPieceAt(makeCoordinate(2, 1)); assertEquals(BLUE, hp.getColor()); assertEquals(SPARROW, hp.getType()); }
@Test(expected = HantoException.class) public void sparrowFliesToInvalidLocation() throws HantoException, HantoPrematureResignationException { final PieceLocationPair[] board = new PieceLocationPair[] { plPair(BLUE, BUTTERFLY, 0, 0), plPair(RED, BUTTERFLY, 0, 1), plPair(BLUE, SPARROW, -1, 0), plPair(RED, SPARROW, 1, -1) }; testGame.initializeBoard(board); testGame.setTurnNumber(3); game.makeMove(SPARROW, makeCoordinate(-1, 0), makeCoordinate(0, 3)); }
@Test public void moveByFlying() throws HantoException, HantoPrematureResignationException { final PieceLocationPair[] board = new PieceLocationPair[] { plPair(BLUE, BUTTERFLY, 0, 0), plPair(RED, BUTTERFLY, 0, 1), plPair(BLUE, SPARROW, -1, 0), plPair(RED, SPARROW, 1, -1), plPair(BLUE, SPARROW, -1, 1), plPair(RED, SPARROW, 0, -1), plPair(RED, SPARROW, -2, 1) }; testGame.initializeBoard(board); testGame.setPlayerMoving(RED); testGame.setTurnNumber(4); assertEquals(RED_WINS, game.makeMove(SPARROW, makeCoordinate(-2, 1), makeCoordinate(1, 0))); }
@Test(expected = HantoException.class) public void crabWalksAndCreatesDisconnectedConfiguration() throws HantoException, HantoPrematureResignationException { final PieceLocationPair[] board = new PieceLocationPair[] { plPair(BLUE, BUTTERFLY, 0, 0), plPair(RED, BUTTERFLY, 0, 1), plPair(BLUE, SPARROW, -1, 0), plPair(RED, CRAB, 1, 0), plPair(BLUE, SPARROW, -2, 0), plPair(RED, SPARROW, 2, 0), plPair(BLUE, SPARROW, -3, 0) }; testGame.initializeBoard(board); testGame.setTurnNumber(4); testGame.setPlayerMoving(RED); game.makeMove(CRAB, makeCoordinate(1, 0), makeCoordinate(1, -1)); }
/** * Method testFullGameToDraw. * * @throws HantoException */ @Test public void testFullGameToDraw() throws HantoException { beta.makeMove(HantoPieceType.BUTTERFLY, null, new Coordinate(0, 0)); beta.makeMove(HantoPieceType.BUTTERFLY, null, new Coordinate(0, 1)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 2)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 3)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 4)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 5)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 6)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 7)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 8)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 9)); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 10)); assertTrue( beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 11)) == MoveResult.DRAW); }
@Test public void createDeltaHantoGame() throws HantoException { HantoGame game = HantoGameFactory.getInstance().makeHantoGame(HantoGameID.DELTA_HANTO); game.makeMove(HantoPieceType.BUTTERFLY, null, coord(0, 0)); }
/** * Method testMoveOntoAnotherPiece. * * @throws HantoException */ @Test(expected = HantoException.class) public void testMoveOntoAnotherPiece() throws HantoException { assertTrue(beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 0)) == MoveResult.OK); assertTrue(beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 1)) == MoveResult.OK); beta.makeMove(HantoPieceType.SPARROW, null, new Coordinate(0, 0)); }
@Test(expected = HantoPrematureResignationException.class) public void blueResignsImmediately() throws HantoException, HantoPrematureResignationException { // use the factory for coverage game = HantoGameFactory.getInstance().makeHantoGame(HantoGameID.DELTA_HANTO); assertEquals(RED_WINS, game.makeMove(null, null, null)); }
/** * Method testThatPlayerCannotPlaceMultipleButterflies. * * @throws HantoException */ @Test(expected = HantoException.class) public void testThatPlayerCannotPlaceMultipleButterflies() throws HantoException { beta.makeMove(HantoPieceType.BUTTERFLY, null, new Coordinate(0, 0)); beta.makeMove(HantoPieceType.BUTTERFLY, null, new Coordinate(0, 1)); beta.makeMove(HantoPieceType.BUTTERFLY, null, new Coordinate(0, 2)); }
@Test(expected = HantoException.class) public void attemptToUsePieceNotInGame() throws HantoException, HantoPrematureResignationException { game.makeMove(CRANE, null, makeCoordinate(0, 0)); }