JAL-2172 unit test added
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Tue, 16 Aug 2016 15:52:03 +0000 (16:52 +0100)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Tue, 16 Aug 2016 15:52:03 +0000 (16:52 +0100)
test/jalview/datamodel/ColumnSelectionTest.java

index 1a7ae32..04af3ce 100644 (file)
@@ -325,10 +325,14 @@ public class ColumnSelectionTest
    * this fails, HideSelectedColumns may also fail
    */
   @Test(groups = { "Functional" })
-  public void testgetSelectedRanges()
+  public void testGetSelectedRanges()
   {
+    /*
+     * getSelectedRanges returns ordered columns regardless
+     * of the order in which they are added
+     */
     ColumnSelection cs = new ColumnSelection();
-    int[] sel = { 2, 3, 4, 7, 8, 9, 20, 21, 22 };
+    int[] sel = { 4, 3, 7, 21, 9, 20, 8, 22, 2 };
     for (int col : sel)
     {
       cs.addElement(col);
@@ -527,4 +531,35 @@ public class ColumnSelectionTest
     cs.addElement(88);
     assertTrue(cs.equals(cs2));
   }
+
+  /**
+   * Test the method that returns selected columns, in the order in which they
+   * were added
+   */
+  @Test(groups = { "Functional" })
+  public void testGetSelection()
+  {
+    ColumnSelection cs = new ColumnSelection();
+    int[] sel = { 4, 3, 7, 21 };
+    for (int col : sel)
+    {
+      cs.addElement(col);
+    }
+    List<Integer> selected = cs.getSelected();
+    assertEquals(4, selected.size());
+    int i = 0;
+    for (int col : sel)
+    {
+      assertEquals(col, selected.get(i++).intValue());
+    }
+
+    cs.removeElement(7);
+    cs.addElement(1);
+    cs.removeElement(4);
+    selected = cs.getSelected();
+    assertEquals(3, selected.size());
+    assertEquals(3, selected.get(0).intValue());
+    assertEquals(21, selected.get(1).intValue());
+    assertEquals(1, selected.get(2).intValue());
+  }
 }