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;
public class SequenceTest
{
- SequenceI seq;
+ Sequence seq;
@BeforeMethod(alwaysRun = true)
public void setUp()
@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(((Sequence) seq).sequenceFeatures);
- assertNull(((Sequence) derived).sequenceFeatures);
- assertNotNull(seq.getSequenceFeatures());
- assertSame(seq.getSequenceFeatures(), derived.getSequenceFeatures());
+ assertNull(sq.sequenceFeatures);
+ assertNull(derived.sequenceFeatures);
+ // derived sequence should access dataset sequence features
+ assertNotNull(sq.getSequenceFeatures());
+ assertArrayEquals(sq.getSequenceFeatures(),
+ derived.getSequenceFeatures());
}
/**
// copy has a copy of the sequence feature:
SequenceFeature[] sfs = copy.getSequenceFeatures();
assertEquals(1, sfs.length);
- assertFalse(sfs[0] == seq1.getSequenceFeatures()[0]);
+ if (seq1.getDatasetSequence()!=null && copy.getDatasetSequence()==seq1.getDatasetSequence()) {
+ assertTrue(sfs[0] == seq1.getSequenceFeatures()[0]);
+ } else {
+ assertFalse(sfs[0] == seq1.getSequenceFeatures()[0]);
+ }
assertTrue(sfs[0].equals(seq1.getSequenceFeatures()[0]));
// copy has a copy of the PDB entry