1 package jalview.renderer;
3 import static org.testng.Assert.assertEquals;
5 import jalview.datamodel.Alignment;
6 import jalview.datamodel.AlignmentI;
7 import jalview.datamodel.Sequence;
8 import jalview.datamodel.SequenceFeature;
9 import jalview.datamodel.SequenceI;
10 import jalview.gui.AlignViewport;
11 import jalview.renderer.seqfeatures.FeatureRenderer;
12 import jalview.schemes.FeatureColour;
13 import jalview.schemes.ZappoColourScheme;
14 import jalview.viewmodel.AlignmentViewport;
15 import jalview.viewmodel.OverviewDimensions;
16 import jalview.viewmodel.OverviewDimensionsShowHidden;
17 import jalview.viewmodel.ViewportRanges;
19 import java.awt.Color;
21 import org.testng.annotations.Test;
22 public class OverviewRendererTest
26 public void testGetColumnColourFromSequence()
28 OverviewResColourFinder cf = new OverviewResColourFinder(false,
29 Color.PINK, Color.green); // gapColour, hiddenColour
30 Sequence seq1 = new Sequence("seq1", "PQ-RL-");
31 Sequence seq2 = new Sequence("seq2", "FVE");
32 AlignmentI al = new Alignment(new SequenceI[] { seq1, seq2 });
33 AlignmentViewport av = new AlignViewport(al);
34 OverviewDimensions od = new OverviewDimensionsShowHidden(new ViewportRanges(al), false);
35 ResidueShaderI rs = new ResidueShader(new ZappoColourScheme());
36 FeatureRenderer fr = new FeatureRenderer(av);
37 OverviewRenderer or = new OverviewRenderer(fr, od, al, rs, cf);
39 // P is magenta (see ResidueProperties.zappo)
40 assertEquals(or.getColumnColourFromSequence(null, seq1, 0), Color.magenta.getRGB());
42 assertEquals(or.getColumnColourFromSequence(null, seq1, 1),
43 Color.green.getRGB());
44 // gap is pink (specified in OverviewResColourFinder constructor above)
45 assertEquals(or.getColumnColourFromSequence(null, seq1, 2),
48 assertEquals(or.getColumnColourFromSequence(null, seq2, 0),
49 Color.orange.getRGB());
51 assertEquals(or.getColumnColourFromSequence(null, seq2, 2),
53 // past end of sequence colour as gap (JAL-2929)
54 assertEquals(or.getColumnColourFromSequence(null, seq2, 3),
58 * now add a feature on seq1
60 seq1.addSequenceFeature(
61 new SequenceFeature("Pfam", "desc", 1, 4, null));
62 fr.findAllFeatures(true);
63 av.setShowSequenceFeatures(true);
64 fr.setColour("Pfam", new FeatureColour(Color.yellow));
65 assertEquals(or.getColumnColourFromSequence(null, seq1, 0),
66 Color.yellow.getRGB());
68 // don't show sequence features
69 av.setShowSequenceFeatures(false);
70 assertEquals(or.getColumnColourFromSequence(null, seq1, 0),
71 Color.magenta.getRGB());