JAL-2557 removal of Sequence.sequenceFeatures
[jalview.git] / test / jalview / datamodel / SequenceTest.java
index d7e720e..7eeac12 100644 (file)
@@ -27,7 +27,6 @@ import static org.testng.AssertJUnit.assertNotSame;
 import static org.testng.AssertJUnit.assertNull;
 import static org.testng.AssertJUnit.assertSame;
 import static org.testng.AssertJUnit.assertTrue;
-import static org.testng.internal.junit.ArrayAsserts.assertArrayEquals;
 
 import jalview.datamodel.PDBEntry.Type;
 import jalview.gui.JvOptionPane;
@@ -369,11 +368,10 @@ public class SequenceTest
     newDs = PA.getValue(sq, "datasetSequence");
     assertNotNull(newDs);
     assertNotSame(ds, newDs);
-    SequenceFeature[] sfs = sq.getSequenceFeatures();
-    assertNotNull(sfs);
-    assertEquals(1, sfs.length);
-    assertNotSame(sf1, sfs[0]);
-    assertEquals(sf1, sfs[0]);
+    List<SequenceFeature> sfs = sq.getSequenceFeatures();
+    assertEquals(1, sfs.size());
+    assertNotSame(sf1, sfs.get(0));
+    assertEquals(sf1, sfs.get(0));
 
     /*
      * delete at start - no new dataset sequence created
@@ -391,8 +389,8 @@ public class SequenceTest
     assertSame(ds, PA.getValue(sq, "datasetSequence"));
     sfs = sq.getSequenceFeatures();
     assertNotNull(sfs);
-    assertEquals(1, sfs.length);
-    assertSame(sf1, sfs[0]);
+    assertEquals(1, sfs.size());
+    assertSame(sf1, sfs.get(0));
 
     /*
      * delete at end - no new dataset sequence created
@@ -448,16 +446,16 @@ public class SequenceTest
     SequenceI sq = new Sequence("test", "GATCAT");
     sq.createDatasetSequence();
 
-    assertNull(sq.getSequenceFeatures());
+    assertTrue(sq.getSequenceFeatures().isEmpty());
 
     /*
      * SequenceFeature on sequence
      */
     SequenceFeature sf = new SequenceFeature("Cath", "desc", 2, 4, 2f, null);
     sq.addSequenceFeature(sf);
-    SequenceFeature[] sfs = sq.getSequenceFeatures();
-    assertEquals(1, sfs.length);
-    assertSame(sf, sfs[0]);
+    List<SequenceFeature> sfs = sq.getSequenceFeatures();
+    assertEquals(1, sfs.size());
+    assertSame(sf, sfs.get(0));
 
     /*
      * SequenceFeature on sequence and dataset sequence; returns that on
@@ -470,15 +468,15 @@ public class SequenceTest
             null);
     sq.getDatasetSequence().addSequenceFeature(sf2);
     sfs = sq.getSequenceFeatures();
-    assertEquals(1, sfs.length);
-    assertSame(sf, sfs[0]);
+    assertEquals(1, sfs.size());
+    assertSame(sf, sfs.get(0));
 
     /*
      * SequenceFeature on dataset sequence only
      * Note JAL-2046: spurious: we have no use case for setting a non-dataset sequence's feature array to null at the moment.
      */
     sq.setSequenceFeatures(null);
-    assertNull(sq.getDatasetSequence().getSequenceFeatures());
+    assertTrue(sq.getDatasetSequence().getSequenceFeatures().isEmpty());
 
     /*
      * Corrupt case - no SequenceFeature, dataset's dataset is the original
@@ -499,7 +497,7 @@ public class SequenceTest
       assertTrue(e.getMessage().toLowerCase()
               .contains("implementation error"));
     }
-    assertNull(sq.getSequenceFeatures());
+    assertTrue(sq.getSequenceFeatures().isEmpty());
   }
 
   /**
@@ -553,7 +551,6 @@ public class SequenceTest
             "group"));
     sq.addDBRef(new DBRefEntry("source", "version", "accession"));
     assertNull(sq.getDatasetSequence());
-    assertNotNull(PA.getValue(sq, "sequenceFeatures")); // to be removed!
     assertNotNull(PA.getValue(sq, "sequenceFeatureStore"));
     assertNotNull(PA.getValue(sq, "dbrefs"));
 
@@ -563,10 +560,8 @@ public class SequenceTest
     assertSame(sq.getDatasetSequence(), rds);
 
     // sequence features and dbrefs transferred to dataset sequence
-    assertNull(PA.getValue(sq, "sequenceFeatures"));
     assertNull(PA.getValue(sq, "sequenceFeatureStore"));
     assertNull(PA.getValue(sq, "dbrefs"));
-    assertNotNull(PA.getValue(rds, "sequenceFeatures"));
     assertNotNull(PA.getValue(rds, "sequenceFeatureStore"));
     assertNotNull(PA.getValue(rds, "dbrefs"));
   }
@@ -675,12 +670,9 @@ public class SequenceTest
     assertEquals("CD", derived.getSequenceAsString());
     assertSame(sq.getDatasetSequence(), derived.getDatasetSequence());
 
-    assertNull(sq.sequenceFeatures);
-    assertNull(derived.sequenceFeatures);
     // derived sequence should access dataset sequence features
     assertNotNull(sq.getSequenceFeatures());
-    assertArrayEquals(sq.getSequenceFeatures(),
-            derived.getSequenceFeatures());
+    assertEquals(sq.getSequenceFeatures(), derived.getSequenceFeatures());
 
     /*
      *  verify we have primary db refs *just* for PDB IDs with associated
@@ -810,18 +802,18 @@ public class SequenceTest
     assertEquals(anns[0].score, seq1.getAnnotation()[0].score);
 
     // copy has a copy of the sequence feature:
-    SequenceFeature[] sfs = copy.getSequenceFeatures();
-    assertEquals(1, sfs.length);
+    List<SequenceFeature> sfs = copy.getSequenceFeatures();
+    assertEquals(1, sfs.size());
     if (seq1.getDatasetSequence() != null
             && copy.getDatasetSequence() == seq1.getDatasetSequence())
     {
-      assertTrue(sfs[0] == seq1.getSequenceFeatures()[0]);
+      assertSame(sfs.get(0), seq1.getSequenceFeatures().get(0));
     }
     else
     {
-      assertFalse(sfs[0] == seq1.getSequenceFeatures()[0]);
+      assertNotSame(sfs.get(0), seq1.getSequenceFeatures().get(0));
     }
-    assertTrue(sfs[0].equals(seq1.getSequenceFeatures()[0]));
+    assertEquals(sfs.get(0), seq1.getSequenceFeatures().get(0));
 
     // copy has a copy of the PDB entry
     Vector<PDBEntry> pdbs = copy.getAllPDBEntries();