JAL-3383 code and unit test tweaks
[jalview.git] / test / jalview / datamodel / features / FeatureStoreNCListBufferTest.java
index 66cd892..14f0f07 100644 (file)
@@ -6,20 +6,25 @@ import static org.testng.Assert.assertSame;
 import static org.testng.Assert.assertTrue;
 
 import jalview.datamodel.SequenceFeature;
+import jalview.datamodel.features.FeatureStore.IntervalStoreType;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
 import java.util.Set;
 
 import org.testng.annotations.Test;
 
+import junit.extensions.PA;
+
+/**
+ * Tests that exercise the 'NC array' implementation of IntervalStore
+ */
 public class FeatureStoreNCListBufferTest
 {
-
   private FeatureStore newFeatureStore()
   {
-    return new FeatureStore(
-            FeatureStore.INTERVAL_STORE_NCARRAY);
+    return new FeatureStore(IntervalStoreType.INTERVAL_STORE_NCARRAY);
   }
 
   @Test(groups = "Functional")
@@ -33,21 +38,21 @@ public class FeatureStoreNCListBufferTest
     fs.addFeature(new SequenceFeature("", "", 15, 25, Float.NaN, null));
     fs.addFeature(new SequenceFeature("", "", 20, 35, Float.NaN, null));
 
-    List<SequenceFeature> overlaps = fs.findOverlappingFeatures(1, 9);
+    List<SequenceFeature> overlaps = fs.findFeatures(1, 9);
     assertTrue(overlaps.isEmpty());
 
-    overlaps = fs.findOverlappingFeatures(8, 10);
+    overlaps = fs.findFeatures(8, 10);
     assertEquals(overlaps.size(), 2);
     assertEquals(overlaps.get(0).getEnd(), 20);
     assertEquals(overlaps.get(1).getEnd(), 20);
 
-    overlaps = fs.findOverlappingFeatures(12, 16);
+    overlaps = fs.findFeatures(12, 16);
     assertEquals(overlaps.size(), 3);
     assertEquals(overlaps.get(0).getEnd(), 20);
     assertEquals(overlaps.get(1).getEnd(), 20);
     assertEquals(overlaps.get(2).getEnd(), 25);
 
-    overlaps = fs.findOverlappingFeatures(33, 33);
+    overlaps = fs.findFeatures(33, 33);
     assertEquals(overlaps.size(), 1);
     assertEquals(overlaps.get(0).getEnd(), 35);
   }
@@ -65,25 +70,25 @@ public class FeatureStoreNCListBufferTest
     fs.addFeature(sf4);
     SequenceFeature sf5 = addFeature(fs, 35, 36);
 
-    List<SequenceFeature> overlaps = fs.findOverlappingFeatures(1, 9);
+    List<SequenceFeature> overlaps = fs.findFeatures(1, 9);
     assertTrue(overlaps.isEmpty());
 
-    overlaps = fs.findOverlappingFeatures(10, 15);
+    overlaps = fs.findFeatures(10, 15);
     assertEquals(overlaps.size(), 2);
     assertTrue(overlaps.contains(sf1));
     assertTrue(overlaps.contains(sf2));
 
-    overlaps = fs.findOverlappingFeatures(45, 60);
+    overlaps = fs.findFeatures(45, 60);
     assertEquals(overlaps.size(), 1);
     assertTrue(overlaps.contains(sf1));
 
-    overlaps = fs.findOverlappingFeatures(32, 38);
+    overlaps = fs.findFeatures(32, 38);
     assertEquals(overlaps.size(), 3);
     assertTrue(overlaps.contains(sf1));
     assertTrue(overlaps.contains(sf2));
     assertTrue(overlaps.contains(sf5));
 
-    overlaps = fs.findOverlappingFeatures(15, 25);
+    overlaps = fs.findFeatures(15, 25);
     assertEquals(overlaps.size(), 4);
     assertTrue(overlaps.contains(sf1));
     assertTrue(overlaps.contains(sf2));
@@ -102,30 +107,30 @@ public class FeatureStoreNCListBufferTest
     SequenceFeature sf5 = addFeature(fs, 60, 100);
     SequenceFeature sf6 = addFeature(fs, 70, 70);
 
