JAL-1793 spike branch updated to latest
[jalview.git] / test / jalview / datamodel / SequenceFeatureTest.java
index fbeb365..8c9cbc9 100644 (file)
@@ -273,4 +273,47 @@ public class SequenceFeatureTest
             "group");
     assertTrue(sf.isContactFeature());
   }
+
+  @Test(groups = { "Functional" })
+  public void testGetDetailsReport()
+  {
+    // single locus, no group, no score
+    SequenceFeature sf = new SequenceFeature("variant", "G,C", 22, 22, null);
+    String expected = "<br><table><tr><td>Type</td><td>variant</td></tr>"
+            + "<tr><td>Start/end</td><td>22</td></tr>"
+            + "<tr><td>Description</td><td>G,C</td></tr></table>";
+    assertEquals(expected, sf.getDetailsReport());
+
+    // contact feature
+    sf = new SequenceFeature("Disulphide Bond", "a description", 28, 31,
+            null);
+    expected = "<br><table><tr><td>Type</td><td>Disulphide Bond</td></tr>"
+            + "<tr><td>Start/end</td><td>28:31</td></tr>"
+            + "<tr><td>Description</td><td>a description</td></tr></table>";
+    assertEquals(expected, sf.getDetailsReport());
+
+    sf = new SequenceFeature("variant", "G,C", 22, 33,
+            12.5f, "group");
+    sf.setValue("Parent", "ENSG001");
+    sf.setValue("Child", "ENSP002");
+    expected = "<br><table><tr><td>Type</td><td>variant</td></tr>"
+            + "<tr><td>Start/end</td><td>22-33</td></tr>"
+            + "<tr><td>Description</td><td>G,C</td></tr>"
+            + "<tr><td>Score</td><td>12.5</td></tr>"
+            + "<tr><td>Group</td><td>group</td></tr>"
+            + "<tr><td>Child</td><td>ENSP002</td></tr>"
+            + "<tr><td>Parent</td><td>ENSG001</td></tr></table>";
+    assertEquals(expected, sf.getDetailsReport());
+
+    /*
+     * feature with embedded html link in description
+     */
+    String desc = "<html>Fer2 Status: True Positive <a href=\"http://pfam.xfam.org/family/PF00111\">Pfam 8_8</a></html>";
+    sf = new SequenceFeature("Pfam", desc, 8, 83, "Uniprot");
+    expected = "<br><table><tr><td>Type</td><td>Pfam</td></tr>"
+            + "<tr><td>Start/end</td><td>8-83</td></tr>"
+            + "<tr><td>Description</td><td>Fer2 Status: True Positive <a href=\"http://pfam.xfam.org/family/PF00111\">Pfam 8_8</a></td></tr>"
+            + "<tr><td>Group</td><td>Uniprot</td></tr></table>";
+    assertEquals(expected, sf.getDetailsReport());
+  }
 }