JAL-1551 spotlessApply
[jalview.git] / test / jalview / renderer / OverviewResColourFinderTest.java
index d7ce4a8..1c9daea 100644 (file)
@@ -22,22 +22,25 @@ package jalview.renderer;
 
 import static org.testng.AssertJUnit.assertEquals;
 
+import java.awt.Color;
+import java.util.ArrayList;
+
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
 import jalview.bin.Cache;
 import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.Sequence;
+import jalview.datamodel.SequenceGroup;
 import jalview.datamodel.SequenceI;
 import jalview.gui.AlignViewport;
 import jalview.gui.JvOptionPane;
-import jalview.gui.Preferences;
+import jalview.gui.OverviewCanvas;
+import jalview.schemes.ColourSchemeI;
 import jalview.schemes.UserColourScheme;
 import jalview.schemes.ZappoColourScheme;
 
-import java.awt.Color;
-
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
 public class OverviewResColourFinderTest
 {
 
@@ -46,6 +49,7 @@ public class OverviewResColourFinderTest
   {
     JvOptionPane.setInteractiveMode(false);
     JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
+    Cache.loadProperties("test/jalview/io/testProps.jvprops");
   }
 
   @Test(groups = { "Functional" })
@@ -58,11 +62,9 @@ public class OverviewResColourFinderTest
 
     // gaps are grey, residues white
     assertEquals(Color.white, rcf.getResidueColour(true,
-            av.getResidueShading(),
-            null, seq, 0, null));
-    assertEquals(Color.lightGray, rcf
-            .getResidueColour(true, av.getResidueShading(), null, seq, 2,
-                    null));
+            av.getResidueShading(), null, seq, 0, null));
+    assertEquals(Color.lightGray, rcf.getResidueColour(true,
+            av.getResidueShading(), null, seq, 2, null));
 
     // unaffected by showBoxes setting
     assertEquals(Color.white, rcf.getResidueColour(false,
@@ -82,23 +84,18 @@ public class OverviewResColourFinderTest
     av.setGlobalColourScheme(new ZappoColourScheme());
 
     // @see ResidueProperties.zappo
-    assertEquals(Color.pink,
-            rcf.getResidueColour(true, av.getResidueShading(),
-            null, seq, 0, null)); // M
-    assertEquals(Color.green,
-            rcf.getResidueColour(true, av.getResidueShading(),
-            null, seq, 2, null)); // T
-    assertEquals(Color.magenta,
-            rcf.getResidueColour(true, av.getResidueShading(),
-            null, seq, 5, null)); // G
-    assertEquals(Color.orange,
-            rcf.getResidueColour(true, av.getResidueShading(),
-            null, seq, 12, null)); // F
+    assertEquals(Color.pink, rcf.getResidueColour(true,
+            av.getResidueShading(), null, seq, 0, null)); // M
+    assertEquals(Color.green, rcf.getResidueColour(true,
+            av.getResidueShading(), null, seq, 2, null)); // T
+    assertEquals(Color.magenta, rcf.getResidueColour(true,
+            av.getResidueShading(), null, seq, 5, null)); // G
+    assertEquals(Color.orange, rcf.getResidueColour(true,
+            av.getResidueShading(), null, seq, 12, null)); // F
 
     // gap colour not specified so gaps are lightGray
-    assertEquals(Color.lightGray, rcf
-            .getResidueColour(true, av.getResidueShading(), null, seq, 3,
-                    null));
+    assertEquals(Color.lightGray, rcf.getResidueColour(true,
+            av.getResidueShading(), null, seq, 3, null));
 
     // unaffected by showBoxes setting
     assertEquals(Color.pink, rcf.getResidueColour(false,
@@ -111,9 +108,8 @@ public class OverviewResColourFinderTest
             av.getResidueShading(), null, seq, 12, null)); // F
 
     // gap colour not specified so gaps are lightGray
-    assertEquals(Color.lightGray, rcf
-            .getResidueColour(false, av.getResidueShading(), null, seq, 3,
-                    null));
+    assertEquals(Color.lightGray, rcf.getResidueColour(false,
+            av.getResidueShading(), null, seq, 3, null));
 
   }
 
@@ -135,17 +131,15 @@ public class OverviewResColourFinderTest
     av.setGlobalColourScheme(new UserColourScheme(newColours));
 
     // gap colour not specified so gaps are lightGray
-    assertEquals(Color.lightGray, rcf
-            .getResidueColour(true, av.getResidueShading(), null, seq, 3,
-                    null));
+    assertEquals(Color.lightGray, rcf.getResidueColour(true,
+            av.getResidueShading(), null, seq, 3, null));
 
     newColours[23] = Color.pink;
     av.setGlobalColourScheme(new UserColourScheme(newColours));
 
     // gap colour specified as pink
     assertEquals(Color.pink, rcf.getResidueColour(true,
-            av.getResidueShading(),
-            null, seq, 3, null));
+            av.getResidueShading(), null, seq, 3, null));
 
     // unaffected by showBoxes setting
     // gap colour not specified so gaps are lightGray
