JAL-3438 spotless for 2.11.2.0
[jalview.git] / test / jalview / gui / SequenceRendererTest.java
index 0c2009d..9b49232 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
- * Copyright (C) 2015 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  */
 package jalview.gui;
 
-import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.Assert.assertEquals;
 
+import jalview.bin.Jalview;
 import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.Sequence;
+import jalview.datamodel.SequenceGroup;
 import jalview.datamodel.SequenceI;
+import jalview.renderer.ResidueShader;
+import jalview.renderer.ResidueShaderI;
 import jalview.schemes.ZappoColourScheme;
 
 import java.awt.Color;
 
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 public class SequenceRendererTest
 {
+  AlignmentI al;
 
-  @Test(groups = { "Functional" })
-  public void testGetResidueBoxColour_zappo()
+  AlignViewport av;
+
+  SequenceI seq1;
+
+  @BeforeClass(alwaysRun = true)
+  public static void setUpBeforeClass() throws Exception
   {
-    SequenceI seq = new Sequence("name", "MATVLGSPRAPAFF"); // FER1_MAIZE...
-    AlignmentI al = new Alignment(new SequenceI[] { seq });
-    final AlignViewport av = new AlignViewport(al);
-    SequenceRenderer sr = new SequenceRenderer(av);
-    av.setGlobalColourScheme(new ZappoColourScheme());
+    Jalview.main(
+            new String[]
+            { "-nonews", "-props", "test/jalview/testProps.jvprops" });
+  }
 
-    // @see ResidueProperties.zappo
-    assertEquals(Color.pink, sr.getResidueColour(seq, 0, null)); // M
-    assertEquals(Color.green, sr.getResidueColour(seq, 2, null)); // T
-    assertEquals(Color.magenta, sr.getResidueColour(seq, 5, null)); // G
-    assertEquals(Color.orange, sr.getResidueColour(seq, 12, null)); // F
+  @BeforeMethod(alwaysRun = true)
+  public void setUp()
+  {
+    seq1 = new Sequence("Seq1", "ABCEEEABCABC");
+    SequenceI seq2 = new Sequence("Seq2", "ABCABCABCABC");
+    SequenceI seq3 = new Sequence("Seq3", "ABCABCABCABC");
+    SequenceI[] seqs = new SequenceI[] { seq1, seq2, seq3 };
+    al = new Alignment(seqs);
+    al.setDataset(null);
+    av = new AlignViewport(al);
   }
-  // TODO more tests for getResidueBoxColour covering groups, feature rendering,
-  // gaps, overview...
 
+  @Test(groups = "Functional")
+  public void testGetResidueColour_WithGroup()
+  {
+    SequenceRenderer sr = new SequenceRenderer(av);
+    SequenceGroup sg = new SequenceGroup();
+    sg.addSequence(seq1, false);
+    sg.setStartRes(3);
+    sg.setEndRes(5);
+
+    ResidueShaderI rs = new ResidueShader();
+    rs.setColourScheme(new ZappoColourScheme());
+    sg.setGroupColourScheme(rs);
+
+    av.getAlignment().addGroup(sg);
+
+    // outside group residues are white
+    assertEquals(Color.white, sr.getResidueColour(seq1, 1, null));
+
+    // within group use Zappo scheme - E = red
+    assertEquals(Color.red, sr.getResidueColour(seq1, 3, null));
+  }
 }