1.1 --- a/webidor/src/test/java/cz/xelfi/quoridor/webidor/QuoridorTest.java Sat Aug 29 15:55:53 2009 +0200
1.2 +++ b/webidor/src/test/java/cz/xelfi/quoridor/webidor/QuoridorTest.java Sun Aug 30 14:37:47 2009 +0200
1.3 @@ -33,14 +33,12 @@
1.4 import cz.xelfi.quoridor.Board;
1.5 import cz.xelfi.quoridor.Move;
1.6 import cz.xelfi.quoridor.webidor.resources.Games;
1.7 -import cz.xelfi.quoridor.webidor.resources.Quoridor;
1.8 import java.io.File;
1.9 import java.io.FileReader;
1.10 import java.io.IOException;
1.11 import java.util.List;
1.12 import java.util.Map;
1.13 import javax.ws.rs.core.MediaType;
1.14 -import org.codehaus.jettison.json.JSONObject;
1.15 import org.junit.Test;
1.16 import static org.junit.Assert.*;
1.17
1.18 @@ -94,33 +92,33 @@
1.19
1.20 @Test public void testCreateAGame() throws Exception {
1.21 webResource = webResource.path("api");
1.22 - Game s = webResource.path("games").queryParam("white", "Jarda")
1.23 - .queryParam("black", "Jirka").post(Game.class);
1.24 + GameId s = webResource.path("games").queryParam("white", "Jarda")
1.25 + .queryParam("black", "Jirka").post(GameId.class);
1.26
1.27 String msg = webResource.path("games").get(String.class);
1.28 //List<Game> games = webResource.path("games").get(new GenericType<List<Game>>() {});
1.29
1.30 - GenericType<List<Game>> gType = new GenericType<List<Game>>() {};
1.31 + GenericType<List<GameId>> gType = new GenericType<List<GameId>>() {};
1.32
1.33 - List<Game> games = webResource.path("games").accept("application/json").get(gType);
1.34 + List<GameId> games = webResource.path("games").accept("application/json").get(gType);
1.35 assertEquals("One game", 1, games.size());
1.36 assertEquals("Same white", "Jarda", games.get(0).getWhite());
1.37 assertEquals("Same black", "Jirka", games.get(0).getBlack());
1.38
1.39 - Game s1 = webResource.path("games/" + s.getId()).queryParam("player", "Jarda").queryParam("move", "N").put(Game.class);
1.40 + GameId s1 = webResource.path("games/" + s.getId()).queryParam("player", "Jarda").queryParam("move", "N").put(GameId.class);
1.41 try {
1.42 - Game s2 = webResource.path("games/" + s.getId()).queryParam("player", "Jarda").queryParam("move", "N").put(Game.class);
1.43 + GameId s2 = webResource.path("games/" + s.getId()).queryParam("player", "Jarda").queryParam("move", "N").put(GameId.class);
1.44 fail("Not Jarda's turn, previous call shall fail");
1.45 } catch (UniformInterfaceException ex) {
1.46 // OK
1.47 }
1.48 try {
1.49 - Game s2 = webResource.path("games/" + s.getId()).queryParam("player", "Jirka").queryParam("move", "NONSENCE").put(Game.class);
1.50 + GameId s2 = webResource.path("games/" + s.getId()).queryParam("player", "Jirka").queryParam("move", "NONSENCE").put(GameId.class);
1.51 fail("Invalid move");
1.52 } catch (UniformInterfaceException ex) {
1.53 // OK
1.54 }
1.55 - Game s2 = webResource.path("games/" + s.getId()).queryParam("player", "Jirka").queryParam("move", "S").put(Game.class);
1.56 + GameId s2 = webResource.path("games/" + s.getId()).queryParam("player", "Jirka").queryParam("move", "S").put(GameId.class);
1.57 assertNotNull("Successful move", s2);
1.58
1.59 File game = new File(new File(dir, "games"), s2.getId());
1.60 @@ -144,22 +142,24 @@
1.61 Games read = new Games(new File(dir, "games"));
1.62 List<Game> readGames = read.getGames();
1.63 assertEquals("One game read", 1, readGames.size());
1.64 - Board board = read.getGames().get(0).getBoard();
1.65 + Board board = readGames.get(0).getBoard();
1.66 assertEquals(1, board.getPlayers().get(0).getRow());
1.67 assertEquals(7, board.getPlayers().get(1).getRow());
1.68 - assertEquals(Move.NORTH, read.getGames().get(0).getMoves().get(0));
1.69 - assertEquals(Move.SOUTH, read.getGames().get(0).getMoves().get(1));
1.70 + assertEquals(Move.NORTH, readGames.get(0).getMoves().get(0));
1.71 + assertEquals(Move.SOUTH, readGames.get(0).getMoves().get(1));
1.72
1.73 class GMap extends GenericType<Map<String,Object>>{}
1.74 - JSONObject map = webResource.path("games").path(s.getId()).accept(MediaType.APPLICATION_JSON).get(JSONObject.class);
1.75 - assertNotNull("Map really returned", map);
1.76 - String txtBoard = (String) map.get("board");
1.77 - assertNotNull("Contains its textual form", txtBoard);
1.78 - assertEquals("It is same as text of our game", board.toString(), txtBoard);
1.79 + String text = webResource.path("games").path(s.getId()).accept(MediaType.TEXT_PLAIN).get(String.class);
1.80 + if (text.indexOf("-----") == -1) {
1.81 + fail("Expecting board:\n" + text);
1.82 + }
1.83 + Game readGame = webResource.path("games").path(s.getId()).accept(MediaType.TEXT_XML).get(Game.class);
1.84 + assertNotNull("Game really returned", readGame);
1.85 + assertEquals("Same game as in text representation", readGame.getBoard(), Board.valueOf(text));
1.86 + assertEquals("It is same as text of our game", readGame.getBoard().toString(), text);
1.87
1.88 - Object og = map.getJSONObject("game");
1.89 - assertTrue("Instance of JSON: " + og, og instanceof JSONObject);
1.90 - JSONObject jg = (JSONObject)og;
1.91 + assertEquals(Move.NORTH, readGame.getMoves().get(0));
1.92 + assertEquals(Move.SOUTH, readGame.getMoves().get(1));
1.93 }
1.94
1.95 }