@Test
	public void bothPlayersPlaceButterflyAndContinueSeed5() throws HantoException
	{	
		HantoGameManager.clearInstance();
		HantoPlayer bluePlayer = new HantoPlayer();
		HantoPlayer redPlayer = new HantoPlayer();
		bluePlayer.RANDOM_SEED = 5;
		bluePlayer.startGame(HantoGameID.EPSILON_HANTO, HantoPlayerColor.BLUE, true);
		redPlayer.startGame(HantoGameID.EPSILON_HANTO, HantoPlayerColor.RED, false);
		HantoMoveRecord b = bluePlayer.makeMove(null);
		if (b.getFrom() != null){
			assertEquals(true, redPlayer.getManager().getCellManager().isALegalMove((HantoPiece) HantoPieceFactory.makeHantoPiece(b.getPiece(), HantoPlayerColor.BLUE), (HantoCell) b.getFrom(), (HantoCell) b.getTo()));
		}
		HantoMoveRecord r = redPlayer.makeMove(b);
		if (b.getFrom() != null){
			assertEquals(true, bluePlayer.getManager().getCellManager().isALegalMove((HantoPiece) HantoPieceFactory.makeHantoPiece(r.getPiece(), HantoPlayerColor.RED), (HantoCell) r.getFrom(), (HantoCell) r.getTo()));
		}
		b = bluePlayer.makeMove(r);
		if (b.getFrom() != null){
			assertEquals(true, redPlayer.getManager().getCellManager().isALegalMove((HantoPiece) HantoPieceFactory.makeHantoPiece(b.getPiece(), HantoPlayerColor.BLUE), (HantoCell) b.getFrom(), (HantoCell) b.getTo()));
		}
		r = redPlayer.makeMove(b);
		if (b.getFrom() != null){
			assertEquals(true, bluePlayer.getManager().getCellManager().isALegalMove((HantoPiece) HantoPieceFactory.makeHantoPiece(r.getPiece(), HantoPlayerColor.RED), (HantoCell) r.getFrom(), (HantoCell) r.getTo()));
		}
		b = bluePlayer.makeMove(r);
		if (b.getFrom() != null){
			assertEquals(true, redPlayer.getManager().getCellManager().isALegalMove((HantoPiece) HantoPieceFactory.makeHantoPiece(b.getPiece(), HantoPlayerColor.BLUE), (HantoCell) b.getFrom(), (HantoCell) b.getTo()));
		}
		r = redPlayer.makeMove(b);
		if (b.getFrom() != null){
			assertEquals(true, bluePlayer.getManager().getCellManager().isALegalMove((HantoPiece) HantoPieceFactory.makeHantoPiece(r.getPiece(), HantoPlayerColor.RED), (HantoCell) r.getFrom(), (HantoCell) r.getTo()));
		}
		b = bluePlayer.makeMove(r);
		if (b.getFrom() != null){
			assertEquals(true, redPlayer.getManager().getCellManager().isALegalMove((HantoPiece) HantoPieceFactory.makeHantoPiece(b.getPiece(), HantoPlayerColor.BLUE), (HantoCell) b.getFrom(), (HantoCell) b.getTo()));
		}
		r = redPlayer.makeMove(b);
		if (b.getFrom() != null){
			assertEquals(true, bluePlayer.getManager().getCellManager().isALegalMove((HantoPiece) HantoPieceFactory.makeHantoPiece(r.getPiece(), HantoPlayerColor.RED), (HantoCell) r.getFrom(), (HantoCell) r.getTo()));
		}
		b = bluePlayer.makeMove(r);
		if (b.getFrom() != null){
			assertEquals(true, redPlayer.getManager().getCellManager().isALegalMove((HantoPiece) HantoPieceFactory.makeHantoPiece(b.getPiece(), HantoPlayerColor.BLUE), (HantoCell) b.getFrom(), (HantoCell) b.getTo()));
		}
		
		HantoMoveRecord randMove = null;
		List<HantoCell> possCells = new ArrayList<HantoCell>();
		possCells.addAll(redPlayer.getManager().getCellManager().generatePossibleMoves());
		randMove = redPlayer.placeRandomPiece(possCells);
		assertNotNull(randMove);
		assertNotNull(redPlayer.getGame());
		assertNotNull(redPlayer.placeFailMoveCheck());
		assertNotNull(redPlayer.getColor());
		assertNotNull(redPlayer.getPlayer());
		
	}