X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fdatamodel%2Ffeatures%2FFeatureStoreTest.java;h=6e30990ce704c47b86ade2ff077170a94ff6a7f9;hb=661f8bc80f969f31d7aeceb9af7d01374c8e1f35;hp=e4bf122d00d0f470789186ca5b8fffeda915c682;hpb=6a2fd9a13d79f316acdd4fcff066b8cfaaefa939;p=jalview.git diff --git a/test/jalview/datamodel/features/FeatureStoreTest.java b/test/jalview/datamodel/features/FeatureStoreTest.java index e4bf122..6e30990 100644 --- a/test/jalview/datamodel/features/FeatureStoreTest.java +++ b/test/jalview/datamodel/features/FeatureStoreTest.java @@ -478,6 +478,7 @@ public class FeatureStoreTest { FeatureStore fs = new FeatureStore(); assertTrue(fs.getFeatureGroups(true).isEmpty()); + assertTrue(fs.getFeatureGroups(false).isEmpty()); SequenceFeature sf1 = new SequenceFeature("Cath", "desc", 10, 20, 1f, "group1"); fs.addFeature(sf1); @@ -512,6 +513,7 @@ public class FeatureStoreTest assertTrue(groups.contains("group2")); assertTrue(groups.contains("Group2")); // case sensitive assertTrue(groups.contains(null)); // null allowed + assertTrue(fs.getFeatureGroups(false).isEmpty()); // non-positional fs.delete(sf3); groups = fs.getFeatureGroups(true); @@ -524,6 +526,18 @@ public class FeatureStoreTest fs.delete(sf5); groups = fs.getFeatureGroups(true); assertTrue(groups.isEmpty()); + + /* + * add non-positional feature + */ + SequenceFeature sf6 = new SequenceFeature("Cath", "desc", 0, 0, 1f, + "CathGroup"); + fs.addFeature(sf6); + groups = fs.getFeatureGroups(false); + assertEquals(groups.size(), 1); + assertTrue(groups.contains("CathGroup")); + assertTrue(fs.delete(sf6)); + assertTrue(fs.getFeatureGroups(false).isEmpty()); } @Test(groups = "Functional") @@ -535,19 +549,52 @@ public class FeatureStoreTest addFeature(fs, 10, 20); // 11 assertEquals(fs.getTotalFeatureLength(), 11); addFeature(fs, 17, 37); // 21 - addFeature(fs, 14, 74); // 61 + SequenceFeature sf1 = addFeature(fs, 14, 74); // 61 assertEquals(fs.getTotalFeatureLength(), 93); // non-positional features don't count - SequenceFeature sf1 = new SequenceFeature("Cath", "desc", 0, 0, 1f, + SequenceFeature sf2 = new SequenceFeature("Cath", "desc", 0, 0, 1f, "group1"); - fs.addFeature(sf1); + fs.addFeature(sf2); assertEquals(fs.getTotalFeatureLength(), 93); // contact features count 1 - SequenceFeature sf2 = new SequenceFeature("disulphide bond", "desc", + SequenceFeature sf3 = new SequenceFeature("disulphide bond", "desc", 15, 35, 1f, "group1"); - fs.addFeature(sf2); + fs.addFeature(sf3); assertEquals(fs.getTotalFeatureLength(), 94); + + assertTrue(fs.delete(sf1)); + assertEquals(fs.getTotalFeatureLength(), 33); + assertFalse(fs.delete(sf1)); + assertEquals(fs.getTotalFeatureLength(), 33); + assertTrue(fs.delete(sf2)); + assertEquals(fs.getTotalFeatureLength(), 33); + assertTrue(fs.delete(sf3)); + assertEquals(fs.getTotalFeatureLength(), 32); + } + + @Test(groups = "Functional") + public void testGetFeatureLength() + { + /* + * positional feature + */ + SequenceFeature sf1 = new SequenceFeature("Cath", "desc", 10, 20, 1f, "group1"); + assertEquals(FeatureStore.getFeatureLength(sf1), 11); + + /* + * non-positional feature + */ + SequenceFeature sf2 = new SequenceFeature("Cath", "desc", 0, 0, 1f, + "CathGroup"); + assertEquals(FeatureStore.getFeatureLength(sf2), 0); + + /* + * contact feature counts 1 + */ + SequenceFeature sf3 = new SequenceFeature("Disulphide Bond", "desc", + 14, 28, 1f, "AGroup"); + assertEquals(FeatureStore.getFeatureLength(sf3), 1); } }