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(sq.sequenceFeatures);
+ assertNull(derived.sequenceFeatures);
+ // derived sequence should access dataset sequence features
+ assertNotNull(sq.getSequenceFeatures());
+ assertArrayEquals(sq.getSequenceFeatures(),
+ derived.getSequenceFeatures());
}
/**
// 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" })
// 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]);
}
/**
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));
+ }
}