JAL-2480 test coverage / bug fixes / javadoc
[jalview.git] / test / jalview / datamodel / features / FeatureStoreTest.java
index b04f810..e4bf122 100644 (file)
@@ -365,16 +365,44 @@ public class FeatureStoreTest
             Float.NaN, null);
 
     assertTrue(fs.addFeature(sf1));
-    assertEquals(fs.size(true), 1); // positional
-    assertEquals(fs.size(false), 0); // non-positional
+    assertEquals(fs.getFeatureCount(true), 1); // positional
+    assertEquals(fs.getFeatureCount(false), 0); // non-positional
 
     /*
      * re-adding the same or an identical feature should fail
      */
     assertFalse(fs.addFeature(sf1));
-    assertEquals(fs.size(true), 1);
+    assertEquals(fs.getFeatureCount(true), 1);
     assertFalse(fs.addFeature(sf2));
-    assertEquals(fs.size(true), 1);
+    assertEquals(fs.getFeatureCount(true), 1);
+
+    /*
+     * add non-positional
+     */
+    SequenceFeature sf3 = new SequenceFeature("Cath", "", 0, 0, Float.NaN,
+            null);
+    assertTrue(fs.addFeature(sf3));
+    assertEquals(fs.getFeatureCount(true), 1); // positional
+    assertEquals(fs.getFeatureCount(false), 1); // non-positional
+    SequenceFeature sf4 = new SequenceFeature("Cath", "", 0, 0, Float.NaN,
+            null);
+    assertFalse(fs.addFeature(sf4)); // already stored
+    assertEquals(fs.getFeatureCount(true), 1); // positional
+    assertEquals(fs.getFeatureCount(false), 1); // non-positional
+
+    /*
+     * add contact
+     */
+    SequenceFeature sf5 = new SequenceFeature("Disulfide bond", "", 0, 0,
+            Float.NaN, null);
+    assertTrue(fs.addFeature(sf5));
+    assertEquals(fs.getFeatureCount(true), 2); // positional - add 1 for contact
+    assertEquals(fs.getFeatureCount(false), 1); // non-positional
+    SequenceFeature sf6 = new SequenceFeature("Disulfide bond", "", 0, 0,
+            Float.NaN, null);
+    assertFalse(fs.addFeature(sf6)); // already stored
+    assertEquals(fs.getFeatureCount(true), 2); // no change
+    assertEquals(fs.getFeatureCount(false), 1); // no change
   }
 
   @Test(groups = "Functional")
@@ -382,7 +410,7 @@ public class FeatureStoreTest
   {
     FeatureStore fs = new FeatureStore();
     assertTrue(fs.isEmpty());
-    assertEquals(fs.size(true), 0);
+    assertEquals(fs.getFeatureCount(true), 0);
 
     /*
      * non-nested feature
@@ -391,10 +419,10 @@ public class FeatureStoreTest
             Float.NaN, null);
     fs.addFeature(sf1);
     assertFalse(fs.isEmpty());
-    assertEquals(fs.size(true), 1);
+    assertEquals(fs.getFeatureCount(true), 1);
     fs.delete(sf1);
     assertTrue(fs.isEmpty());
-    assertEquals(fs.size(true), 0);
+    assertEquals(fs.getFeatureCount(true), 0);
 
     /*
      * non-positional feature
@@ -402,11 +430,11 @@ public class FeatureStoreTest
     sf1 = new SequenceFeature("Cath", "", 0, 0, Float.NaN, null);
     fs.addFeature(sf1);
     assertFalse(fs.isEmpty());
-    assertEquals(fs.size(false), 1); // non-positional
-    assertEquals(fs.size(true), 0); // positional
+    assertEquals(fs.getFeatureCount(false), 1); // non-positional
+    assertEquals(fs.getFeatureCount(true), 0); // positional
     fs.delete(sf1);
     assertTrue(fs.isEmpty());
-    assertEquals(fs.size(false), 0);
+    assertEquals(fs.getFeatureCount(false), 0);
 
     /*
      * contact feature
@@ -414,10 +442,10 @@ public class FeatureStoreTest
     sf1 = new SequenceFeature("Disulfide bond", "", 19, 49, Float.NaN, null);
     fs.addFeature(sf1);
     assertFalse(fs.isEmpty());
-    assertEquals(fs.size(true), 1);
+    assertEquals(fs.getFeatureCount(true), 1);
     fs.delete(sf1);
     assertTrue(fs.isEmpty());
-    assertEquals(fs.size(true), 0);
+    assertEquals(fs.getFeatureCount(true), 0);
 
     /*
      * sf2, sf3 added as nested features
@@ -430,18 +458,18 @@ public class FeatureStoreTest
     fs.addFeature(sf1);
     fs.addFeature(sf2);
     fs.addFeature(sf3);
-    assertEquals(fs.size(true), 3);
+    assertEquals(fs.getFeatureCount(true), 3);
     assertTrue(fs.delete(sf1));
-    assertEquals(fs.size(true), 2);
+    assertEquals(fs.getFeatureCount(true), 2);
     // FeatureStore should now only contain features in the NCList
     assertTrue(fs.nonNestedFeatures.isEmpty());
     assertEquals(fs.nestedFeatures.size(), 2);
     assertFalse(fs.isEmpty());
     assertTrue(fs.delete(sf2));
-    assertEquals(fs.size(true), 1);
+    assertEquals(fs.getFeatureCount(true), 1);
     assertFalse(fs.isEmpty());
     assertTrue(fs.delete(sf3));
-    assertEquals(fs.size(true), 0);
+    assertEquals(fs.getFeatureCount(true), 0);
     assertTrue(fs.isEmpty()); // all gone
   }
 
@@ -499,27 +527,27 @@ public class FeatureStoreTest
   }
 
   @Test(groups = "Functional")
-  public void testGetAverageFeatureLength()
+  public void testGetTotalFeatureLength()
   {
     FeatureStore fs = new FeatureStore();
-    assertEquals(fs.getAverageFeatureLength(), 0f);
+    assertEquals(fs.getTotalFeatureLength(), 0);
 
     addFeature(fs, 10, 20); // 11
-    assertEquals(fs.getAverageFeatureLength(), 11f);
+    assertEquals(fs.getTotalFeatureLength(), 11);
     addFeature(fs, 17, 37); // 21
     addFeature(fs, 14, 74); // 61
-    assertEquals(fs.getAverageFeatureLength(), 31f);
+    assertEquals(fs.getTotalFeatureLength(), 93);
 
     // non-positional features don't count
     SequenceFeature sf1 = new SequenceFeature("Cath", "desc", 0, 0, 1f,
             "group1");
     fs.addFeature(sf1);
-    assertEquals(fs.getAverageFeatureLength(), 31f);
+    assertEquals(fs.getTotalFeatureLength(), 93);
 
     // contact features count 1
     SequenceFeature sf2 = new SequenceFeature("disulphide bond", "desc",
             15, 35, 1f, "group1");
     fs.addFeature(sf2);
-    assertEquals(fs.getAverageFeatureLength(), 94f / 4f);
+    assertEquals(fs.getTotalFeatureLength(), 94);
   }
 }