Merge branch 'develop' into features/JAL-518_justify_seqs_in_region
[jalview.git] / test / jalview / gui / AlignViewportTest.java
index b3c6b2a..1da6504 100644 (file)
@@ -42,8 +42,10 @@ import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.Annotation;
+import jalview.datamodel.ContactMatrixI;
 import jalview.datamodel.SearchResults;
 import jalview.datamodel.SearchResultsI;
+import jalview.datamodel.SeqDistanceContactMatrix;
 import jalview.datamodel.Sequence;
 import jalview.datamodel.SequenceGroup;
 import jalview.datamodel.SequenceI;
@@ -75,7 +77,7 @@ public class AlignViewportTest
   {
     Jalview.main(
             new String[]
-            { "-nonews", "-props", "test/jalview/testProps.jvprops" });
+            { "--nonews", "--props", "test/jalview/testProps.jvprops" });
 
     /*
      * remove any sequence mappings left lying around by other tests
@@ -537,4 +539,34 @@ public class AlignViewportTest
     assertEquals(0, ranges.getStartSeq());
     assertEquals(2, ranges.getEndSeq());
   }
+
+  @Test(groups = { "Functional" })
+  public void testGetSelectionAsNewSequences_withContactMatrices()
+  {
+    SequenceI seq = new Sequence("seq", "ACADA");
+    ContactMatrixI cmat = new SeqDistanceContactMatrix(5);
+    seq.addContactList(cmat);
+    Alignment al = new Alignment(new SequenceI[] { seq.deriveSequence() });
+    al.addAnnotation(al.getSequenceAt(0).getAnnotation()[0]);
+    AlignFrame af = new AlignFrame(al, 500, 500);
+
+    SequenceI selseqs[] = af.getViewport().getSelectionAsNewSequence();
+    assertNotNull(selseqs[0].getAnnotation());
+    assertNotNull(selseqs[0].getAnnotation()[0]);
+    assertEquals(cmat,
+            selseqs[0].getContactMatrixFor(selseqs[0].getAnnotation()[0]));
+
+    assertNotNull(
+            selseqs[0].getContactListFor(selseqs[0].getAnnotation()[0], 2));
+
+    // now select everything and test again
+    af.selectAllSequenceMenuItem_actionPerformed(null);
+    selseqs = af.getViewport().getSelectionAsNewSequence();
+    assertNotNull(selseqs[0].getAnnotation());
+    assertNotNull(selseqs[0].getAnnotation()[0]);
+    assertEquals(cmat,
+            selseqs[0].getContactMatrixFor(selseqs[0].getAnnotation()[0]));
+    assertNotNull(
+            selseqs[0].getContactListFor(selseqs[0].getAnnotation()[0], 2));
+  }
 }