X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Frenderer%2Fseqfeatures%2FFeatureColourFinderTest.java;h=f6dfed61c2aad8161b7c007bb365cfa59977dba2;hb=4353b5fc310340ece7067b3872235ab7f844c8c2;hp=4fc079ec119e7e3f4a898cbc748754b7d9a597a6;hpb=e584930ae4941e8508c9073c6f08eb484a914bdf;p=jalview.git diff --git a/test/jalview/renderer/seqfeatures/FeatureColourFinderTest.java b/test/jalview/renderer/seqfeatures/FeatureColourFinderTest.java index 4fc079e..f6dfed6 100644 --- a/test/jalview/renderer/seqfeatures/FeatureColourFinderTest.java +++ b/test/jalview/renderer/seqfeatures/FeatureColourFinderTest.java @@ -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.assertNotEquals; import static org.testng.Assert.assertNull; import static org.testng.Assert.assertTrue; @@ -16,6 +17,7 @@ import jalview.io.FileLoader; import jalview.schemes.FeatureColour; import java.awt.Color; +import java.util.List; import org.testng.annotations.BeforeMethod; import org.testng.annotations.BeforeTest; @@ -70,13 +72,10 @@ public class FeatureColourFinderTest @BeforeMethod(alwaysRun = true) public void setUpBeforeTest() { - SequenceFeature[] sfs = seq.getSequenceFeatures(); - if (sfs != null) + List sfs = seq.getSequenceFeatures(); + for (SequenceFeature sf : sfs) { - for (SequenceFeature sf : sfs) - { - seq.deleteFeature(sf); - } + seq.deleteFeature(sf); } fr.findAllFeatures(true); @@ -287,6 +286,28 @@ public class FeatureColourFinderTest } @Test(groups = "Functional") + public void testFindFeatureAtEnd() + { + /* + * terminal residue feature + */ + seq.addSequenceFeature(new SequenceFeature("PDBRESNUM", "pdb res 1", + seq.getEnd(), seq.getEnd(), Float.NaN, "1seq.pdb")); + fr.setColour("PDBRESNUM", new FeatureColour(Color.red)); + fr.featuresAdded(); + av.setShowSequenceFeatures(true); + + /* + * final column should have PDBRESNUM feature, the others not + */ + Color c = finder.findFeatureColour(Color.blue, seq, + seq.getLength() - 2); + assertNotEquals(c, Color.red); + c = finder.findFeatureColour(Color.blue, seq, seq.getLength() - 1); + assertEquals(c, Color.red); + } + + @Test(groups = "Functional") public void testFindFeatureColour_graduatedFeatureColour() { seq.addSequenceFeature(new SequenceFeature("kd", "hydrophobicity", 2, @@ -454,15 +475,19 @@ public class FeatureColourFinderTest @Test(groups = "Functional") public void testFindFeatureColour_graduatedWithThreshold() { - seq.addSequenceFeature(new SequenceFeature("kd", "hydrophobicity", 2, + String kdFeature = "kd"; + String metalFeature = "Metal"; + seq.addSequenceFeature(new SequenceFeature(kdFeature, "hydrophobicity", 2, 2, 0f, "KdGroup")); - seq.addSequenceFeature(new SequenceFeature("kd", "hydrophobicity", 4, + seq.addSequenceFeature(new SequenceFeature(kdFeature, "hydrophobicity", 4, 4, 5f, "KdGroup")); - seq.addSequenceFeature(new SequenceFeature("kd", "hydrophobicity", 7, + seq.addSequenceFeature(new SequenceFeature(metalFeature, "Fe", 4, 4, + 5f, "MetalGroup")); + seq.addSequenceFeature(new SequenceFeature(kdFeature, "hydrophobicity", 7, 7, 10f, "KdGroup")); /* - * graduated colour from 0 to 10 + * kd feature has graduated colour from 0 to 10 * above threshold value of 5 */ Color min = new Color(100, 50, 150); @@ -470,8 +495,19 @@ public class FeatureColourFinderTest FeatureColourI fc = new FeatureColour(min, max, 0, 10); fc.setAboveThreshold(true); fc.setThreshold(5f); - fr.setColour("kd", fc); + fr.setColour(kdFeature, fc); + FeatureColour green = new FeatureColour(Color.green); + fr.setColour(metalFeature, green); fr.featuresAdded(); + + /* + * render order is kd above Metal + */ + Object[][] data = new Object[2][]; + data[0] = new Object[] { kdFeature, fc, true }; + data[1] = new Object[] { metalFeature, green, true }; + fr.setFeaturePriority(data); + av.setShowSequenceFeatures(true); /* @@ -481,10 +517,11 @@ public class FeatureColourFinderTest assertEquals(c, Color.blue); /* - * position 4, column 3, score 5 - at threshold - default colour + * position 4, column 3, score 5 - at threshold + * should return Green (colour of Metal feature) */ c = finder.findFeatureColour(Color.blue, seq, 3); - assertEquals(c, Color.blue); + assertEquals(c, Color.green); /* * position 7, column 9, score 10 - maximum colour in range @@ -504,10 +541,11 @@ public class FeatureColourFinderTest assertEquals(c, min); /* - * position 4, column 3, score 5 - at threshold - default colour + * position 4, column 3, score 5 - at threshold + * should return Green (colour of Metal feature) */ c = finder.findFeatureColour(Color.blue, seq, 3); - assertEquals(c, Color.blue); + assertEquals(c, Color.green); /* * position 7, column 9, score 10 - above threshold - default colour