JAL-3397 impl.IntervalStore and nonc.IntervalStore unified api
[jalview.git] / test / jalview / datamodel / features / FeatureStoreLinkedTest.java
index 25fdbb2..c1cd6d7 100644 (file)
@@ -16,46 +16,50 @@ import org.testng.annotations.Test;
 public class FeatureStoreLinkedTest
 {
 
-  private FeatureStoreI newFeatureStore()
+  private FeatureStore newFeatureStore()
   {
-    return new FeatureStoreImpl(
+    return new FeatureStore(
             FeatureStore.INTERVAL_STORE_LINKED_LIST_PRESORT);
   }
 
   @Test(groups = "Functional")
   public void testFindFeatures_nonNested()
   {
-    FeatureStoreI fs = newFeatureStore();
-    fs.addFeature(new SequenceFeature("", "", 10, 20, Float.NaN,
-            null));
+    FeatureStore fs = newFeatureStore();
+    SequenceFeature sf0 = new SequenceFeature("", "", 10, 20, Float.NaN,
+            null);
+    fs.addFeature(sf0);
     // same range different description
-    fs.addFeature(new SequenceFeature("", "desc", 10, 20, Float.NaN, null));
-    fs.addFeature(new SequenceFeature("", "", 15, 25, Float.NaN, null));
-    fs.addFeature(new SequenceFeature("", "", 20, 35, Float.NaN, null));
+    SequenceFeature sf1 = new SequenceFeature("", "desc", 10, 20, Float.NaN, null);
+    fs.addFeature(sf1);
+    SequenceFeature sf2 = new SequenceFeature("", "", 15, 25, Float.NaN, null);
+    fs.addFeature(sf2);
+    SequenceFeature sf3 = new SequenceFeature("", "", 20, 35, Float.NaN, null);
+    fs.addFeature(sf3);
 
     List<SequenceFeature> overlaps = fs.findOverlappingFeatures(1, 9);
     assertTrue(overlaps.isEmpty());
 
     overlaps = fs.findOverlappingFeatures(8, 10);
     assertEquals(overlaps.size(), 2);
-    assertEquals(overlaps.get(0).getEnd(), 20);
-    assertEquals(overlaps.get(1).getEnd(), 20);
+    assertTrue(overlaps.contains(sf0));
+    assertTrue(overlaps.contains(sf1));
 
     overlaps = fs.findOverlappingFeatures(12, 16);
     assertEquals(overlaps.size(), 3);
-    assertEquals(overlaps.get(0).getEnd(), 20);
-    assertEquals(overlaps.get(1).getEnd(), 20);
-    assertEquals(overlaps.get(2).getEnd(), 25);
+    assertTrue(overlaps.contains(sf0));
+    assertTrue(overlaps.contains(sf1));
+    assertTrue(overlaps.contains(sf2));
 
     overlaps = fs.findOverlappingFeatures(33, 33);
     assertEquals(overlaps.size(), 1);
-    assertEquals(overlaps.get(0).getEnd(), 35);
+    assertTrue(overlaps.contains(sf3));
   }
 
   @Test(groups = "Functional")
   public void testFindFeatures_nested()
   {
-    FeatureStoreI fs = newFeatureStore();
+    FeatureStore fs = newFeatureStore();
     SequenceFeature sf1 = addFeature(fs, 10, 50);
     SequenceFeature sf2 = addFeature(fs, 10, 40);
     SequenceFeature sf3 = addFeature(fs, 20, 30);
@@ -94,7 +98,7 @@ public class FeatureStoreLinkedTest
   @Test(groups = "Functional")
   public void testFindFeatures_mixed()
   {
-    FeatureStoreI fs = newFeatureStore();
+    FeatureStore fs = newFeatureStore();
     SequenceFeature sf1 = addFeature(fs, 10, 50);
     SequenceFeature sf2 = addFeature(fs, 1, 15);
     SequenceFeature sf3 = addFeature(fs, 20, 30);
@@ -140,7 +144,7 @@ public class FeatureStoreLinkedTest
    * @param to
    * @return
    */
-  SequenceFeature addFeature(FeatureStoreI fs, int from, int to)
+  SequenceFeature addFeature(FeatureStore fs, int from, int to)
   {
     SequenceFeature sf1 = new SequenceFeature("", "", from, to, Float.NaN,
             null);
@@ -151,7 +155,7 @@ public class FeatureStoreLinkedTest
   @Test(groups = "Functional")
   public void testFindFeatures_contactFeatures()
   {
-    FeatureStoreI fs = newFeatureStore();
+    FeatureStore fs = newFeatureStore();
 
     SequenceFeature sf = new SequenceFeature("disulphide bond", "bond", 10,
             20, Float.NaN, null);
@@ -194,7 +198,7 @@ public class FeatureStoreLinkedTest
   @Test(groups = "Functional")
   public void testGetPositionalFeatures()
   {
-    FeatureStoreI store = newFeatureStore();
+    FeatureStore store = newFeatureStore();
     SequenceFeature sf1 = new SequenceFeature("Metal", "desc", 10, 20,
             Float.NaN, null);
     store.addFeature(sf1);
@@ -241,7 +245,7 @@ public class FeatureStoreLinkedTest
   @Test(groups = "Functional")
   public void testDelete()
   {
-    FeatureStoreI store = newFeatureStore();
+    FeatureStore store = newFeatureStore();
     SequenceFeature sf1 = addFeature(store, 10, 20);
     assertTrue(store.getPositionalFeatures().contains(sf1));
 
@@ -321,7 +325,7 @@ public class FeatureStoreLinkedTest
   @Test(groups = "Functional")
   public void testAddFeature()
   {
-    FeatureStoreI fs = newFeatureStore();
+    FeatureStore fs = newFeatureStore();
 
     SequenceFeature sf1 = new SequenceFeature("Cath", "", 10, 20,
             Float.NaN, null);
@@ -372,7 +376,7 @@ public class FeatureStoreLinkedTest
   @Test(groups = "Functional")
   public void testIsEmpty()
   {
-    FeatureStoreI fs = newFeatureStore();
+    FeatureStore fs = newFeatureStore();
     assertTrue(fs.isEmpty());
     assertEquals(fs.getFeatureCount(true), 0);
 
@@ -438,7 +442,7 @@ public class FeatureStoreLinkedTest
   @Test(groups = "Functional")
   public void testGetFeatureGroups()
   {
-    FeatureStoreI fs = newFeatureStore();
+    FeatureStore fs = newFeatureStore();
     assertTrue(fs.getFeatureGroups(true).isEmpty());
     assertTrue(fs.getFeatureGroups(false).isEmpty());
 
@@ -505,7 +509,7 @@ public class FeatureStoreLinkedTest
   @Test(groups = "Functional")
   public void testGetTotalFeatureLength()
   {
-    FeatureStoreI fs = newFeatureStore();
+    FeatureStore fs = newFeatureStore();
     assertEquals(fs.getTotalFeatureLength(), 0);
 
     addFeature(fs, 10, 20); // 11
@@ -581,7 +585,7 @@ public class FeatureStoreLinkedTest
   @Test(groups = "Functional")
   public void testGetMinimumScore_getMaximumScore()
   {
-    FeatureStoreI fs = newFeatureStore();
+    FeatureStore fs = newFeatureStore();
     assertEquals(fs.getMinimumScore(true), Float.NaN); // positional
     assertEquals(fs.getMaximumScore(true), Float.NaN);
     assertEquals(fs.getMinimumScore(false), Float.NaN); // non-positional
@@ -653,7 +657,7 @@ public class FeatureStoreLinkedTest
   @Test(groups = "Functional")
   public void testListContains()
   {
-    FeatureStoreI featureStore = newFeatureStore();
+    FeatureStore featureStore = newFeatureStore();
     assertFalse(featureStore.listContains(null, null));
     List<SequenceFeature> features = new ArrayList<>();
     assertFalse(featureStore.listContains(features, null));
@@ -677,7 +681,7 @@ public class FeatureStoreLinkedTest
   @Test(groups = "Functional")
   public void testGetFeaturesForGroup()
   {
-    FeatureStoreI fs = newFeatureStore();
+    FeatureStore fs = newFeatureStore();
 
     /*
      * with no features
@@ -735,7 +739,7 @@ public class FeatureStoreLinkedTest
   @Test(groups = "Functional")
   public void testShiftFeatures()
   {
-    FeatureStoreI fs = newFeatureStore();
+    FeatureStore fs = newFeatureStore();
     assertFalse(fs.shiftFeatures(0, 1)); // nothing to do
 
     SequenceFeature sf1 = new SequenceFeature("Cath", "", 2, 5, 0f, null);
@@ -822,7 +826,7 @@ public class FeatureStoreLinkedTest
     /*
      * add a feature and a nested feature
      */
-    FeatureStoreI store = newFeatureStore();
+    FeatureStore store = newFeatureStore();
     SequenceFeature sf1 = addFeature(store, 10, 20);
     // sf2 is nested in sf1 so will be stored in nestedFeatures
     SequenceFeature sf2 = addFeature(store, 12, 14);
@@ -853,7 +857,7 @@ public class FeatureStoreLinkedTest
   @Test(groups = "Functional")
   public void testContains()
   {
-    FeatureStoreI fs = newFeatureStore();
+    FeatureStore fs = newFeatureStore();
     SequenceFeature sf1 = new SequenceFeature("Cath", "", 10, 20,
             Float.NaN, "group1");
     SequenceFeature sf2 = new SequenceFeature("Cath", "", 10, 20,