Merge branch 'bug/JAL-2541cutWithFeatures' into features/JAL-2446NCList
[jalview.git] / test / jalview / datamodel / features / RangeComparatorTest.java
1 package jalview.datamodel.features;
2
3 import static org.testng.Assert.assertEquals;
4
5 import java.util.Comparator;
6
7 import org.testng.annotations.Test;
8
9 public class RangeComparatorTest
10 {
11
12   @Test(groups = "Functional")
13   public void testCompare()
14   {
15     RangeComparator comp = new RangeComparator(true);
16
17     // same position, same length
18     assertEquals(comp.compare(10, 10, 20, 20), 0);
19     // same position, len1 > len2
20     assertEquals(comp.compare(10, 10, 20, 19), -1);
21     // same position, len1 < len2
22     assertEquals(comp.compare(10, 10, 20, 21), 1);
23     // pos1 > pos2
24     assertEquals(comp.compare(11, 10, 20, 20), 1);
25     // pos1 < pos2
26     assertEquals(comp.compare(10, 11, 20, 10), -1);
27   }
28
29   @Test(groups = "Functional")
30   public void testCompare_byStart()
31   {
32     Comparator<ContiguousI> comp = RangeComparator.BY_START_POSITION;
33
34     // same start position, same length
35     assertEquals(comp.compare(new Range(10, 20), new Range(10, 20)), 0);
36     // same start position, len1 > len2
37     assertEquals(comp.compare(new Range(10, 20), new Range(10, 19)), -1);
38     // same start position, len1 < len2
39     assertEquals(comp.compare(new Range(10, 18), new Range(10, 20)), 1);
40     // pos1 > pos2
41     assertEquals(comp.compare(new Range(11, 20), new Range(10, 20)), 1);
42     // pos1 < pos2
43     assertEquals(comp.compare(new Range(10, 20), new Range(11, 20)), -1);
44   }
45
46   @Test(groups = "Functional")
47   public void testCompare_byEnd()
48   {
49     Comparator<ContiguousI> comp = RangeComparator.BY_END_POSITION;
50
51     // same end position, same length
52     assertEquals(comp.compare(new Range(10, 20), new Range(10, 20)), 0);
53     // same end position, len1 > len2
54     assertEquals(comp.compare(new Range(10, 20), new Range(11, 20)), -1);
55     // same end position, len1 < len2
56     assertEquals(comp.compare(new Range(11, 20), new Range(10, 20)), 1);
57     // end1 > end2
58     assertEquals(comp.compare(new Range(10, 21), new Range(10, 20)), 1);
59     // end1 < end2
60     assertEquals(comp.compare(new Range(10, 20), new Range(10, 21)), -1);
61   }
62 }