Merge branch 'alpha/JAL-3362_Jalview_212_alpha' into alpha/merge_212_JalviewJS_2112
[jalview.git] / test / jalview / schemes / PIDColourSchemeTest.java
index 8bab428..4117b23 100644 (file)
@@ -2,15 +2,15 @@ package jalview.schemes;
 
 import static org.testng.Assert.assertEquals;
 
+import java.awt.Color;
+
+import org.testng.annotations.Test;
+
 import jalview.datamodel.SequenceI;
 import jalview.gui.AlignFrame;
-import jalview.gui.AlignViewport;
 import jalview.io.DataSourceType;
 import jalview.io.FileLoader;
-
-import java.awt.Color;
-
-import org.testng.annotations.Test;
+import jalview.viewmodel.AlignmentViewport;
 
 public class PIDColourSchemeTest
 {
@@ -42,6 +42,7 @@ public class PIDColourSchemeTest
 
     /*
      * doesn't use column or sequence
+     * we assume consensus residue is computed as upper case
      */
     assertEquals(scheme.findColour('A', 0, null, "A", 0f), white);
     assertEquals(scheme.findColour('A', 0, null, "A", 40f), white);
@@ -54,8 +55,6 @@ public class PIDColourSchemeTest
     assertEquals(scheme.findColour('A', 0, null, "KFV", 100f), white);
 
     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);
   }
@@ -78,10 +77,23 @@ public class PIDColourSchemeTest
      * first column PID is 50%, or 67% ignoring gaps
      */
     String seqs = ">seq1\nAAAAA\n>seq2\nAAAAA\n>seq3\n-CCCC\n>seq4\nFFFFF\n";
+
+    /*
+     * load data and wait for consensus to be computed
+     */
     AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(seqs,
             DataSourceType.PASTE);
-    AlignViewport viewport = af.getViewport();
+    AlignmentViewport viewport = af.getViewport();
     viewport.setIgnoreGapsConsensus(false, af.alignPanel);
+    do
+    {
+      try
+      {
+        Thread.sleep(50);
+      } catch (InterruptedException x)
+      {
+      }
+    } while (af.getViewport().getCalcManager().isWorking());
     af.changeColour_actionPerformed(JalviewColourScheme.PID.toString());
 
     SequenceI seq = viewport.getAlignment().getSequenceAt(0);
@@ -90,7 +102,7 @@ public class PIDColourSchemeTest
      * including gaps, A should be coloured for 50% consensus
      */
     Color c = viewport
-            .getViewportColourScheme().findColour('A', 0, seq);
+            .getResidueShading().findColour('A', 0, seq);
     assertEquals(c, over40);
 
     /*
@@ -98,7 +110,7 @@ public class PIDColourSchemeTest
      */
     viewport.setIgnoreGapsConsensus(true, af.alignPanel);
     c = viewport
-            .getViewportColourScheme().findColour('A', 0, seq);
+            .getResidueShading().findColour('A', 0, seq);
     assertEquals(c, over60);
   }
 }