@@ -162,10 +156,70 @@ public class OverviewResColourFinderTest
   }
 
   @Test
-  public void testGetBoxColour()
+  public void testGetResidueBoxColour_group()
   {
-    Cache.loadProperties("test/jalview/io/testProps.jvprops");
+    SequenceI seq = new Sequence("name", "MA--TVLGSPRAPAFF");
+    AlignmentI al = new Alignment(new SequenceI[] { seq });
 
+    ColourSchemeI cs = new ZappoColourScheme();
+    ArrayList<SequenceI> seqlist = new ArrayList<>();
+    seqlist.add(seq);
+    SequenceGroup sg = new SequenceGroup(seqlist, "testgroup", cs, true,
+            true, true, 5, 9);
+    al.addGroup(sg);
+    SequenceGroup[] groups = new SequenceGroup[1];
+    groups[0] = sg;
+
+    final AlignViewport av = new AlignViewport(al);
+    ResidueColourFinder rcf = new OverviewResColourFinder();
+
+    // G in group specified as magenta in Zappo
+    assertEquals(Color.magenta, rcf.getResidueColour(false,
+            av.getResidueShading(), groups, seq, 7, null));
+
+    // Residue outside group coloured white
+    assertEquals(Color.white, rcf.getResidueColour(false,
+            av.getResidueShading(), groups, seq, 0, null));
+
+    // Gap outside group coloured lightgray
+    assertEquals(Color.lightGray, rcf.getResidueColour(false,
+            av.getResidueShading(), groups, seq, 2, null));
+
+    // use legacy colouring
+    rcf = new OverviewResColourFinder(Color.white, Color.lightGray,
+            Color.red);
+
+    // G in group specified as magenta in Zappo
+    assertEquals(Color.magenta, rcf.getResidueColour(false,
+            av.getResidueShading(), groups, seq, 7, null));
+
+    // Residue outside group coloured lightgray
+    assertEquals(Color.lightGray, rcf.getResidueColour(false,
+            av.getResidueShading(), groups, seq, 0, null));
+
+    // Gap outside group coloured white
+    assertEquals(Color.white, rcf.getResidueColour(false,
+            av.getResidueShading(), groups, seq, 2, null));
+
+    // use new colouring
+    rcf = new OverviewResColourFinder(Color.blue, Color.white, Color.red);
+
+    // G in group specified as magenta in Zappo
+    assertEquals(Color.magenta, rcf.getResidueColour(false,
+            av.getResidueShading(), groups, seq, 7, null));
+
+    // Residue outside group coloured white
+    assertEquals(Color.white, rcf.getResidueColour(false,
+            av.getResidueShading(), groups, seq, 0, null));
+
+    // Gap outside group coloured blue
+    assertEquals(Color.blue, rcf.getResidueColour(false,
+            av.getResidueShading(), groups, seq, 2, null));
+  }
+
+  @Test
+  public void testGetBoxColour()
+  {
     SequenceI seq = new Sequence("name", "MAT--GSPRAPAFF"); // FER1_MAIZE... + a
                                                             // gap
     AlignmentI al = new Alignment(new SequenceI[] { seq });
@@ -181,10 +235,11 @@ public class OverviewResColourFinderTest
 
     // gaps gap colour
     c = rcf.getBoxColour(shader, seq, 3);
-    assertEquals(Preferences.OVERVIEW_DEFAULT_GAP, c);
+    assertEquals(OverviewCanvas.OVERVIEW_DEFAULT_GAP, c);
 
     // legacy colouring set explicitly via constructor
-    rcf = new OverviewResColourFinder(true, Color.blue, Color.red);
+    rcf = new OverviewResColourFinder(Color.white, Color.lightGray,
+            Color.red);
     shader = new ResidueShader();
 
     // residues light gray
@@ -205,10 +260,10 @@ public class OverviewResColourFinderTest
 
     // gaps gap colour
     c = rcf.getBoxColour(shader, seq, 3);
-    assertEquals(Preferences.OVERVIEW_DEFAULT_GAP, c);
+    assertEquals(OverviewCanvas.OVERVIEW_DEFAULT_GAP, c);
 
     // non legacy colouring with colour scheme
-    rcf = new OverviewResColourFinder(false, Color.blue, Color.red);
+    rcf = new OverviewResColourFinder(Color.blue, Color.white, Color.red);
     shader = new ResidueShader(new ZappoColourScheme());
 
     // M residue pink
@@ -220,7 +275,8 @@ public class OverviewResColourFinderTest
     assertEquals(Color.blue, c);
 
     // legacy colouring with colour scheme
-    rcf = new OverviewResColourFinder(true, Color.blue, Color.red);
+    rcf = new OverviewResColourFinder(Color.white, Color.lightGray,
+            Color.red);
 
     // M residue pink
     c = rcf.getBoxColour(shader, seq, 0);