JAL-2589 unit test updated
[jalview.git] / test / jalview / renderer / seqfeatures / FeatureColourFinderTest.java
index a7f2289..28d608f 100644 (file)
@@ -2,6 +2,7 @@ package jalview.renderer.seqfeatures;
 
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertNull;
 import static org.testng.Assert.assertTrue;
 
 import jalview.api.FeatureColourI;
@@ -15,9 +16,10 @@ import jalview.io.FileLoader;
 import jalview.schemes.FeatureColour;
 
 import java.awt.Color;
+import java.util.List;
 
-import org.testng.annotations.BeforeClass;
 import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.BeforeTest;
 import org.testng.annotations.Test;
 
 /**
@@ -49,7 +51,7 @@ public class FeatureColourFinderTest
 
   private FeatureRenderer fr;
 
-  @BeforeClass(alwaysRun = true)
+  @BeforeTest(alwaysRun = true)
   public void setUp()
   {
     // aligned column 8 is sequence position 6
@@ -63,18 +65,16 @@ public class FeatureColourFinderTest
   }
 
   /**
-   * Clear down any sequence features before each test
+   * Clear down any sequence features before each test (not as easy as it
+   * sounds...)
    */
   @BeforeMethod(alwaysRun = true)
   public void setUpBeforeTest()
   {
-    SequenceFeature[] sfs = seq.getSequenceFeatures();
-    if (sfs != null)
+    List<SequenceFeature> sfs = seq.getSequenceFeatures();
+    for (SequenceFeature sf : sfs)
     {
-      for (SequenceFeature sf : sfs)
-      {
-        seq.deleteFeature(sf);
-      }
+      seq.deleteFeature(sf);
     }
     fr.findAllFeatures(true);
 
@@ -85,6 +85,9 @@ public class FeatureColourFinderTest
     {
       fr.setGroupVisibility(group, true);
     }
+
+    fr.clearRenderOrder();
+    av.setShowSequenceFeatures(true);
   }
 
   @Test(groups = "Functional")
@@ -122,6 +125,10 @@ public class FeatureColourFinderTest
     assertEquals(c, Color.red);
   }
 
+  /**
+   * feature colour at a gap is null (not white) - a user defined colour scheme
+   * can then provide a bespoke gap colour if configured to do so
+   */
   @Test(groups = "Functional")
   public void testFindFeatureColour_gapPosition()
   {
@@ -131,7 +138,7 @@ public class FeatureColourFinderTest
     fr.featuresAdded();
     av.setShowSequenceFeatures(true);
     Color c = finder.findFeatureColour(null, seq, 6);
-    assertEquals(c, Color.white);
+    assertNull(c);
   }
 
   @Test(groups = "Functional")
@@ -397,9 +404,10 @@ public class FeatureColourFinderTest
 
     /*
      * add a feature
-     * it will be automatically set visible but the viewport
-     * is still configured not to show features
+     * it will be automatically set visible but we leave
+     * the viewport configured not to show features
      */
+    av.setShowSequenceFeatures(false);
     seq.addSequenceFeature(new SequenceFeature("Metal", "Metal", 2, 12,
             Float.NaN, "MetalGroup"));
     FeatureColour red = new FeatureColour(Color.red);
@@ -433,5 +441,11 @@ public class FeatureColourFinderTest
      */
     fr.setGroupVisibility("MetalGroup", false);
     assertFalse(finder.noFeaturesDisplayed());
+
+    /*
+     * a finder with no feature renderer
+     */
+    FeatureColourFinder finder2 = new FeatureColourFinder(null);
+    assertTrue(finder2.noFeaturesDisplayed());
   }
 }