package jalview.schemes;
import static org.testng.Assert.assertEquals;
import java.awt.Color;
import org.testng.annotations.Test;
public class PIDColourSchemeTest
{
/**
* Test findColour for cases:
*
* - gap: white
* - no match to consensus: white
* - match consensus with pid > 80%: 100,100,255
* - match consensus with pid > 60%: 153, 153, 255
* - match consensus with pid > 40%: 204, 204, 255
* - match consensus with pid <= 40%: white
* - joint consensus matching
* - case insensitive matching
*
*/
@Test
public void testFindColour()
{
ColourSchemeI scheme = new PIDColourScheme();
Color over40 = new Color(204, 204, 255);
Color over60 = new Color(153, 153, 255);
Color over80 = new Color(100, 100, 255);
/*
* doesn't use column or sequence
*/
assertEquals(scheme.findColour('A', 0, null, "A", 0f), Color.white);
assertEquals(scheme.findColour('A', 0, null, "A", 40f), Color.white);
assertEquals(scheme.findColour('A', 0, null, "A", 40.1f), over40);
assertEquals(scheme.findColour('A', 0, null, "A", 60f), over40);
assertEquals(scheme.findColour('A', 0, null, "A", 60.1f), over60);
assertEquals(scheme.findColour('A', 0, null, "A", 80f), over60);
assertEquals(scheme.findColour('A', 0, null, "A", 80.1f), over80);
assertEquals(scheme.findColour('A', 0, null, "A", 100f), over80);
assertEquals(scheme.findColour('a', 0, null, "A", 80f), over60);
assertEquals(scheme.findColour('A', 0, null, "a", 80f), over60);
assertEquals(scheme.findColour('a', 0, null, "a", 80f), over60);
assertEquals(scheme.findColour('A', 0, null, "AC", 80f), over60);
assertEquals(scheme.findColour('A', 0, null, "KCA", 80f), over60);
}
}