JAL-3829 ensure unmock the FTS PDB and TDB clients after mocking for a test
[jalview.git] / test / jalview / schemes / PIDColourSchemeTest.java
index 6f60e50..8a584f6 100644 (file)
@@ -2,16 +2,16 @@ 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;
-
 public class PIDColourSchemeTest
 {
   static final Color white = Color.white;
@@ -35,13 +35,14 @@ public class PIDColourSchemeTest
    * <li>case insensitive matching</li>
    * <ul>
    */
-  @Test
+  @Test(groups = "Functional")
   public void testFindColour()
   {
     ColourSchemeI scheme = new PIDColourScheme();
 
     /*
      * 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);
   }
@@ -65,7 +64,7 @@ public class PIDColourSchemeTest
    * option on the annotation label popup menu) results in a change to the
    * colouring
    */
-  @Test
+  @Test(groups = "Functional")
   public void testFindColour_ignoreGaps()
   {
     /*
@@ -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();
     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);
   }
 }