JAL-1270 JUnit to TestNG refactoring
[jalview.git] / test / jalview / datamodel / ColumnSelectionTest.java
1 package jalview.datamodel;
2
3 import static org.testng.AssertJUnit.assertEquals;
4 import org.testng.annotations.Test;
5 import java.util.List;
6
7 public class ColumnSelectionTest
8 {
9
10   @Test
11   public void testAddElement()
12   {
13     ColumnSelection cs = new ColumnSelection();
14     cs.addElement(2);
15     cs.addElement(5);
16     List<Integer> sel = cs.getSelected();
17     assertEquals(2, sel.size());
18     assertEquals(new Integer(2), sel.get(0));
19     assertEquals(new Integer(5), sel.get(1));
20   }
21
22   /**
23    * Test the remove method - in particular to verify that remove(int i) removes
24    * the element whose value is i, _NOT_ the i'th element.
25    */
26   @Test
27   public void testRemoveElement()
28   {
29     ColumnSelection cs = new ColumnSelection();
30     cs.addElement(2);
31     cs.addElement(5);
32
33     // removing elements not in the list has no effect
34     cs.removeElement(0);
35     cs.removeElement(1);
36     List<Integer> sel = cs.getSelected();
37     assertEquals(2, sel.size());
38     assertEquals(new Integer(2), sel.get(0));
39     assertEquals(new Integer(5), sel.get(1));
40
41     // removing an element in the list removes it
42     cs.removeElement(2);
43     assertEquals(1, sel.size());
44     assertEquals(new Integer(5), sel.get(0));
45   }
46
47   /**
48    * Test the method that finds the visible column position of an alignment
49    * column, allowing for hidden columns.
50    */
51   @Test
52   public void testFindColumnPosition()
53   {
54     ColumnSelection cs = new ColumnSelection();
55     assertEquals(5, cs.findColumnPosition(5));
56
57     // hiding column 6 makes no difference
58     cs.hideColumns(6, 6);
59     assertEquals(5, cs.findColumnPosition(5));
60
61     // hiding column 5 makes no difference
62     cs.hideColumns(5, 5);
63     assertEquals(5, cs.findColumnPosition(5));
64
65     // hiding column 4 moves column 5 to column 4
66     cs.hideColumns(4, 4);
67     assertEquals(4, cs.findColumnPosition(5));
68
69     // hiding columns 1 and 2 moves column 5 to column 2
70     cs.hideColumns(1, 2);
71     assertEquals(2, cs.findColumnPosition(5));
72   }
73 }