X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fdatamodel%2Ffeatures%2FNCNodeTest.java;h=471308482a4652ed3b15b054e25e390bfc1e9359;hb=d8720fc191cba996c440171ef8e07462ef9f7035;hp=da0aa4e5f4171c7cfbc4fb71a0d7741b62423432;hpb=30355a6f53c842429f4ca2e31f60a7c5de167f1a;p=jalview.git diff --git a/test/jalview/datamodel/features/NCNodeTest.java b/test/jalview/datamodel/features/NCNodeTest.java index da0aa4e..4713084 100644 --- a/test/jalview/datamodel/features/NCNodeTest.java +++ b/test/jalview/datamodel/features/NCNodeTest.java @@ -1,11 +1,17 @@ package jalview.datamodel.features; 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 @@ -15,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); @@ -33,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); } @@ -45,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); } @@ -75,4 +81,56 @@ public class NCNodeTest assertTrue(entries.contains(r1)); assertTrue(entries.contains(r2)); } + + /** + * Tests for the contains method (uses entry.equals() test) + */ + @Test(groups = "Functional") + public void testContains() + { + SequenceFeature sf1 = new SequenceFeature("type", "desc", 1, 10, 2f, + "group"); + SequenceFeature sf2 = new SequenceFeature("type", "desc", 1, 10, 2f, + "group"); + SequenceFeature sf3 = new SequenceFeature("type", "desc", 1, 10, 2f, + "anothergroup"); + NCNode node = new NCNode(sf1); + + assertFalse(node.contains(null)); + assertTrue(node.contains(sf1)); + assertTrue(node.contains(sf2)); // sf1.equals(sf2) + 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 + } }