quoridor/src/test/java/cz/xelfi/quoridor/SerializeCodeTest.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Thu, 07 Jan 2010 23:08:06 +0100
branchstatistics-and-elo
changeset 181 e3fb438103e0
child 264 d60370059c3c
permissions -rw-r--r--
Test to verify behaviour of getCode and valueOf
     1 /*
     2  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
     3  *
     4  * The contents of this file are subject to the terms of either the GNU
     5  * General Public License Version 2 only ("GPL") or the Common
     6  * Development and Distribution License("CDDL") (collectively, the
     7  * "License"). You may not use this file except in compliance with the
     8  * License. You can obtain a copy of the License at
     9  * http://www.netbeans.org/cddl-gplv2.html
    10  * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
    11  * specific language governing permissions and limitations under the
    12  * License.  When distributing the software, include this License Header
    13  * Notice in each file and include the License file at
    14  * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
    15  * particular file as subject to the "Classpath" exception as provided
    16  * by Sun in the GPL Version 2 section of the License file that
    17  * accompanied this code. If applicable, add the following below the
    18  * License Header, with the fields enclosed by brackets [] replaced by
    19  * your own identifying information:
    20  * "Portions Copyrighted [year] [name of copyright owner]"
    21  *
    22  * Contributor(s):
    23  *
    24  * Portions Copyrighted 2009 Jaroslav Tulach
    25  */
    26 package cz.xelfi.quoridor;
    27 
    28 import cz.xelfi.quoridor.Player.Direction;
    29 import java.io.IOException;
    30 
    31 /** Basic tests in simple configuration.
    32  *
    33  * @author Jaroslav Tulach
    34  */
    35 public class SerializeCodeTest extends BoardCase {
    36     public SerializeCodeTest (String testName) {
    37         super (testName);
    38     }
    39 
    40     @Override
    41     protected Board move(Board b, int player, Direction... where) throws IllegalPositionException {
    42         try {
    43             Board read = reread(b);
    44             return read.move(read.getPlayers().get(player), where);
    45         } catch (IOException ex) {
    46             throw new IllegalStateException(ex);
    47         }
    48     }
    49     protected Board fence(Board b, int player, char x, int y, Fence.Orientation orie)
    50     throws IllegalPositionException {
    51         try {
    52             Board read = reread(b);
    53             return read.fence(read.getPlayers().get(player), x, y, orie);
    54         } catch (IOException ex) {
    55             throw new IllegalStateException(ex);
    56         }
    57     }
    58 
    59     @Override
    60     protected Board apply(Board b, Move move) throws IllegalPositionException {
    61         try {
    62             Board read = reread(b);
    63             return read.apply(move);
    64         } catch (IOException ex) {
    65             throw new IllegalStateException(ex);
    66         }
    67     }
    68 
    69     private Board reread(Board b) throws IOException, IllegalPositionException {
    70         return Board.valueOf(b.getCode());
    71     }
    72 
    73 }