X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fdatamodel%2FSequenceTest.java;h=4da11eb578912e4165112b016eedd9dab04c613f;hb=480d7b96f089281a3caf77d2a4e5adec09dc5bfa;hp=d7e720e8887eefde157e763eadf65cb78a958650;hpb=b9d3d1f71c6a8aee09cd23e1303b062cbe43a239;p=jalview.git diff --git a/test/jalview/datamodel/SequenceTest.java b/test/jalview/datamodel/SequenceTest.java index d7e720e..4da11eb 100644 --- a/test/jalview/datamodel/SequenceTest.java +++ b/test/jalview/datamodel/SequenceTest.java @@ -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; @@ -232,10 +231,10 @@ public class SequenceTest assertEquals(6, sq.findIndex(6)); assertEquals(6, sq.findIndex(9)); - sq = new Sequence("test", "-A--B-C-D-E-F--"); - assertEquals(2, sq.findIndex(1)); - assertEquals(5, sq.findIndex(2)); - assertEquals(7, sq.findIndex(3)); + sq = new Sequence("test/8-13", "-A--B-C-D-E-F--"); + assertEquals(2, sq.findIndex(8)); + assertEquals(5, sq.findIndex(9)); + assertEquals(7, sq.findIndex(10)); // before start returns 0 assertEquals(0, sq.findIndex(0)); @@ -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 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 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 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 pdbs = copy.getAllPDBEntries(); @@ -1169,4 +1161,24 @@ public class SequenceTest seq2.createDatasetSequence(); seq.setDatasetSequence(seq2); } + + @Test + public void testFindPositions() + { + SequenceI sq = new Sequence("Seq", "ABC--DE-F", 8, 13); + + Range range = sq.findPositions(1, 4); // BC + assertEquals(new Range(9, 10), range); + + range = sq.findPositions(2, 4); // C + assertEquals(new Range(10, 10), range); + + assertNull(sq.findPositions(3, 4)); // all gaps + + range = sq.findPositions(2, 6); // CDE + assertEquals(new Range(10, 12), range); + + range = sq.findPositions(3, 7); // DE + assertEquals(new Range(11, 12), range); + } }