X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=test%2Fjalview%2Fdatamodel%2Ffeatures%2FNCNodeTest.java;h=ca227c5abd8f6790feb73192471c3fc5ec9e5481;hb=e957648a02a9e25795a92a4f39a5e3c1e7adb230;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..ca227c5 100644 --- a/test/jalview/datamodel/features/NCNodeTest.java +++ b/test/jalview/datamodel/features/NCNodeTest.java @@ -9,6 +9,8 @@ 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 +20,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 +38,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 +50,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 +101,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 + } }