JAL-3438 spotless for 2.11.2.0
[jalview.git] / test / jalview / analysis / GroupingTest.java
index 4698d0d..d547631 100644 (file)
@@ -1,3 +1,23 @@
+/*
+ * 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 <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
 package jalview.analysis;
 
 import jalview.datamodel.Alignment;
@@ -6,15 +26,23 @@ 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");
@@ -25,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(groups ={ "Functional" })
+  @Test(groups = { "Functional" })
   public void testMakeGroupsWithBoth()
   {
-    ArrayList<String> str = new ArrayList<String>();
+    String[] str = new String[alignment.getHeight()];
+    int seq = 0;
     for (SequenceI s : alignment.getSequences())
     {
       StringBuilder sb = new StringBuilder();
@@ -48,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)
     {
@@ -63,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(),