JAL-4091 JAL-629 ‘Add Reference Annotations’ takes description into account when...
[jalview.git] / test / jalview / analysis / AlignmentUtilsTests.java
index 8b6f67d..1193c39 100644 (file)
@@ -2608,15 +2608,15 @@ public class AlignmentUtilsTests
     SequenceI sq = new Sequence("a", "SSSQ");
     ContactMatrixI cm = new SeqDistanceContactMatrix(4);
     AlignmentAnnotation cm_aan = sq.addContactList(cm);
+    cm_aan.description = cm_aan.description + " cm1";
     SequenceI dssq = sq.createDatasetSequence();
-    Alignment ds = new Alignment(new SequenceI[] { dssq });
 
     // remove annotation on our non-dataset sequence
     sq.removeAlignmentAnnotation(sq.getAnnotation()[0]);
     // test transfer
     Alignment al = new Alignment(new SequenceI[] { sq });
     SortedMap<String, String> tipEntries = new TreeMap<>();
-    final Map<SequenceI, List<AlignmentAnnotation>> candidates = new LinkedHashMap<>();
+    Map<SequenceI, List<AlignmentAnnotation>> candidates = new LinkedHashMap<>();
 
     AlignmentUtils.findAddableReferenceAnnotations(al.getSequences(),
             tipEntries, candidates, al);
@@ -2631,5 +2631,17 @@ public class AlignmentUtilsTests
             "No contact matrix recovered after reference annotation transfer",
             cl);
 
+    ContactMatrixI cm2 = new SeqDistanceContactMatrix(4);
+    dssq.addContactList(cm2);
+    tipEntries = new TreeMap<>();
+    candidates = new LinkedHashMap<>();
+
+    AlignmentUtils.findAddableReferenceAnnotations(al.getSequences(),
+            tipEntries, candidates, al);
+    AlignmentUtils.addReferenceAnnotations(candidates, al, null);
+    assertTrue("Expected two contact map annotation transferred",
+            al.getAlignmentAnnotation() != null
+                    && al.getAlignmentAnnotation().length == 2);
+
   }
 }