JAL-2371 tests added
[jalview.git] / test / jalview / datamodel / SequenceGroupTest.java
1 package jalview.datamodel;
2
3 import static org.testng.Assert.assertEquals;
4 import static org.testng.Assert.assertFalse;
5 import static org.testng.Assert.assertNotNull;
6 import static org.testng.Assert.assertNull;
7 import static org.testng.Assert.assertSame;
8 import static org.testng.Assert.assertTrue;
9
10 import jalview.schemes.NucleotideColourScheme;
11
12 import org.testng.annotations.Test;
13
14 public class SequenceGroupTest
15 {
16   @Test
17   public void testAddSequence()
18   {
19     SequenceGroup sg = new SequenceGroup();
20     assertTrue(sg.getSequences().isEmpty());
21
22     SequenceI seq1 = new Sequence("seq1", "abc");
23     SequenceI seq2 = new Sequence("seq2", "abc");
24     SequenceI seq3 = new Sequence(seq1);
25
26     sg.addSequence(null, false);
27     assertTrue(sg.getSequences().isEmpty());
28     sg.addSequence(seq1, false);
29     assertEquals(sg.getSequences().size(), 1);
30     assertTrue(sg.getSequences().contains(seq1));
31     // adding the same sequence again does nothing
32     sg.addSequence(seq1, false);
33     assertEquals(sg.getSequences().size(), 1);
34     assertTrue(sg.getSequences().contains(seq1));
35     sg.addSequence(seq2, false);
36     sg.addSequence(seq2, false);
37     sg.addSequence(seq3, false);
38     assertEquals(sg.getSequences().size(), 3);
39     assertTrue(sg.getSequences().contains(seq1));
40     assertTrue(sg.getSequences().contains(seq2));
41     assertTrue(sg.getSequences().contains(seq3));
42   }
43
44   @Test
45   public void testAddOrRemove()
46   {
47     SequenceGroup sg = new SequenceGroup();
48     assertTrue(sg.getSequences().isEmpty());
49   
50     SequenceI seq1 = new Sequence("seq1", "abc");
51     SequenceI seq2 = new Sequence("seq2", "abc");
52     SequenceI seq3 = new Sequence(seq1);
53   
54     sg.addOrRemove(seq1, false);
55     assertEquals(sg.getSequences().size(), 1);
56     sg.addOrRemove(seq2, false);
57     assertEquals(sg.getSequences().size(), 2);
58     sg.addOrRemove(seq3, false);
59     assertEquals(sg.getSequences().size(), 3);
60     assertTrue(sg.getSequences().contains(seq1));
61     assertTrue(sg.getSequences().contains(seq2));
62     assertTrue(sg.getSequences().contains(seq3));
63     sg.addOrRemove(seq1, false);
64     assertEquals(sg.getSequences().size(), 2);
65     assertFalse(sg.getSequences().contains(seq1));
66   }
67
68   @Test
69   public void testGetColourScheme()
70   {
71     SequenceGroup sg = new SequenceGroup();
72     assertNotNull(sg.getGroupColourScheme());
73     assertNull(sg.getColourScheme());
74
75     sg.setGroupColourScheme(null);
76     assertNull(sg.getColourScheme());
77
78     NucleotideColourScheme scheme = new NucleotideColourScheme();
79     sg.setColourScheme(scheme);
80     assertSame(scheme, sg.getColourScheme());
81   }
82 }