import static org.testng.AssertJUnit.assertTrue;
import static org.testng.AssertJUnit.fail;
+import jalview.api.ColorI;
import jalview.datamodel.SequenceFeature;
import jalview.util.Format;
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);
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" })
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" })
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" })
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));
}
/**
*/
FeatureColour fc = FeatureColour.parseJalviewFeatureColour("red");
assertTrue(fc.isSimpleColour());
- assertEquals(Color.RED, fc.getColour());
+ assertEquals(fc.getColour(), Colour.red);
/*
* simple colour by hex code
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
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());
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());
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());
}
}