X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fproject%2FJalview2xmlTests.java;h=37f946b95e9295e245dfda69d562627e51f415bc;hb=e4c2a9483a41740a85c95ffbf014e23f9afe79f6;hp=343df058da3ce910c06845a16c367afdd787c3a8;hpb=f3d6a13271e3f34dfb4e40d6a2a7df1d392f8014;p=jalview.git diff --git a/test/jalview/project/Jalview2xmlTests.java b/test/jalview/project/Jalview2xmlTests.java index 343df05..37f946b 100644 --- a/test/jalview/project/Jalview2xmlTests.java +++ b/test/jalview/project/Jalview2xmlTests.java @@ -32,7 +32,9 @@ import java.awt.Color; import java.awt.Rectangle; import java.io.File; import java.io.IOException; +import java.math.BigInteger; import java.util.ArrayList; +import java.util.BitSet; import java.util.HashMap; import java.util.List; import java.util.Locale; @@ -59,6 +61,7 @@ import jalview.datamodel.ContactMatrix; import jalview.datamodel.ContactMatrixI; import jalview.datamodel.DBRefEntry; import jalview.datamodel.GeneLocus; +import jalview.datamodel.GroupSet; import jalview.datamodel.HiddenSequences; import jalview.datamodel.Mapping; import jalview.datamodel.PDBEntry; @@ -111,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); } @@ -244,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)) @@ -265,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, @@ -1565,13 +1568,42 @@ public class Jalview2xmlTests extends Jalview2xmlBase } 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.makeGroups(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]); + 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()) + { + StringBuilder sb = new StringBuilder(); + for (long val : gp.toLongArray()) + { + 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++) + { + try + { + newlongvals[lv] = Long.valueOf(longvals[lv]); + } catch (Exception x) + { + Assert.fail("failed to deserialise bitset element "); + } + } + BitSet newGp = BitSet.valueOf(newlongvals); + assertTrue(gp.equals(newGp)); + } File tfile = File.createTempFile("testStoreAndRecoverPAEmatrix", ".jvp"); new Jalview2XML(false).saveState(tfile); @@ -1592,29 +1624,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()); } }