Merge branch 'develop' into features/JAL-2094_colourInterface
[jalview.git] / test / jalview / schemes / FeatureColourTest.java
index e13f542..db64cf5 100644 (file)
@@ -5,6 +5,7 @@ import static org.testng.AssertJUnit.assertFalse;
 import static org.testng.AssertJUnit.assertTrue;
 import static org.testng.AssertJUnit.fail;
 
+import jalview.api.ColorI;
 import jalview.datamodel.SequenceFeature;
 import jalview.util.Format;
 
@@ -15,44 +16,6 @@ import org.testng.annotations.Test;
 public class FeatureColourTest
 {
   @Test(groups = { "Functional" })
-  public void testCopyConstructor()
-  {
-    /*
-     * plain colour
-     */
-    FeatureColour fc = new FeatureColour(Color.RED);
-    FeatureColour fc1 = new FeatureColour(fc);
-    assertTrue(fc1.getColour().equals(Color.RED));
-    assertFalse(fc1.isGraduatedColour());
-    assertFalse(fc1.isColourByLabel());
-
-    /*
-     * min-max colour
-     */
-    fc = new FeatureColour(Color.gray, Color.black, 10f, 20f);
-    fc.setAboveThreshold(true);
-    fc.setThreshold(12f);
-    fc1 = new FeatureColour(fc);
-    assertTrue(fc1.isGraduatedColour());
-    assertFalse(fc1.isColourByLabel());
-    assertTrue(fc1.isAboveThreshold());
-    assertEquals(12f, fc1.getThreshold());
-    assertEquals(Color.gray, fc1.getMinColour());
-    assertEquals(Color.black, fc1.getMaxColour());
-    assertEquals(10f, fc1.getMin());
-    assertEquals(20f, fc1.getMax());
-
-    /*
-     * colour by label
-     */
-    fc = new FeatureColour();
-    fc.setColourByLabel(true);
-    fc1 = new FeatureColour(fc);
-    assertTrue(fc1.isColourByLabel());
-    assertFalse(fc1.isGraduatedColour());
-  }
-
-  @Test(groups = { "Functional" })
   public void testIsColored_simpleColour()
   {
     FeatureColour fc = new FeatureColour(Color.RED);
@@ -71,42 +34,42 @@ public class FeatureColourTest
   public void testIsColored_aboveThreshold()
   {
     // graduated colour range from score 20 to 100
-    FeatureColour fc = new FeatureColour(Color.WHITE, Color.BLACK, 20f,
-            100f);
+    FeatureColour fc = new FeatureColour(new Colour(Color.WHITE),
+            new Colour(Color.BLACK), 20f, 100f);
 
     // score 0 is adjusted to bottom of range
     SequenceFeature sf = new SequenceFeature("type", "desc", 0, 20, 0f,
             null);
     assertTrue(fc.isColored(sf));
-    assertEquals(Color.WHITE, fc.getColor(sf));
+    assertEquals(fc.getColor(sf), Colour.white);
 
     // score 120 is adjusted to top of range
     sf.setScore(120f);
-    assertEquals(Color.BLACK, fc.getColor(sf));
+    assertEquals(fc.getColor(sf), Colour.black);
 
     // value below threshold is still rendered
     // setting threshold has no effect yet...
     fc.setThreshold(60f);
     sf.setScore(36f);
     assertTrue(fc.isColored(sf));
-    assertEquals(new Color(204, 204, 204), fc.getColor(sf));
+    assertEquals(fc.getColor(sf), new Colour(204, 204, 204));
 
     // now apply threshold:
     fc.setAboveThreshold(true);
     assertFalse(fc.isColored(sf));
     // colour is still returned though ?!?
-    assertEquals(new Color(204, 204, 204), fc.getColor(sf));
+    assertEquals(fc.getColor(sf), new Colour(204, 204, 204));
 
     sf.setScore(84); // above threshold now
     assertTrue(fc.isColored(sf));
-    assertEquals(new Color(51, 51, 51), fc.getColor(sf));
+    assertEquals(fc.getColor(sf), new Colour(51, 51, 51));
   }
 
   @Test(groups = { "Functional" })
   public void testGetColor_simpleColour()
   {
-    FeatureColour fc = new FeatureColour(Color.RED);
-    assertEquals(Color.RED, fc.getColor(new SequenceFeature()));
+    FeatureColour fc = new FeatureColour(Colour.red);
+    assertEquals(fc.getColor(new SequenceFeature()), Colour.red);
   }
 
   @Test(groups = { "Functional" })
@@ -116,8 +79,10 @@ public class FeatureColourTest
     fc.setColourByLabel(true);
     SequenceFeature sf = new SequenceFeature("type", "desc", 0, 20, 1f,
             null);
-    Color expected = UserColourScheme.createColourFromName("desc");
-    assertEquals(expected, fc.getColor(sf));
+    ColorI expected = new Colour(
+            UserColourScheme.createColourFromName("desc"));
+    assertEquals(fc.getColor(sf), expected);
+    // assertEquals(expected, fc.getColor(sf));
   }
 
   @Test(groups = { "Functional" })
@@ -132,8 +97,9 @@ public class FeatureColourTest
     float red = 128 / 255f + 3 / 4f * (255 - 128) / 255f;
     float green = 128 / 255f + 3 / 4f * (0 - 128) / 255f;
     float blue = 128 / 255f + 3 / 4f * (0 - 128) / 255f;
-    Color expected = new Color(red, green, blue);
-    assertEquals(expected, fc.getColor(sf));
+    Colour expected = new Colour(red, green, blue);
+    assertEquals(fc.getColor(sf), expected);
+    // assertEquals(expected, fc.getColor(sf));
   }
 
   @Test(groups = { "Functional" })
