JAL-2371 CollectionColourScheme wraps ColourSchemeI
[jalview.git] / test / jalview / schemes / ResidueColourSchemeTest.java
index c3ea385..b45e0d3 100644 (file)
@@ -29,16 +29,11 @@ import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.AnnotatedCollectionI;
 import jalview.datamodel.Annotation;
-import jalview.datamodel.Profile;
-import jalview.datamodel.ProfileI;
-import jalview.datamodel.Profiles;
 import jalview.datamodel.Sequence;
 import jalview.datamodel.SequenceI;
 import jalview.gui.JvOptionPane;
 import jalview.io.TCoffeeScoreFile;
 
-import java.awt.Color;
-
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
@@ -58,139 +53,6 @@ public class ResidueColourSchemeTest
   }
 
   @Test(groups = "Functional")
-  public void testAboveThreshold()
-  {
-    /*
-     * make up profiles for this alignment:
-     * AR-Q
-     * AR--
-     * SR-T
-     * SR-T
-     */
-    ProfileI[] profiles = new ProfileI[4];
-    profiles[0] = new Profile(4, 0, 2, "AS");
-    profiles[1] = new Profile(4, 0, 4, "R");
-    profiles[2] = new Profile(4, 4, 0, "");
-    profiles[3] = new Profile(4, 1, 2, "T");
-    ResidueColourScheme rcs = new PIDColourScheme();
-    rcs.setConsensus(new Profiles(profiles));
-    
-    /*
-     * no threshold
-     */
-    rcs.setThreshold(0, true);
-    assertTrue(rcs.aboveThreshold('a', 0));
-    assertTrue(rcs.aboveThreshold('S', 0));
-    assertTrue(rcs.aboveThreshold('W', 0));
-    assertTrue(rcs.aboveThreshold('R', 1));
-    assertTrue(rcs.aboveThreshold('W', 2));
-    assertTrue(rcs.aboveThreshold('t', 3));
-    assertTrue(rcs.aboveThreshold('Q', 3));
-
-    /*
-     * with threshold, include gaps
-     */
-    rcs.setThreshold(60, false);
-    assertFalse(rcs.aboveThreshold('a', 0));
-    assertFalse(rcs.aboveThreshold('S', 0));
-    assertTrue(rcs.aboveThreshold('R', 1));
-    assertFalse(rcs.aboveThreshold('W', 2));
-    assertFalse(rcs.aboveThreshold('t', 3)); // 50% < 60%
-
-    /*
-     * with threshold, ignore gaps
-     */
-    rcs.setThreshold(60, true);
-    assertFalse(rcs.aboveThreshold('a', 0));
-    assertFalse(rcs.aboveThreshold('S', 0));
-    assertTrue(rcs.aboveThreshold('R', 1));
-    assertFalse(rcs.aboveThreshold('W', 2));
-    assertTrue(rcs.aboveThreshold('t', 3)); // 67% > 60%
-  }
-
-  /**
-   * Test colour bleaching based on conservation score and conservation slider.
-   * Scores of 10 or 11 should leave colours unchanged. Gap is always white.
-   */
-  @Test(groups = "Functional")
-  public void testApplyConservation()
-  {
-    ResidueColourScheme rcs = new PIDColourScheme();
-
-    // no conservation present - no fading
-    assertEquals(Color.RED, rcs.applyConservation(Color.RED, 12));
-    
-    // cheat by setting conservation sequence directly
-    // rather than calculating it - good enough for this test
-    String consensus = "0123456789+*-";
-    rcs.conservation = consensus.toCharArray();
-
-    // column out of range:
-    assertEquals(Color.RED,
-            rcs.applyConservation(Color.RED, consensus.length()));
-
-    /*
-     * with 100% threshold, 'fade factor' is 
-     * (11-score)/10 * 100/20 = (11-score)/2
-     * which is >= 1 for all scores i.e. all fade to white except +, *
-     */
-    rcs.setConservationInc(100);
-    assertEquals(Color.WHITE, rcs.applyConservation(Color.RED, 0));
-    assertEquals(Color.WHITE, rcs.applyConservation(Color.RED, 1));
-    assertEquals(Color.WHITE, rcs.applyConservation(Color.RED, 2));
-    assertEquals(Color.WHITE, rcs.applyConservation(Color.RED, 3));
-    assertEquals(Color.WHITE, rcs.applyConservation(Color.RED, 4));
-    assertEquals(Color.WHITE, rcs.applyConservation(Color.RED, 5));
-    assertEquals(Color.WHITE, rcs.applyConservation(Color.RED, 6));
-    assertEquals(Color.WHITE, rcs.applyConservation(Color.RED, 7));
-    assertEquals(Color.WHITE, rcs.applyConservation(Color.RED, 8));
-    assertEquals(Color.WHITE, rcs.applyConservation(Color.RED, 9));
-    assertEquals(Color.RED, rcs.applyConservation(Color.RED, 10));
-    assertEquals(Color.RED, rcs.applyConservation(Color.RED, 11));
-    assertEquals(Color.WHITE, rcs.applyConservation(Color.RED, 12));
-
-    /*
-     * with 0% threshold, there should be no fading
-     */
-    rcs.setConservationInc(0);
-    assertEquals(Color.RED, rcs.applyConservation(Color.RED, 0));
-    assertEquals(Color.RED, rcs.applyConservation(Color.RED, 1));
-    assertEquals(Color.RED, rcs.applyConservation(Color.RED, 2));
-    assertEquals(Color.RED, rcs.applyConservation(Color.RED, 3));
-    assertEquals(Color.RED, rcs.applyConservation(Color.RED, 4));
-    assertEquals(Color.RED, rcs.applyConservation(Color.RED, 5));
-    assertEquals(Color.RED, rcs.applyConservation(Color.RED, 6));
-    assertEquals(Color.RED, rcs.applyConservation(Color.RED, 7));
-    assertEquals(Color.RED, rcs.applyConservation(Color.RED, 8));
-    assertEquals(Color.RED, rcs.applyConservation(Color.RED, 9));
-    assertEquals(Color.RED, rcs.applyConservation(Color.RED, 10));
-    assertEquals(Color.RED, rcs.applyConservation(Color.RED, 11));
-    assertEquals(Color.WHITE, rcs.applyConservation(Color.RED, 12)); // gap
-
-    /*
-     * with 40% threshold, 'fade factor' is 
-     * (11-score)/10 * 40/20 = (11-score)/5
-     * which is {>1, >1, >1, >1, >1, >1, 1, 0.8, 0.6, 0.4} for score 0-9
-     * e.g. score 7 colour fades 80% of the way to white (255, 255, 255)
-     */
-    rcs.setConservationInc(40);
-    Color colour = new Color(155, 105, 55);
-    assertEquals(Color.WHITE, rcs.applyConservation(colour, 0));
-    assertEquals(Color.WHITE, rcs.applyConservation(colour, 1));
-    assertEquals(Color.WHITE, rcs.applyConservation(colour, 2));
-    assertEquals(Color.WHITE, rcs.applyConservation(colour, 3));
-    assertEquals(Color.WHITE, rcs.applyConservation(colour, 4));
-    assertEquals(Color.WHITE, rcs.applyConservation(colour, 5));
-    assertEquals(Color.WHITE, rcs.applyConservation(colour, 6));
-    assertEquals(new Color(235, 225, 215), rcs.applyConservation(colour, 7));
-    assertEquals(new Color(215, 195, 175), rcs.applyConservation(colour, 8));
-    assertEquals(new Color(195, 165, 135), rcs.applyConservation(colour, 9));
-    assertEquals(colour, rcs.applyConservation(colour, 10));
-    assertEquals(colour, rcs.applyConservation(colour, 11));
-    assertEquals(Color.WHITE, rcs.applyConservation(colour, 12));
-  }
-
-  @Test(groups = "Functional")
   public void testIsApplicableTo()
   {
     SequenceI pep1 = new Sequence("pep1", "APQTWLS");