JAL-674 test for duplicate alignment annotation rows on aligment
authorJim Procter <j.procter@dundee.ac.uk>
Mon, 20 Oct 2014 10:20:27 +0000 (11:20 +0100)
committerJim Procter <j.procter@dundee.ac.uk>
Tue, 21 Oct 2014 10:34:52 +0000 (11:34 +0100)
test/jalview/io/AnnotatedPDBFileInputTest.java

index a6d09ca..451f4fd 100644 (file)
@@ -1,5 +1,6 @@
 package jalview.io;
 
+import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import jalview.datamodel.AlignmentAnnotation;
@@ -24,6 +25,26 @@ public class AnnotatedPDBFileInputTest
   }
 
   @Test
+  public void checkNoDuplicates()
+  {
+    // not strictly a requirement, but strange things may happen if multiple
+    // instances of the same annotation are placed in the alignment annotation
+    // vector
+    assertNotNull(al.getAlignmentAnnotation());
+    // verify that all sequence annotation is doubly referenced
+    AlignmentAnnotation[] avec = al.getAlignmentAnnotation();
+    for (int p = 0; p < avec.length; p++)
+    {
+      for (int q = p + 1; q < avec.length; q++)
+      {
+        assertNotEquals(
+                "Found a duplicate annotation row " + avec[p].label,
+                avec[p], avec[q]);
+      }
+    }
+  }
+
+  @Test
   public void checkAnnotationWiring()
   {
     assertTrue(al.getAlignmentAnnotation() != null);