JAL-1705 align CDS and peptide products to transcripts
[jalview.git] / test / jalview / datamodel / SequenceTest.java
index 851caf0..b8116f5 100644 (file)
@@ -384,11 +384,18 @@ public class SequenceTest
   {
     SequenceI 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();
     assertEquals("CD", derived.getSequenceAsString());
     assertSame(sq.getDatasetSequence(), derived.getDatasetSequence());
+
+    assertNull(((Sequence) seq).sequenceFeatures);
+    assertNull(((Sequence) derived).sequenceFeatures);
+    assertNotNull(seq.getSequenceFeatures());
+    assertSame(seq.getSequenceFeatures(), derived.getSequenceFeatures());
   }
 
   /**
@@ -446,10 +453,10 @@ public class SequenceTest
     // but that doesn't distinguish it from an aligned sequence
     // which has not yet generated a dataset sequence
     // NB getDBRef looks inside dataset sequence if not null
-    DBRefEntry[] dbrefs = copy.getDBRef();
+    DBRefEntry[] dbrefs = copy.getDBRefs();
     assertEquals(1, dbrefs.length);
-    assertFalse(dbrefs[0] == seq1.getDBRef()[0]);
-    assertTrue(dbrefs[0].equals(seq1.getDBRef()[0]));
+    assertFalse(dbrefs[0] == seq1.getDBRefs()[0]);
+    assertTrue(dbrefs[0].equals(seq1.getDBRefs()[0]));
   }
 
   @Test(groups = { "Functional" })
@@ -476,9 +483,9 @@ public class SequenceTest
 
     // getDBRef looks inside dataset sequence and this is shared,
     // so holds the same dbref objects
-    DBRefEntry[] dbrefs = copy.getDBRef();
+    DBRefEntry[] dbrefs = copy.getDBRefs();
     assertEquals(1, dbrefs.length);
-    assertSame(dbrefs[0], seq1.getDBRef()[0]);
+    assertSame(dbrefs[0], seq1.getDBRefs()[0]);
   }
 
   /**
@@ -516,4 +523,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));
+  }
 }