X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fdatamodel%2FSequenceTest.java;h=344d74ddd67dea28a749aa63736eb89bd39e0f13;hb=19c22459dca6c69d6f1fd0eed029c01e21c99854;hp=0151a12280b665a63802dda3f97dd7e8c39295de;hpb=7440c240e784fa663228f579b51694e023a30ae3;p=jalview.git diff --git a/test/jalview/datamodel/SequenceTest.java b/test/jalview/datamodel/SequenceTest.java index 0151a12..344d74d 100644 --- a/test/jalview/datamodel/SequenceTest.java +++ b/test/jalview/datamodel/SequenceTest.java @@ -1052,6 +1052,38 @@ public class SequenceTest assertEquals("ABCDEF", derived.getDatasetSequence().getSequenceAsString()); } + + /** + * test that creating a copy of an existing sequence with dataset sequence and + * associated contact matrix yields annotation associated with the same + * contact matrix in the copy + */ + @Test(groups= {"Functional"}) + public void testCopyPasteStyleDerivesequence_withcontactMatrixAnn() + { + SequenceI seq1=new Sequence("seq1","ACDACDACD"); + seq1.createDatasetSequence(); + ContactMatrixI cm = new SeqDistanceContactMatrix(seq1.getLength()); + // addContactList needs to return annotation addable to the sequence reference it was called from + AlignmentAnnotation aann = seq1.addContactList(cm); + assertTrue(aann.sequenceRef==seq1); + assertEquals(1,seq1.getAnnotation().length); + assertNotNull(seq1.getContactListFor(seq1.getAnnotation()[0], 1)); + + SequenceI seq_derived=seq1.deriveSequence(); + assertEquals(1,seq_derived.getAnnotation().length); + assertTrue(cm==seq_derived.getContactMatrixFor(seq_derived.getAnnotation()[0])); + assertNotNull(seq_derived.getContactListFor(seq_derived.getAnnotation()[0], 1)); + + // copy paste actually uses the copy constructor .. so + + SequenceI seq_copied=new Sequence((Sequence)seq_derived); + assertEquals(1,seq_copied.getAnnotation().length); + assertTrue(cm==seq_copied.getContactMatrixFor(seq_copied.getAnnotation()[0])); + assertNotNull(seq_copied.getContactListFor(seq_copied.getAnnotation()[0], 1)); + + + } @Test(groups = { "Functional" }) public void testCopyConstructor_noDataset()