JAL-3855 JAL-4124 test checks asymmetric matrices are stored and restored correctly
[jalview.git] / test / jalview / project / Jalview2xmlTests.java
index d038c78..6518693 100644 (file)
@@ -114,6 +114,8 @@ public class Jalview2xmlTests extends Jalview2xmlBase
   @BeforeClass(alwaysRun = true)
   public void setUpJvOptionPane()
   {
+    if (Desktop.instance != null)
+      Desktop.instance.closeAll_actionPerformed(null);
     JvOptionPane.setInteractiveMode(false);
     JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
   }
@@ -247,9 +249,8 @@ public class Jalview2xmlTests extends Jalview2xmlBase
 
     boolean diffseqcols = false, diffgseqcols = false;
     SequenceI[] sqs = af.getViewport().getAlignment().getSequencesArray();
-    for (int p = 0,
-            pSize = af.getViewport().getAlignment().getWidth(); p < pSize
-                    && (!diffseqcols || !diffgseqcols); p++)
+    for (int p = 0, pSize = af.getViewport().getAlignment()
+            .getWidth(); p < pSize && (!diffseqcols || !diffgseqcols); p++)
     {
       if (_rcs.findColour(sqs[0].getCharAt(p), p, sqs[0], null, 0f) != _rcs
               .findColour(sqs[5].getCharAt(p), p, sqs[5], null, 0f))
@@ -268,9 +269,8 @@ public class Jalview2xmlTests extends Jalview2xmlBase
     assertTrue(__rcs.isSeqAssociated(),
             "Group Annotation colourscheme wasn't sequence associated");
 
-    for (int p = 0,
-            pSize = af.getViewport().getAlignment().getWidth(); p < pSize
-                    && (!diffseqcols || !diffgseqcols); p++)
+    for (int p = 0, pSize = af.getViewport().getAlignment()
+            .getWidth(); p < pSize && (!diffseqcols || !diffgseqcols); p++)
     {
       if (_rgcs.findColour(sqs[1].getCharAt(p), p, sqs[1], null,
               0f) != _rgcs.findColour(sqs[2].getCharAt(p), p, sqs[2], null,
@@ -1563,35 +1563,40 @@ public class Jalview2xmlTests extends Jalview2xmlBase
       {
         paevals[i][j] = ((i - j < 2)
                 || ((i > 1 && i < 5) && (j > 1 && i < 5))) ? 1 : 0f;
-        paevals[j][i] = paevals[i][j];
+        paevals[j][i] = -paevals[i][j];
       }
     }
     PAEContactMatrix dummyMat = new PAEContactMatrix(sq, paevals);
     String content = ContactMatrix.contactToFloatString(dummyMat);
-    Assert.assertTrue(content.contains("\t1.")); // at least one element must be 1
-    float[][] vals = ContactMatrix.fromFloatStringToContacts(content, sq.getLength(), sq.getLength());
-    assertEquals(vals[3][4],paevals[3][4]);
-    dummyMat.setGroupSet(GroupSet.makeGroups(dummyMat,0.5f, false));
+    Assert.assertTrue(content.contains("\t1.")); // at least one element must be
+                                                 // 1
+    float[][] vals = ContactMatrix.fromFloatStringToContacts(content,
+            sq.getLength(), sq.getLength());
+    assertEquals(vals[3][4], paevals[3][4]);
+    assertEquals(vals[4][3], paevals[4][3]);
+    dummyMat.setGroupSet(GroupSet.makeGroups(dummyMat, 0.5f, false));
     Assert.assertNotSame(dummyMat.getNewick(), "");
     AlignmentAnnotation paeCm = sq.addContactList(dummyMat);
     al.addAnnotation(paeCm);
     // verify store/restore of group bitsets
-    for (BitSet  gp:dummyMat.getGroups())
+    for (BitSet gp : dummyMat.getGroups())
     {
       StringBuilder sb = new StringBuilder();
-      for (long val:gp.toLongArray())
+      for (long val : gp.toLongArray())
       {
-        if (sb.length()>0) {
+        if (sb.length() > 0)
+        {
           sb.append(",");
         }
         sb.append(val);
       }
       String[] longvals = sb.toString().split(",");
       long[] newlongvals = new long[longvals.length];
-      for (int lv=0;lv<longvals.length;lv++)
+      for (int lv = 0; lv < longvals.length; lv++)
       {
-        try {
-        newlongvals[lv]=Long.valueOf(longvals[lv]);
+        try
+        {
+          newlongvals[lv] = Long.valueOf(longvals[lv]);
         } catch (Exception x)
         {
           Assert.fail("failed to deserialise bitset element ");
@@ -1600,7 +1605,6 @@ public class Jalview2xmlTests extends Jalview2xmlBase
       BitSet newGp = BitSet.valueOf(newlongvals);
       assertTrue(gp.equals(newGp));
     }
-    
     File tfile = File.createTempFile("testStoreAndRecoverPAEmatrix",
             ".jvp");
     new Jalview2XML(false).saveState(tfile);
@@ -1621,29 +1625,27 @@ public class Jalview2xmlTests extends Jalview2xmlBase
             .getContactMatrixFor(newSeq.getAnnotation()[0]);
     Assert.assertNotNull(restoredMat);
     MapList oldMap = ((MappableContactMatrixI) dummyMat).getMapFor(sq);
-    MapList newMap = ((MappableContactMatrixI) restoredMat).getMapFor(newSeq);
-    Assert.assertEquals(oldMap.getFromRanges(),newMap.getFromRanges());
-    Assert.assertEquals(oldMap.getToRanges(),newMap.getToRanges());
-    Assert.assertEquals(oldMap.getFromRatio(),newMap.getFromRatio());
-    Assert.assertEquals(oldMap.getToRatio(),newMap.getToRatio());
-    
+    MapList newMap = ((MappableContactMatrixI) restoredMat)
+            .getMapFor(newSeq);
+    Assert.assertEquals(oldMap.getFromRanges(), newMap.getFromRanges());
+    Assert.assertEquals(oldMap.getToRanges(), newMap.getToRanges());
+    Assert.assertEquals(oldMap.getFromRatio(), newMap.getFromRatio());
+    Assert.assertEquals(oldMap.getToRatio(), newMap.getToRatio());
     for (i = sq.getLength() - 1; i >= 0; i--)
     {
       ContactListI oldCM = dummyMat.getContactList(i),
               newCM = restoredMat.getContactList(i);
       for (int j = oldCM.getContactHeight(); j >= 0; j--)
       {
-        double old_j=oldCM.getContactAt(j);
-        double new_j=newCM.getContactAt(j);
-        Assert.assertEquals(old_j,new_j);
+        double old_j = oldCM.getContactAt(j);
+        double new_j = newCM.getContactAt(j);
+        Assert.assertEquals(old_j, new_j);
       }
     }
     Assert.assertEquals(restoredMat.hasGroups(), dummyMat.hasGroups());
     Assert.assertEquals(restoredMat.getGroups(), dummyMat.getGroups());
     Assert.assertEquals(restoredMat.hasTree(), dummyMat.hasTree());
-    Assert.assertEquals( restoredMat.getNewick(),dummyMat.getNewick());
-    
-    
+    Assert.assertEquals(restoredMat.getNewick(), dummyMat.getNewick());
   }
 
 }