3 import static org.testng.Assert.assertEquals;
5 import jalview.datamodel.AlignmentI;
6 import jalview.datamodel.SequenceGroup;
7 import jalview.io.DataSourceType;
8 import jalview.io.FileLoader;
10 import javax.swing.JTextArea;
12 import org.testng.annotations.Test;
14 import junit.extensions.PA;
16 public class PairwiseAlignmentPanelTest
18 private static final String NL = System.lineSeparator();
20 @Test(groups = "Functional")
21 public void testConstructor_withSelectionGroup()
23 AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(
24 "examples/uniref50.fa", DataSourceType.FILE);
25 AlignViewport viewport = af.getViewport();
26 AlignmentI al = viewport.getAlignment();
29 * select columns 29-36 of sequences 4 and 5 for alignment
30 * Q93XJ9_SOLTU/23-29 L-KAISNV
31 * FER1_PEA/26-32 V-TTTKAF
33 SequenceGroup sg = new SequenceGroup();
34 sg.addSequence(al.getSequenceAt(3), false);
35 sg.addSequence(al.getSequenceAt(4), false);
38 viewport.setSelectionGroup(sg);
40 PairwiseAlignPanel testee = new PairwiseAlignPanel(viewport);
42 String text = ((JTextArea) PA.getValue(testee, "textarea")).getText()
43 ;// .replaceAll("\r", "");
44 String expected = "Score = 80.0" + NL + "Length of alignment = 4" + NL
45 + "Sequence FER1_PEA/29-32 (Sequence length = 7)" + NL
46 + "Sequence Q93XJ9_SOLTU/23-26 (Sequence length = 7)" + NL + NL
47 + " FER1_PEA/29-32 TKAF" + NL + " ||."
48 + NL + "Q93XJ9_SOLTU/23-26 LKAI" + NL + NL
49 + "Percentage ID = 50.00" + NL + NL;
50 assertEquals(text, expected);
54 * This test aligns the same sequences as testConstructor_withSelectionGroup
55 * but as a complete alignment (no selection). Note that in fact the user is
56 * currently required to make a selection in order to calculate pairwise
57 * alignments, so this case does not arise.
59 @Test(groups = "Functional")
60 public void testConstructor_noSelectionGroup()
62 String seqs = ">Q93XJ9_SOLTU/23-29\nL-KAISNV\n>FER1_PEA/26-32\nV-TTTKAF\n";
63 AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(seqs,
64 DataSourceType.PASTE);
65 AlignViewport viewport = af.getViewport();
67 PairwiseAlignPanel testee = new PairwiseAlignPanel(viewport);
69 String text = ((JTextArea) PA.getValue(testee, "textarea")).getText()
70 ;// .replaceAll("\r", "");
71 String expected = "Score = 80.0" + NL + "Length of alignment = 4" + NL
72 + "Sequence FER1_PEA/29-32 (Sequence length = 7)" + NL
73 + "Sequence Q93XJ9_SOLTU/23-26 (Sequence length = 7)" + NL + NL
74 + " FER1_PEA/29-32 TKAF" + NL + " ||."
75 + NL + "Q93XJ9_SOLTU/23-26 LKAI" + NL + NL
76 + "Percentage ID = 50.00" + NL + NL;
77 assertEquals(text, expected);