test HMMER colour scheme
[jalview.git] / test / jalview / schemes / HMMERColourSchemeTest.java
diff --git a/test/jalview/schemes/HMMERColourSchemeTest.java b/test/jalview/schemes/HMMERColourSchemeTest.java
new file mode 100644 (file)
index 0000000..44990c7
--- /dev/null
@@ -0,0 +1,57 @@
+package jalview.schemes;
+
+import static org.testng.Assert.assertEquals;
+
+import jalview.io.DataSourceType;
+import jalview.io.FileParse;
+import jalview.io.HMMFile;
+
+import java.awt.Color;
+import java.io.IOException;
+import java.net.MalformedURLException;
+
+import org.testng.annotations.Test;
+
+public class HMMERColourSchemeTest {
+  HMMERColourScheme scheme = new HMMERColourScheme();
+
+  @Test
+  public void testFindColour() throws MalformedURLException, IOException
+  {
+
+    HMMFile file = new HMMFile(new FileParse(
+            "test/jalview/io/test_PKinase_hmm.txt", DataSourceType.FILE));
+    file.parse();
+    scheme.hmm = file.getHMM();
+
+    Color actual = scheme.findColour('A', 1);
+    Color expected = new Color(1f, 1f - 0.06253430455f, 0f);
+    assertEquals(actual, expected);
+
+    actual = scheme.findColour('Y', 3);
+    expected = new Color(1f, 1f - 0.02082023351f, 0f);
+    assertEquals(actual, expected);
+
+    actual = scheme.findColour('M', 109);
+    expected = new Color(1f, 1f, 0);
+    assertEquals(actual, expected);
+
+    actual = scheme.findColour('I', 128);
+    expected = new Color(1f, 1f - 0.15097062462f, 0);
+    assertEquals(actual, expected);
+
+    actual = scheme.findColour('D', 181);
+    expected = new Color(1f, 1f - 0.08686935114f, 0);
+    assertEquals(actual, expected);
+
+    actual = scheme.findColour('Z', 1);
+    expected = new Color(1f, 1f, 0);
+    assertEquals(actual, expected);
+
+    actual = scheme.findColour('A', 4000);
+    expected = new Color(1f, 1f, 0);
+    assertEquals(actual, expected);
+
+  }
+
+}