X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fdatamodel%2Ffeatures%2FNCNodeTest.java;h=471308482a4652ed3b15b054e25e390bfc1e9359;hb=b08367336ea5d5c095b5d570e81c8f8a44fc73e2;hp=73f957e31159f720986c4019f2a852a26b0fb2f9;hpb=fdea751663ec46a587cfdf45bfae9ec667043efb;p=jalview.git diff --git a/test/jalview/datamodel/features/NCNodeTest.java b/test/jalview/datamodel/features/NCNodeTest.java index 73f957e..4713084 100644 --- a/test/jalview/datamodel/features/NCNodeTest.java +++ b/test/jalview/datamodel/features/NCNodeTest.java @@ -4,11 +4,14 @@ import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertTrue; +import jalview.datamodel.Range; import jalview.datamodel.SequenceFeature; import java.util.ArrayList; import java.util.List; +import junit.extensions.PA; + import org.testng.annotations.Test; public class NCNodeTest @@ -18,7 +21,7 @@ public class NCNodeTest { Range r1 = new Range(10, 20); NCNode node = new NCNode(r1); - assertEquals(node.getStart(), 10); + assertEquals(node.getBegin(), 10); Range r2 = new Range(10, 15); node.add(r2); @@ -36,7 +39,7 @@ public class NCNodeTest { Range r1 = new Range(10, 20); NCNode node = new NCNode(r1); - assertEquals(node.getStart(), 10); + assertEquals(node.getBegin(), 10); Range r2 = new Range(9, 15); node.add(r2); } @@ -48,7 +51,7 @@ public class NCNodeTest { Range r1 = new Range(10, 20); NCNode node = new NCNode(r1); - assertEquals(node.getStart(), 10); + assertEquals(node.getBegin(), 10); Range r2 = new Range(12, 21); node.add(r2); } @@ -99,4 +102,35 @@ public class NCNodeTest assertFalse(node.contains(sf3)); // !sf1.equals(sf3) } + /** + * Test method that checks for valid structure. Valid means that all + * subregions (if any) lie within the root range, and that all subregions have + * valid structure. + */ + @Test(groups = "Functional") + public void testIsValid() + { + Range r1 = new Range(10, 20); + Range r2 = new Range(14, 15); + Range r3 = new Range(16, 17); + NCNode node = new NCNode(r1); + node.add(r2); + node.add(r3); + + /* + * node has root range [10-20] and contains an + * NCList of [14-15, 16-17] + */ + assertTrue(node.isValid()); + PA.setValue(r1, "start", 15); + assertFalse(node.isValid()); // r2 not within r1 + PA.setValue(r1, "start", 10); + assertTrue(node.isValid()); + PA.setValue(r1, "end", 16); + assertFalse(node.isValid()); // r3 not within r1 + PA.setValue(r1, "end", 20); + assertTrue(node.isValid()); + PA.setValue(r3, "start", 12); + assertFalse(node.isValid()); // r3 should precede r2 + } }