{
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);
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);
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")
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);
}
}