-    List<SequenceFeature> overlaps = fs.findOverlappingFeatures(200, 200);
+    List<SequenceFeature> overlaps = fs.findFeatures(200, 200);
     assertTrue(overlaps.isEmpty());
 
-    overlaps = fs.findOverlappingFeatures(1, 9);
+    overlaps = fs.findFeatures(1, 9);
     assertEquals(overlaps.size(), 1);
     assertTrue(overlaps.contains(sf2));
 
-    overlaps = fs.findOverlappingFeatures(5, 18);
+    overlaps = fs.findFeatures(5, 18);
     assertEquals(overlaps.size(), 2);
     assertTrue(overlaps.contains(sf1));
     assertTrue(overlaps.contains(sf2));
 
-    overlaps = fs.findOverlappingFeatures(30, 40);
+    overlaps = fs.findFeatures(30, 40);
     assertEquals(overlaps.size(), 3);
     assertTrue(overlaps.contains(sf1));
     assertTrue(overlaps.contains(sf3));
     assertTrue(overlaps.contains(sf4));
 
-    overlaps = fs.findOverlappingFeatures(80, 90);
+    overlaps = fs.findFeatures(80, 90);
     assertEquals(overlaps.size(), 2);
     assertTrue(overlaps.contains(sf4));
     assertTrue(overlaps.contains(sf5));
 
-    overlaps = fs.findOverlappingFeatures(68, 70);
+    overlaps = fs.findFeatures(68, 70);
     assertEquals(overlaps.size(), 3);
     assertTrue(overlaps.contains(sf4));
     assertTrue(overlaps.contains(sf5));
@@ -160,33 +165,33 @@ public class FeatureStoreNCListBufferTest
     /*
      * neither contact point in range
      */
-    List<SequenceFeature> overlaps = fs.findOverlappingFeatures(1, 9);
+    List<SequenceFeature> overlaps = fs.findFeatures(1, 9);
     assertTrue(overlaps.isEmpty());
 
     /*
      * neither contact point in range
      */
-    overlaps = fs.findOverlappingFeatures(11, 19);
+    overlaps = fs.findFeatures(11, 19);
     assertTrue(overlaps.isEmpty());
 
     /*
      * first contact point in range
      */
-    overlaps = fs.findOverlappingFeatures(5, 15);
+    overlaps = fs.findFeatures(5, 15);
     assertEquals(overlaps.size(), 1);
     assertTrue(overlaps.contains(sf));
 
     /*
      * second contact point in range
      */
-    overlaps = fs.findOverlappingFeatures(15, 25);
+    overlaps = fs.findFeatures(15, 25);
     assertEquals(overlaps.size(), 1);
     assertTrue(overlaps.contains(sf));
 
     /*
      * both contact points in range
      */
-    overlaps = fs.findOverlappingFeatures(5, 25);
+    overlaps = fs.findFeatures(5, 25);
     assertEquals(overlaps.size(), 1);
     assertTrue(overlaps.contains(sf));
   }
@@ -425,7 +430,9 @@ public class FeatureStoreNCListBufferTest
     assertEquals(fs.getFeatureCount(true), 3);
     assertTrue(fs.delete(sf1));
     assertEquals(fs.getFeatureCount(true), 2);
-    assertEquals(fs.getFeatures().size(), 2);
+    Collection<SequenceFeature> intervalStore = (Collection<SequenceFeature>) PA
+            .getValue(fs, "features");
+    assertEquals(intervalStore.size(), 2);
     assertFalse(fs.isEmpty());
     assertTrue(fs.delete(sf2));
     assertEquals(fs.getFeatureCount(true), 1);
@@ -830,8 +837,10 @@ public class FeatureStoreNCListBufferTest
     assertEquals(features.size(), 2);
     assertTrue(features.contains(sf1));
     assertTrue(features.contains(sf2));
-    assertTrue(store.getFeatures().contains(sf1));
-    assertTrue(store.getFeatures().contains(sf2));
+    Collection<SequenceFeature> intervalStore = (Collection<SequenceFeature>) PA
+            .getValue(store, "features");
+    assertTrue(intervalStore.contains(sf1));
+    assertTrue(intervalStore.contains(sf2));
   
     /*
      * delete the first feature