@@ -146,11 +112,13 @@ public class FeatureColourTest
             null);
     fc.setThreshold(100f); // ignore for now
     assertTrue(fc.isColored(sf));
-    assertEquals(new Color(204, 204, 204), fc.getColor(sf));
+    assertEquals(fc.getColor(sf), new Colour(204, 204, 204));
+    // assertEquals(new Color(204, 204, 204), fc.getColor(sf));
 
     fc.setAboveThreshold(true); // feature lies below threshold
     assertFalse(fc.isColored(sf));
-    assertEquals(new Color(204, 204, 204), fc.getColor(sf));
+    assertEquals(fc.getColor(sf), new Colour(204, 204, 204));
+    // assertEquals(new Color(204, 204, 204), fc.getColor(sf));
   }
 
   /**
@@ -247,7 +215,7 @@ public class FeatureColourTest
      */
     FeatureColour fc = FeatureColour.parseJalviewFeatureColour("red");
     assertTrue(fc.isSimpleColour());
-    assertEquals(Color.RED, fc.getColour());
+    assertEquals(fc.getColour(), Colour.red);
 
     /*
      * simple colour by hex code
@@ -255,14 +223,16 @@ public class FeatureColourTest
     fc = FeatureColour.parseJalviewFeatureColour(Format
             .getHexString(Color.RED));
     assertTrue(fc.isSimpleColour());
-    assertEquals(Color.RED, fc.getColour());
+    assertEquals(fc.getColour(), Colour.red);
+    // assertEquals(Color.RED, fc.getColour());
 
     /*
      * simple colour by rgb triplet
      */
     fc = FeatureColour.parseJalviewFeatureColour("255,0,0");
     assertTrue(fc.isSimpleColour());
-    assertEquals(Color.RED, fc.getColour());
+    assertEquals(fc.getColour(), Colour.red);
+    // assertEquals(Color.RED, fc.getColour());
 
     /*
      * malformed colour
@@ -298,8 +268,10 @@ public class FeatureColourTest
     fc = FeatureColour.parseJalviewFeatureColour("red|green|10.0|20.0");
     assertTrue(fc.isGraduatedColour());
     assertFalse(fc.hasThreshold());
-    assertEquals(Color.RED, fc.getMinColour());
-    assertEquals(Color.GREEN, fc.getMaxColour());
+    assertEquals(fc.getMinColour(), Colour.red);
+    // assertEquals(Color.RED, fc.getMinColour());
+    assertEquals(fc.getMaxColour(), Colour.green);
+    // assertEquals(Color.GREEN, fc.getMaxColour());
     assertEquals(10f, fc.getMin());
     assertEquals(20f, fc.getMax());
     assertTrue(fc.isAutoScaled());
@@ -315,8 +287,10 @@ public class FeatureColourTest
     assertTrue(fc.hasThreshold());
     assertTrue(fc.isAboveThreshold());
     assertEquals(15f, fc.getThreshold());
-    assertEquals(Color.RED, fc.getMinColour());
-    assertEquals(Color.GREEN, fc.getMaxColour());
+    assertEquals(fc.getMinColour(), Colour.red);
+    // assertEquals(Color.RED, fc.getMinColour());
+    assertEquals(fc.getMaxColour(), Colour.green);
+    // assertEquals(Color.GREEN, fc.getMaxColour());
     assertEquals(10f, fc.getMin());
     assertEquals(20f, fc.getMax());
     assertTrue(fc.isAutoScaled());
@@ -331,14 +305,11 @@ public class FeatureColourTest
     assertTrue(fc.hasThreshold());
     assertTrue(fc.isBelowThreshold());
     assertEquals(15f, fc.getThreshold());
-    assertEquals(Color.RED, fc.getMinColour());
-    assertEquals(Color.GREEN, fc.getMaxColour());
+    assertEquals(fc.getMinColour(), Colour.red);
+    // assertEquals(Color.RED, fc.getMinColour());
+    assertEquals(fc.getMaxColour(), Colour.green);
+    // assertEquals(Color.GREEN, fc.getMaxColour());
     assertEquals(10f, fc.getMin());
     assertEquals(20f, fc.getMax());
-
-    descriptor = String
-            .format("blue|255,0,255|absolute|20.0|95.0|below|66.0");
-    fc = FeatureColour.parseJalviewFeatureColour(descriptor);
-    assertTrue(fc.isGraduatedColour());
   }
 }