/* * BioJava development code * * This code may be freely distributed and modified under the * terms of the GNU Lesser General Public Licence. This should * be distributed with the code. If you do not have a copy, * see: * * http://www.gnu.org/copyleft/lesser.html * * Copyright for this code is held jointly by the individual * authors. These should be listed in @author doc comments. * * For more information on the BioJava project and its aims, * or to join the biojava-l mailing list, visit the home page * at: * * http://www.biojava.org/ * */ package org.biojava.bio.symbol; import junit.framework.TestCase; /** * RangeLocationTest tests the behaviour of * RangeLocation by itself and combined with * LocationTools. * * @author Keith James * @since 1.2 */ public class RangeLocationTest extends TestCase { protected Location r1; protected Location r2; protected Location r3; protected Location r4; protected Location r5; protected Location r6; public RangeLocationTest(String name) { super(name); } /** * Runs the unit tests defined here. */ public static void main(String args[]) { junit.textui.TestRunner.run(RangeLocationTest.class); } protected void setUp() throws Exception { r1 = new RangeLocation(1, 100); r2 = new RangeLocation(90, 190); r3 = new RangeLocation(200, 300); r4 = new RangeLocation(210, 290); r5 = new RangeLocation(200, 209); r6 = new RangeLocation(210, 300); } /** * testEquals tests equality directly. * */ public void testEquals() { assertEquals(r1, r1); assertEquals(r1, new RangeLocation(1, 100)); } /** * testAreEqual tests equality via * LocationTools. * */ public void testAreEqual() { assertTrue(LocationTools.areEqual(r1, r1)); assertTrue(LocationTools.areEqual(r1, new RangeLocation(1, 100))); } /** * testOverlaps tests overlaps via * LocationTools. * */ public void testOverlaps() { assertTrue(LocationTools.overlaps(r1, r1)); assertTrue(LocationTools.overlaps(r2, r2)); assertTrue(LocationTools.overlaps(r1, r2)); assertTrue(LocationTools.overlaps(r2, r1)); assertTrue(! LocationTools.overlaps(r1, r3)); } /** * testContains tests contains via * LocationTools. * */ public void testContains() { assertTrue(LocationTools.contains(r3, r4)); assertTrue(! LocationTools.contains(r4, r3)); assertTrue(r1.contains(1)); assertTrue(r1.contains(100)); assertTrue(! r1.contains(101)); } /** * testIntersection tests intersection via * LocationTools. * */ public void testIntersection() { assertEquals(LocationTools.intersection(r1, r2), LocationTools.intersection(r2, r1)); assertEquals(LocationTools.intersection(r1, r3), Location.empty); assertEquals(LocationTools.intersection(r3, r1), Location.empty); } /** * testUnion tests union via * LocationTools. * */ public void testUnion() { assertEquals(r1, LocationTools.union(r1, r1)); assertEquals(LocationTools.union(r1, r2), LocationTools.union(r2, r1)); assertEquals(r3, LocationTools.union(r5,r6)); } /** * testIsContiguous tests contiguous. * */ public void testIsContiguous() { assertTrue(r1.isContiguous()); } }