JAL-2360 getColour() renamed to getColourScheme(), handling of "None"
[jalview.git] / test / jalview / schemes / ColourSchemePropertyTest.java
1 package jalview.schemes;
2
3 import static org.testng.Assert.assertEquals;
4 import static org.testng.Assert.assertNull;
5 import static org.testng.Assert.assertTrue;
6
7 import jalview.datamodel.Alignment;
8 import jalview.datamodel.AlignmentI;
9 import jalview.datamodel.Sequence;
10 import jalview.datamodel.SequenceI;
11
12 import org.testng.annotations.Test;
13
14 public class ColourSchemePropertyTest
15 {
16   @Test
17   public void testGetColourName()
18   {
19     SequenceI seq = new Sequence("Seq1", "abcd");
20     AlignmentI al = new Alignment(new SequenceI[] { seq });
21     ColourSchemeI cs = new ClustalxColourScheme(al, null);
22     assertEquals(ColourSchemeProperty.getColourName(cs), "Clustal");
23     cs = new Blosum62ColourScheme();
24     assertEquals(ColourSchemeProperty.getColourName(cs), "Blosum62");
25     cs = new PIDColourScheme();
26     assertEquals(ColourSchemeProperty.getColourName(cs), "% Identity");
27     cs = new HydrophobicColourScheme();
28     assertEquals(ColourSchemeProperty.getColourName(cs), "Hydrophobic");
29     cs = new ZappoColourScheme();
30     assertEquals(ColourSchemeProperty.getColourName(cs), "Zappo");
31     cs = new TaylorColourScheme();
32     assertEquals(ColourSchemeProperty.getColourName(cs), "Taylor");
33     cs = new HelixColourScheme();
34     assertEquals(ColourSchemeProperty.getColourName(cs),
35             "Helix Propensity");
36     cs = new StrandColourScheme();
37     assertEquals(ColourSchemeProperty.getColourName(cs),
38             "Strand Propensity");
39     cs = new TurnColourScheme();
40     assertEquals(ColourSchemeProperty.getColourName(cs), "Turn Propensity");
41     cs = new BuriedColourScheme();
42     assertEquals(ColourSchemeProperty.getColourName(cs), "Buried Index");
43     cs = new NucleotideColourScheme();
44     assertEquals(ColourSchemeProperty.getColourName(cs), "Nucleotide");
45     cs = new PurinePyrimidineColourScheme();
46     assertEquals(ColourSchemeProperty.getColourName(cs),
47             "Purine/Pyrimidine");
48     cs = new TCoffeeColourScheme(al);
49     assertEquals(ColourSchemeProperty.getColourName(cs), "T-Coffee Scores");
50     cs = new RNAHelicesColour(al);
51     assertEquals(ColourSchemeProperty.getColourName(cs), "RNA Helices");
52     cs = new RNAInteractionColourScheme();
53     assertEquals(ColourSchemeProperty.getColourName(cs),
54             "RNA Interaction type");
55     cs = new UserColourScheme();
56     assertEquals(ColourSchemeProperty.getColourName(cs), "User Defined");
57
58     /*
59      * UserColourScheme may have a bespoke name
60      */
61     ((UserColourScheme) cs).setName("stripy");
62     assertEquals(ColourSchemeProperty.getColourName(cs), "stripy");
63     ((UserColourScheme) cs).setName("");
64     assertEquals(ColourSchemeProperty.getColourName(cs), "User Defined");
65     ((UserColourScheme) cs).setName(null);
66     assertEquals(ColourSchemeProperty.getColourName(cs), "User Defined");
67
68     assertEquals(ColourSchemeProperty.getColourName(null), "None");
69   }
70
71   @Test
72   public void testGetColourScheme()
73   {
74     SequenceI seq = new Sequence("Seq1", "abcd");
75     AlignmentI al = new Alignment(new SequenceI[] { seq });
76     // the strings here correspond to JalviewColourScheme.toString() values
77     assertTrue(ColourSchemeProperty.getColourScheme(al, "Clustal") instanceof ClustalxColourScheme);
78     // not case-sensitive
79     assertTrue(ColourSchemeProperty.getColourScheme(al, "CLUSTAL") instanceof ClustalxColourScheme);
80     assertTrue(ColourSchemeProperty.getColourScheme(al, "clustal") instanceof ClustalxColourScheme);
81     assertTrue(ColourSchemeProperty.getColourScheme(al, "Blosum62") instanceof Blosum62ColourScheme);
82     assertTrue(ColourSchemeProperty.getColourScheme(al, "% Identity") instanceof PIDColourScheme);
83     assertTrue(ColourSchemeProperty.getColourScheme(al, "Zappo") instanceof ZappoColourScheme);
84     assertTrue(ColourSchemeProperty.getColourScheme(al, "Taylor") instanceof TaylorColourScheme);
85     assertTrue(ColourSchemeProperty.getColourScheme(al, "Hydrophobic") instanceof HydrophobicColourScheme);
86     assertTrue(ColourSchemeProperty.getColourScheme(al, "Helix Propensity") instanceof HelixColourScheme);
87     assertTrue(ColourSchemeProperty
88             .getColourScheme(al, "Strand Propensity") instanceof StrandColourScheme);
89     assertTrue(ColourSchemeProperty.getColourScheme(al, "Turn Propensity") instanceof TurnColourScheme);
90     assertTrue(ColourSchemeProperty.getColourScheme(al, "Buried Index") instanceof BuriedColourScheme);
91     assertTrue(ColourSchemeProperty.getColourScheme(al, "Nucleotide") instanceof NucleotideColourScheme);
92     assertTrue(ColourSchemeProperty
93             .getColourScheme(al, "Purine/Pyrimidine") instanceof PurinePyrimidineColourScheme);
94     assertTrue(ColourSchemeProperty.getColourScheme(al, "T-Coffee Scores") instanceof TCoffeeColourScheme);
95     assertTrue(ColourSchemeProperty.getColourScheme(al, "RNA Helices") instanceof RNAHelicesColour);
96     assertTrue(ColourSchemeProperty.getColourScheme(al, "User Defined") instanceof UserColourScheme);
97     // 'None' is a special value
98     assertNull(ColourSchemeProperty.getColourScheme(al, "None"));
99     assertNull(ColourSchemeProperty.getColourScheme(al, "none"));
100     // default is to convert the name into a fixed coloour
101     assertTrue(ColourSchemeProperty.getColourScheme(al, "elephants") instanceof UserColourScheme);
102   }
103 }