X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fanalysis%2FGroupingTest.java;h=d5476313b7c74e477b719c6518067d447e636812;hb=a7169b1c72607f3c9357195b4999869650a2a891;hp=e046c0caf04b2ae49dd08e749fcc66d216cecff4;hpb=3412b273e964fb1a9d22564b04a5f0c827ec2461;p=jalview.git
diff --git a/test/jalview/analysis/GroupingTest.java b/test/jalview/analysis/GroupingTest.java
index e046c0c..d547631 100644
--- a/test/jalview/analysis/GroupingTest.java
+++ b/test/jalview/analysis/GroupingTest.java
@@ -1,19 +1,48 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.analysis;
-import org.testng.annotations.Test;
-import org.testng.AssertJUnit;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.ColumnSelection;
import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
+import jalview.gui.JvOptionPane;
-import java.util.ArrayList;
import java.util.Arrays;
+import org.testng.AssertJUnit;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
public class GroupingTest
{
+ @BeforeClass(alwaysRun = true)
+ public void setUpJvOptionPane()
+ {
+ JvOptionPane.setInteractiveMode(false);
+ JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
+ }
+
Sequence s1 = new Sequence("s1", "AAAADDDDEEEE");
Sequence s2 = new Sequence("s2", "AAAADDDDEEEE");
@@ -24,22 +53,29 @@ public class GroupingTest
Sequence s5 = new Sequence("s5", "AAAADDEDTTEE");
- SequenceGroup sg1 = new SequenceGroup(Arrays.asList(new SequenceI[]
- { s1, s2 }), "Group1", null, false, false, false, 0, 5);
+ SequenceGroup sg_12 = new SequenceGroup(
+ Arrays.asList(new SequenceI[]
+ { s1, s2 }), "Group1", null, false, false, false, 0, 5);
- SequenceGroup sg2 = new SequenceGroup(Arrays.asList(new SequenceI[]
- { s3, s4, s5 }), "Group2", null, false, false, false, 0, 5);
+ SequenceGroup sg_345 = new SequenceGroup(
+ Arrays.asList(new SequenceI[]
+ { s3, s4, s5 }), "Group2", null, false, false, false, 0, 5);
- AlignmentI alignment = new Alignment(new SequenceI[]
- { s1, s2, s3, s4, s5 });
+ AlignmentI alignment = new Alignment(
+ new SequenceI[]
+ { s1, s2, s3, s4, s5 });
- int[] positions = new int[]
- { 1, 7, 9 };
+ /*
+ * test for the case where column selections are not added in
+ * left to right order
+ */
+ int[] positions = new int[] { 7, 9, 1 };
- @Test
+ @Test(groups = { "Functional" })
public void testMakeGroupsWithBoth()
{
- ArrayList str = new ArrayList();
+ String[] str = new String[alignment.getHeight()];
+ int seq = 0;
for (SequenceI s : alignment.getSequences())
{
StringBuilder sb = new StringBuilder();
@@ -47,13 +83,13 @@ public class GroupingTest
{
sb.append(s.getCharAt(p));
}
- str.add(sb.toString());
+ str[seq++] = sb.toString();
}
SequenceGroup[] seqgroupsString = Grouping.makeGroupsFrom(
- alignment.getSequencesArray(),
- str.toArray(new String[str.size()]),
+ alignment.getSequencesArray(), str,
Arrays.asList(new SequenceGroup[]
- { sg1, sg2 }));
+ { sg_12, sg_345 }));
+
ColumnSelection cs = new ColumnSelection();
for (int p : positions)
{
@@ -62,8 +98,9 @@ public class GroupingTest
SequenceGroup[] seqgroupsColSel = Grouping.makeGroupsFromCols(
alignment.getSequencesArray(), cs,
Arrays.asList(new SequenceGroup[]
- { sg1, sg2 }));
- AssertJUnit.assertEquals(seqgroupsString.length, seqgroupsColSel.length);
+ { sg_12, sg_345 }));
+ AssertJUnit.assertEquals(seqgroupsString.length,
+ seqgroupsColSel.length);
for (int p = 0; p < seqgroupsString.length; p++)
{
AssertJUnit.assertEquals(seqgroupsString[p].getName(),