quoridor/src/test/java/cz/xelfi/quoridor/BoardCase.java
changeset 219 d836818f5554
parent 179 c5fbddc4c590
child 237 38db4aae19d9
     1.1 --- a/quoridor/src/test/java/cz/xelfi/quoridor/BoardCase.java	Thu Jan 07 22:51:17 2010 +0100
     1.2 +++ b/quoridor/src/test/java/cz/xelfi/quoridor/BoardCase.java	Sun Jan 17 14:36:03 2010 +0100
     1.3 @@ -29,6 +29,7 @@
     1.4  import cz.xelfi.quoridor.Player.Direction;
     1.5  import java.io.IOException;
     1.6  import java.io.StringReader;
     1.7 +import java.io.StringWriter;
     1.8  import java.util.List;
     1.9  import junit.framework.TestCase;
    1.10  
    1.11 @@ -500,6 +501,29 @@
    1.12          assertFalse(f4.equals(f5));
    1.13          assertFalse(f3.equals(f5));
    1.14      }
    1.15 +
    1.16 +    public void testBrokenWriteOfAGameDanVsJarda() throws Exception {
    1.17 +        Board b = board.apply(Move.NORTH).apply(Move.SOUTH).
    1.18 +            apply(Move.NORTH).apply(Move.SOUTH).
    1.19 +            apply(Move.NORTH).apply(Move.SOUTH).
    1.20 +            apply(Move.WEST).apply(Move.fence('C', 6, Orientation.HORIZONTAL)).
    1.21 +            apply(Move.EAST).apply(Move.SOUTH).
    1.22 +            apply(Move.fence('E', 2, Orientation.HORIZONTAL)).apply(Move.fence('E', 5, Orientation.HORIZONTAL)).
    1.23 +            apply(Move.fence('F', 3, Orientation.VERTICAL)).apply(Move.fence('D', 6, Orientation.VERTICAL)).
    1.24 +            apply(Move.jump(Direction.NORTH, Direction.EAST)).apply(Move.fence('F', 5, Orientation.VERTICAL)).
    1.25 +            apply(Move.fence('E', 1, Orientation.VERTICAL)).apply(Move.fence('E', 4, Orientation.VERTICAL)).
    1.26 +            apply(Move.fence('D', 8, Orientation.HORIZONTAL)).apply(Move.fence('D', 7, Orientation.HORIZONTAL)).
    1.27 +            apply(Move.fence('D', 4, Orientation.HORIZONTAL)).apply(Move.fence('E', 8, Orientation.VERTICAL)).
    1.28 +            apply(Move.fence('C', 3, Orientation.HORIZONTAL)).apply(Move.WEST).
    1.29 +            apply(Move.fence('D', 2, Orientation.VERTICAL)).apply(Move.fence('A', 4, Orientation.HORIZONTAL)).
    1.30 +            apply(Move.fence('B', 2, Orientation.HORIZONTAL)).apply(Move.WEST).
    1.31 +            apply(Move.SOUTH).apply(Move.SOUTH).
    1.32 +            apply(Move.SOUTH).apply(Move.WEST);
    1.33 +        Board m = move(b, 0, Direction.WEST);
    1.34 +        Board f = fence(m, 1, 'A', 1, Orientation.VERTICAL);
    1.35 +        Board l = fence(f, 0, 'A', 3, Orientation.VERTICAL);
    1.36 +    }
    1.37 +
    1.38      static Board picture2board(String text) throws IOException, IllegalPositionException {
    1.39          StringReader sr = new StringReader(text);
    1.40          return Board.read(sr);