+
+ @Test(groups = "Functional")
+ public void testGetAverageFeatureLength()
+ {
+ FeatureStore fs = new FeatureStore();
+ assertEquals(fs.getAverageFeatureLength(), 0f);
+
+ addFeature(fs, 10, 20); // 11
+ assertEquals(fs.getAverageFeatureLength(), 11f);
+ addFeature(fs, 17, 37); // 21
+ addFeature(fs, 14, 74); // 61
+ assertEquals(fs.getAverageFeatureLength(), 31f);
+
+ // non-positional features don't count
+ SequenceFeature sf1 = new SequenceFeature("Cath", "desc", 0, 0, 1f,
+ "group1");
+ fs.addFeature(sf1);
+ assertEquals(fs.getAverageFeatureLength(), 31f);
+
+ // contact features count 1
+ SequenceFeature sf2 = new SequenceFeature("disulphide bond", "desc",
+ 15, 35, 1f, "group1");
+ fs.addFeature(sf2);
+ assertEquals(fs.getAverageFeatureLength(), 94f / 4f);
+ }