+ @Test(groups = { "Functional" })
+ public void testGetConsensusSeq()
+ {
+ /*
+ * A-C
+ * A-C
+ * A-D
+ * --D
+ * consensus expected to be A-C
+ */
+ String fasta = ">s1\nA-C\n>s2\nA-C\n>s3\nA-D\n>s4\n--D\n";
+ AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(fasta,
+ DataSourceType.PASTE);
+ AlignViewport testme = af.getViewport();
+ waitForCalculations(testme);
+ SequenceI cons = testme.getConsensusSeq();
+ assertEquals("A-C", cons.getSequenceAsString());
+ }
+
+ @Test(groups = { "Functional" })
+ public void testHideRevealSequences()
+ {
+ ViewportRanges ranges = testee.getRanges();
+ assertEquals(3, al.getHeight());
+ assertEquals(0, ranges.getStartSeq());
+ assertEquals(2, ranges.getEndSeq());
+
+ /*
+ * hide first sequence
+ */
+ testee.hideSequence(new SequenceI[] { al.getSequenceAt(0) });
+ assertEquals(2, al.getHeight());
+ assertEquals(0, ranges.getStartSeq());
+ assertEquals(1, ranges.getEndSeq());
+
+ /*
+ * reveal hidden sequences above the first
+ */
+ testee.showSequence(0);
+ assertEquals(3, al.getHeight());
+ assertEquals(0, ranges.getStartSeq());
+ assertEquals(2, ranges.getEndSeq());
+
+ /*
+ * hide first and third sequences
+ */
+ testee.hideSequence(
+ new SequenceI[]
+ { al.getSequenceAt(0), al.getSequenceAt(2) });
+ assertEquals(1, al.getHeight());
+ assertEquals(0, ranges.getStartSeq());
+ assertEquals(0, ranges.getEndSeq());
+
+ /*
+ * reveal all hidden sequences
+ */
+ testee.showAllHiddenSeqs();
+ assertEquals(3, al.getHeight());
+ 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));