1 /*** 2 * Redistribution and use in source and binary forms, with or without 3 * modification, are permitted provided that the following conditions are 4 * met : 5 * 6 * . Redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer. 8 * 9 * . Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 13 * . The name of the author may not be used to endorse or promote products 14 * derived from this software without specific prior written permission. 15 * 16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 17 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 20 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 24 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 25 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26 * POSSIBILITY OF SUCH DAMAGE. 27 * 28 * $Id: VerticalTorusTest.java,v 1.7 2005/09/09 22:12:03 mat007 Exp $ 29 */ 30 31 package jtge.util.grid.torus; 32 33 import jtge.util.grid.Coordinate; 34 import junit.framework.TestCase; 35 36 /*** 37 * @author Jean-Laurent 38 * @version $Revision: 1.7 $ $Date: 2005/09/09 22:12:03 $ 39 */ 40 public class VerticalTorusTest extends TestCase 41 { 42 /*** 43 * Tested object. 44 */ 45 private VerticalTorus torus; 46 47 protected final void setUp() 48 { 49 torus = new VerticalTorus( 10 ); 50 } 51 52 public void testWithinRangeCoordinateTransformationIsInvariant() 53 { 54 final Coordinate coordinate = new Coordinate( 5, 5 ); 55 assertEquals( coordinate, torus.transform( coordinate ) ); 56 } 57 58 public void testWithinEdgeCoordinatesTransformationIsInvariant() 59 { 60 final Coordinate lower = new Coordinate( 0, 0 ); 61 assertEquals( lower, torus.transform( lower ) ); 62 final Coordinate higher = new Coordinate( 9, 9 ); 63 assertEquals( higher, torus.transform( higher ) ); 64 } 65 66 public void testWithinNegativeCoordinateTransformationMovesItIntoRange() 67 { 68 final Coordinate negative = new Coordinate( -1, -1 ); 69 assertEquals( new Coordinate( -1, 9 ), torus.transform( negative ) ); 70 } 71 72 public void testWithinOutOfBoundsCoordinateTransformationMovesItIntoRange() 73 { 74 final Coordinate outOfBounds = new Coordinate( 10, 10 ); 75 assertEquals( new Coordinate( 10, 0 ), torus.transform( outOfBounds ) ); 76 } 77 }