1 package jalview.schemes;
3 import static org.testng.Assert.assertEquals;
4 import static org.testng.Assert.assertNull;
5 import static org.testng.Assert.assertTrue;
7 import jalview.datamodel.Alignment;
8 import jalview.datamodel.AlignmentI;
9 import jalview.datamodel.Sequence;
10 import jalview.datamodel.SequenceI;
12 import java.awt.Color;
14 import org.testng.annotations.Test;
16 public class ColourSchemePropertyTest
18 @Test(groups = "Functional")
19 public void testGetColourName()
21 SequenceI seq = new Sequence("Seq1", "abcd");
22 AlignmentI al = new Alignment(new SequenceI[] { seq });
23 ColourSchemeI cs = new ClustalxColourScheme(al, null);
24 assertEquals(ColourSchemeProperty.getColourName(cs), "Clustal");
25 cs = new Blosum62ColourScheme();
26 assertEquals(ColourSchemeProperty.getColourName(cs), "Blosum62");
27 cs = new PIDColourScheme();
28 assertEquals(ColourSchemeProperty.getColourName(cs), "% Identity");
29 cs = new HydrophobicColourScheme();
30 assertEquals(ColourSchemeProperty.getColourName(cs), "Hydrophobic");
31 cs = new ZappoColourScheme();
32 assertEquals(ColourSchemeProperty.getColourName(cs), "Zappo");
33 cs = new TaylorColourScheme();
34 assertEquals(ColourSchemeProperty.getColourName(cs), "Taylor");
35 cs = new HelixColourScheme();
36 assertEquals(ColourSchemeProperty.getColourName(cs),
38 cs = new StrandColourScheme();
39 assertEquals(ColourSchemeProperty.getColourName(cs),
41 cs = new TurnColourScheme();
42 assertEquals(ColourSchemeProperty.getColourName(cs), "Turn Propensity");
43 cs = new BuriedColourScheme();
44 assertEquals(ColourSchemeProperty.getColourName(cs), "Buried Index");
45 cs = new NucleotideColourScheme();
46 assertEquals(ColourSchemeProperty.getColourName(cs), "Nucleotide");
47 cs = new PurinePyrimidineColourScheme();
48 assertEquals(ColourSchemeProperty.getColourName(cs),
50 cs = new TCoffeeColourScheme(al);
51 assertEquals(ColourSchemeProperty.getColourName(cs), "T-Coffee Scores");
52 cs = new RNAHelicesColour(al);
53 assertEquals(ColourSchemeProperty.getColourName(cs), "RNA Helices");
54 cs = new RNAInteractionColourScheme();
55 assertEquals(ColourSchemeProperty.getColourName(cs),
56 "RNA Interaction type");
57 cs = new UserColourScheme();
58 assertEquals(ColourSchemeProperty.getColourName(cs), "User Defined");
61 * UserColourScheme may have a bespoke name
63 ((UserColourScheme) cs).setName("stripy");
64 assertEquals(ColourSchemeProperty.getColourName(cs), "stripy");
65 ((UserColourScheme) cs).setName("");
66 assertEquals(ColourSchemeProperty.getColourName(cs), "User Defined");
67 ((UserColourScheme) cs).setName(null);
68 assertEquals(ColourSchemeProperty.getColourName(cs), "User Defined");
70 assertEquals(ColourSchemeProperty.getColourName(null), "None");
73 @Test(groups = "Functional")
74 public void testGetColourScheme()
76 SequenceI seq = new Sequence("Seq1", "abcd");
77 AlignmentI al = new Alignment(new SequenceI[] { seq });
78 // the strings here correspond to JalviewColourScheme.toString() values
79 assertTrue(ColourSchemeProperty.getColourScheme(al, "Clustal") instanceof ClustalxColourScheme);
81 assertTrue(ColourSchemeProperty.getColourScheme(al, "CLUSTAL") instanceof ClustalxColourScheme);
82 assertTrue(ColourSchemeProperty.getColourScheme(al, "clustal") instanceof ClustalxColourScheme);
83 assertTrue(ColourSchemeProperty.getColourScheme(al, "Blosum62") instanceof Blosum62ColourScheme);
84 assertTrue(ColourSchemeProperty.getColourScheme(al, "% Identity") instanceof PIDColourScheme);
85 assertTrue(ColourSchemeProperty.getColourScheme(al, "Zappo") instanceof ZappoColourScheme);
86 assertTrue(ColourSchemeProperty.getColourScheme(al, "Taylor") instanceof TaylorColourScheme);
87 assertTrue(ColourSchemeProperty.getColourScheme(al, "Hydrophobic") instanceof HydrophobicColourScheme);
88 assertTrue(ColourSchemeProperty.getColourScheme(al, "Helix Propensity") instanceof HelixColourScheme);
89 assertTrue(ColourSchemeProperty
90 .getColourScheme(al, "Strand Propensity") instanceof StrandColourScheme);
91 assertTrue(ColourSchemeProperty.getColourScheme(al, "Turn Propensity") instanceof TurnColourScheme);
92 assertTrue(ColourSchemeProperty.getColourScheme(al, "Buried Index") instanceof BuriedColourScheme);
93 assertTrue(ColourSchemeProperty.getColourScheme(al, "Nucleotide") instanceof NucleotideColourScheme);
94 assertTrue(ColourSchemeProperty
95 .getColourScheme(al, "Purine/Pyrimidine") instanceof PurinePyrimidineColourScheme);
96 assertTrue(ColourSchemeProperty.getColourScheme(al, "T-Coffee Scores") instanceof TCoffeeColourScheme);
97 assertTrue(ColourSchemeProperty.getColourScheme(al, "RNA Helices") instanceof RNAHelicesColour);
98 assertTrue(ColourSchemeProperty.getColourScheme(al, "User Defined") instanceof UserColourScheme);
99 // 'None' is a special value
100 assertNull(ColourSchemeProperty.getColourScheme(al, "None"));
101 assertNull(ColourSchemeProperty.getColourScheme(al, "none"));
102 // default is to convert the name into a fixed colour
103 assertTrue(ColourSchemeProperty.getColourScheme(al, "elephants") instanceof UserColourScheme);
106 * explicit aa colours
108 ColourSchemeI cs = ColourSchemeProperty.getColourScheme(al,
109 "R,G=red;C=blue;c=green;Q=10,20,30;S,T=11ffdd");
110 assertEquals(cs.findColour('H'), Color.white);
111 assertEquals(cs.findColour('R'), Color.red);
112 assertEquals(cs.findColour('r'), Color.red);
113 assertEquals(cs.findColour('G'), Color.red);
114 assertEquals(cs.findColour('C'), Color.blue);
115 assertEquals(cs.findColour('c'), Color.green);
116 assertEquals(cs.findColour('Q'), new Color(10, 20, 30));
117 assertEquals(cs.findColour('S'), new Color(0x11ffdd));
118 assertEquals(cs.findColour('T'), new Color(0x11ffdd));