JAL-2589 correct colour for Gap in Score and User Defined schemes
[jalview.git] / test / jalview / schemes / UserColourSchemeTest.java
index 497014e..2a482ee 100644 (file)
@@ -54,6 +54,10 @@ public class UserColourSchemeTest
     assertEquals(c1, cs.findColour('h'));
     Color c2 = new Color(10, 20, 30);
     assertEquals(c2, cs.findColour('c'));
+    assertEquals(Color.WHITE, cs.findColour('G'));
+    assertEquals(Color.WHITE, cs.findColour('-'));
+    assertEquals(Color.WHITE, cs.findColour('.'));
+    assertEquals(Color.WHITE, cs.findColour(' '));
 
     cs = new UserColourScheme("white");
     cs.parseAppletParameter("D,E=red; K,R,H=0022FF; c=10 , 20,30;t=orange;lowercase=blue;s=pink");
@@ -80,4 +84,29 @@ public class UserColourSchemeTest
     String param = cs.toAppletParameter();
     assertEquals("D,E=ff0000;H,K,R=0022ff;c=0a141e", param);
   }
+
+  /**
+   * Test for user colour scheme constructed with a colour per residue,
+   * including gap. Note this can currently be done from the User Defined
+   * Colours dialog, but not by parsing a colours parameter, as
+   * parseAppletParameter only recognises amino acid codes.
+   */
+  @Test(groups = "Functional")
+  public void testConstructor_coloursArray()
+  {
+    Color g = Color.green;
+    Color y = Color.yellow;
+    Color b = Color.blue;
+    Color r = Color.red;
+    // colours for ARNDCQEGHILKMFPSTWYVBZ and gap
+    Color[] colours = new Color[] { g, y, b, r, g, y, r, b, g, y, r, b, g,
+        y, r, b, g, y, r, b, g, y, r, g };
+    UserColourScheme cs = new UserColourScheme(colours);
+
+    assertEquals(g, cs.findColour('A'));
+    assertEquals(b, cs.findColour('n'));
+    assertEquals(g, cs.findColour('-'));
+    assertEquals(g, cs.findColour('.'));
+    assertEquals(g, cs.findColour(' '));
+  }
 }