assertEquals(1, sfs.length);
assertSame(sf, sfs[0]);
+
/*
* SequenceFeature on sequence and dataset sequence; returns that on
* sequence
+ *
+ * Note JAL-2046: spurious: we have no use case for this at the moment.
+ * This test also buggy - as sf2.equals(sf), no new feature is added
*/
SequenceFeature sf2 = new SequenceFeature();
sq.getDatasetSequence().addSequenceFeature(sf2);
/*
* 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);
- sfs = sq.getSequenceFeatures();
- assertEquals(1, sfs.length);
- assertSame(sf2, sfs[0]);
+ assertNull(sq.getDatasetSequence().getSequenceFeatures());
/*
* Corrupt case - no SequenceFeature, dataset's dataset is the original
seq1.setDescription("description");
seq1.addAlignmentAnnotation(new AlignmentAnnotation("label", "desc",
1.3d));
+ // JAL-2046 - what is the contract for using a derived sequence's
+ // addSequenceFeature ?
seq1.addSequenceFeature(new SequenceFeature("type", "desc", 22, 33,
12.4f, "group"));
seq1.addPDBId(new PDBEntry("1A70", "B", Type.PDB, "File"));
// 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