JAL-2046 basic test to make sure any derived sequence has a null sequence feature...
[jalview.git] / test / jalview / datamodel / SequenceTest.java
index dcc8ef7..b8a4b3a 100644 (file)
@@ -26,6 +26,7 @@ import static org.testng.AssertJUnit.assertNotNull;
 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;
 
@@ -38,7 +39,7 @@ import org.testng.annotations.Test;
 
 public class SequenceTest
 {
-  SequenceI seq;
+  Sequence seq;
 
   @BeforeMethod(alwaysRun = true)
   public void setUp()
@@ -382,13 +383,23 @@ public class SequenceTest
   @Test(groups = { "Functional" })
   public void testDeriveSequence_existingDataset()
   {
-    SequenceI sq = new Sequence("Seq1", "CD");
+    Sequence sq = new Sequence("Seq1", "CD");
     sq.setDatasetSequence(new Sequence("Seq1", "ABCDEF"));
+    sq.getDatasetSequence().addSequenceFeature(
+            new SequenceFeature("", "", 1, 2, 0f, null));
     sq.setStart(3);
     sq.setEnd(4);
-    SequenceI derived = sq.deriveSequence();
+
+    Sequence derived = (Sequence) sq.deriveSequence();
     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());
   }
 
   /**
@@ -516,4 +527,14 @@ public class SequenceTest
     assertFalse(pdbs.get(0) == seq1.getAllPDBEntries().get(0));
     assertTrue(pdbs.get(0).equals(seq1.getAllPDBEntries().get(0)));
   }
+
+  @Test(groups = "Functional")
+  public void testGetCharAt()
+  {
+    SequenceI sq = new Sequence("", "abcde");
+    assertEquals('a', sq.getCharAt(0));
+    assertEquals('e', sq.getCharAt(4));
+    assertEquals(' ', sq.getCharAt(5));
+    assertEquals(' ', sq.getCharAt(-1));
+  }
 }