public static File createRandomSaveGame() { // start a server FreeColServer serv = startServer(false, true); // generate a random map Controller c = serv.getController(); assertNotNull(c); assertTrue(c instanceof PreGameController); PreGameController pgc = (PreGameController) c; try { pgc.startGame(); } catch (FreeColException e) { fail(e.getMessage()); } assertEquals(FreeColServer.GameState.IN_GAME, serv.getGameState()); assertNotNull(serv.getGame()); assertNotNull(serv.getGame().getMap()); // save the game as a file File file = new File(TEST_FILE); try { serv.saveGame(file, null); } catch (IOException e) { e.printStackTrace(); fail(e.toString()); } assertTrue(file.exists()); stopServer(); return file; }
public static void stopServer() { if (server != null) { Controller c = server.getController(); assertNotNull(c); c.shutdown(); server = null; } }
/** * Start a new server game, using a *copy* of a supplied map. * * @param map The <code>Map</code> to copy. * @param spec The <code>Specification</code> to use. * @return The new running server game. */ public static Game startServerGame(Map map, Specification spec) { stopServerGame(); FreeColServer serv = startServer(false, true, spec); serv.setMapGenerator(new MockMapGenerator(serv.getGame(), map)); PreGameController pgc = (PreGameController) serv.getController(); try { pgc.startGame(); } catch (FreeColException e) { fail("Failed to start game: " + e.getMessage()); } Game game = serv.getGame(); FreeColTestCase.setGame(game); if (game.getCurrentPlayer() == null) { game.setCurrentPlayer(game.getFirstPlayer()); } random = new Random(); return game; }