JAL-2629 fix issue where HMM sequence would be longer than alignment
[jalview.git] / test / jalview / util / SetUtilsTest.java
1 package jalview.util;
2
3 import static org.testng.Assert.assertEquals;
4
5 import java.awt.Color;
6 import java.util.HashSet;
7 import java.util.Set;
8
9 import org.testng.annotations.Test;
10
11 public class SetUtilsTest
12 {
13   @Test(groups = "Functional")
14   public void testCountDisjunction()
15   {
16     Set<Color> s1 = new HashSet<Color>();
17     assertEquals(SetUtils.countDisjunction(null, null), 0);
18     assertEquals(SetUtils.countDisjunction(s1, null), 0);
19     assertEquals(SetUtils.countDisjunction(null, s1), 0);
20     s1.add(Color.white);
21     assertEquals(SetUtils.countDisjunction(s1, null), 1);
22     assertEquals(SetUtils.countDisjunction(null, s1), 1);
23     assertEquals(SetUtils.countDisjunction(s1, null), 1);
24     assertEquals(SetUtils.countDisjunction(s1, s1), 0);
25
26     Set<Object> s2 = new HashSet<Object>();
27     assertEquals(SetUtils.countDisjunction(s2, s2), 0);
28     assertEquals(SetUtils.countDisjunction(s1, s2), 1);
29     assertEquals(SetUtils.countDisjunction(s2, s1), 1);
30
31     s1.add(Color.yellow);
32     s1.add(Color.blue);
33     s2.add(new Color(Color.yellow.getRGB()));
34
35     /*
36      * now s1 is {white, yellow, blue}
37      *     s2 is {yellow'}
38      */
39     assertEquals(SetUtils.countDisjunction(s1, s2), 2);
40     s2.add(Color.blue);
41     assertEquals(SetUtils.countDisjunction(s1, s2), 1);
42     s2.add(Color.pink);
43     assertEquals(SetUtils.countDisjunction(s1, s2), 2);
44
45   }
46 }