JAL-2446 added contains, delete, checks for inclusion on add + tests
[jalview.git] / test / jalview / datamodel / features / SequenceFeaturesTest.java
index 7edd67d..d340490 100644 (file)
@@ -19,8 +19,8 @@ public class SequenceFeaturesTest
     SequenceFeature sf1 = new SequenceFeature("Metal", "desc", 10, 20,
             Float.NaN, null);
     store.add(sf1);
-    // same range
-    SequenceFeature sf2 = new SequenceFeature("Metal", "desc", 10, 20,
+    // same range, different description
+    SequenceFeature sf2 = new SequenceFeature("Metal", "desc2", 10, 20,
             Float.NaN, null);
     store.add(sf2);
     // discontiguous range
@@ -170,8 +170,8 @@ public class SequenceFeaturesTest
     SequenceFeature sf6 = new SequenceFeature("Disulfide bond", "desc", 18,
             45, Float.NaN, null);
     store.add(sf6);
-    // on more non-positional
-    SequenceFeature sf7 = new SequenceFeature("Pfam", "desc", 0, 0,
+    // one more non-positional, different description
+    SequenceFeature sf7 = new SequenceFeature("Pfam", "desc2", 0, 0,
             Float.NaN, null);
     store.add(sf7);
   
@@ -283,4 +283,18 @@ public class SequenceFeaturesTest
     assertEquals(overlaps.size(), 1);
     assertTrue(overlaps.contains(sf13));
   }
+
+  @Test(groups = "Functional")
+  public void testDelete()
+  {
+    SequenceFeatures sf = new SequenceFeatures();
+    SequenceFeature sf1 = addFeature(sf, "Pfam", 10, 50);
+    assertTrue(sf.getFeatures().contains(sf1));
+
+    assertFalse(sf.delete(null));
+    SequenceFeature sf2 = new SequenceFeature("Cath", "", 10, 15, 0f, null);
+    assertFalse(sf.delete(sf2)); // not added, can't delete it
+    assertTrue(sf.delete(sf1));
+    assertTrue(sf.getFeatures().isEmpty());
+  }
 }