X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fio%2FCrossRef2xmlTests.java;h=080bda8b4e2dd89e82b4f383c8d2a93e6e92be5a;hb=0c43b6471604ebf707b0f592ad9bdbe932910a86;hp=65c0d2b405d2d57640635ee627e16fa825aff05c;hpb=99df83b63b14b8bf9879b5ee4546bef68a1a1b14;p=jalview.git diff --git a/test/jalview/io/CrossRef2xmlTests.java b/test/jalview/io/CrossRef2xmlTests.java index 65c0d2b..080bda8 100644 --- a/test/jalview/io/CrossRef2xmlTests.java +++ b/test/jalview/io/CrossRef2xmlTests.java @@ -52,7 +52,11 @@ public class CrossRef2xmlTests extends Jalview2xmlBase @Test(groups = { "Operational" }, enabled = true) public void testRetrieveAndShowCrossref() throws Exception { + + List failedDBRetr = new ArrayList(); List failedXrefMenuItems = new ArrayList(); + List failedProjectRecoveries = new ArrayList(); + // for every set of db queries // retrieve db query // verify presence of expected xrefs @@ -73,7 +77,8 @@ public class CrossRef2xmlTests extends Jalview2xmlBase List keyseq = new ArrayList(); HashMap savedProjects = new HashMap(); - for (String[] did : new String[][] { { "UNIPROT", "P01731" } }) + for (String[] did : new String[][] { { "ENSEMBL", "ENSG00000157764" }, + { "UNIPROT", "P01731" } }) { // pass counters - 0 - first pass, 1 means retrieve project rather than // perform action @@ -95,16 +100,23 @@ public class CrossRef2xmlTests extends Jalview2xmlBase { // retrieve dbref + List afs = jalview.gui.SequenceFetcher.fetchAndShow( + did[0], did[1]); + if (afs.size() == 0) + { + failedDBRetr.add("Didn't retrieve " + first); + break; + } keyseq.add(first); - - af = jalview.gui.SequenceFetcher.fetchAndShow(did[0], did[1]) - .get(0); - Assert.assertTrue(af != null, "Didn't retrieve " + first); + af = afs.get(0); // verify references for retrieved data AlignmentTest.assertAlignmentDatasetRefs(af.getViewport() .getAlignment(), "Pass (" + pass1 + "," + pass2 + "," + pass3 + "): Fetch " + first + ":"); + AlignmentTest.assertDatasetIsNormalised(af.getViewport() + .getAlignment(), "Pass (" + pass1 + "," + pass2 + "," + + pass3 + "): Fetch " + first + ":"); dna = af.getViewport().getAlignment().isNucleotide(); retral = af.getViewport().getAlignment(); dataset = retral.getDataset(); @@ -128,6 +140,9 @@ public class CrossRef2xmlTests extends Jalview2xmlBase AlignmentTest.assertAlignmentDatasetRefs(af.getViewport() .getAlignment(), "Pass (" + pass1 + "," + pass2 + "," + pass3 + "): Recover " + first + ":"); + AlignmentTest.assertDatasetIsNormalised(af.getViewport() + .getAlignment(), "Pass (" + pass1 + "," + pass2 + "," + + pass3 + "): Recover " + first + ":"); } @@ -175,6 +190,15 @@ public class CrossRef2xmlTests extends Jalview2xmlBase Desktop.instance.closeAll_actionPerformed(null); pass3 = 0; // recover stored project + File storedProject = savedProjects.get(nextxref); + if (storedProject == null) + { + failedProjectRecoveries.add("Failed to store a view for '" + + nextxref + "'"); + continue; + } + + // recover stored project AlignFrame af2 = new FileLoader(false) .LoadFileWaitTillLoaded(savedProjects.get(nextxref) .toString(), FormatAdapter.FILE); @@ -211,6 +235,10 @@ public class CrossRef2xmlTests extends Jalview2xmlBase "Pass (" + pass1 + "," + pass2 + "," + pass3 + "): before start of pass3: " + nextxref + ":"); + AlignmentTest.assertDatasetIsNormalised(avp.getAlignment(), + "Pass (" + pass1 + "," + pass2 + "," + pass3 + + "): before start of pass3: " + nextxref + + ":"); SequenceI[] xrseqs = avp.getAlignment().getSequencesArray(); @@ -273,6 +301,14 @@ public class CrossRef2xmlTests extends Jalview2xmlBase { Desktop.instance.closeAll_actionPerformed(null); // recover stored project + File storedProject = savedProjects.get(nextnextxref); + if (storedProject == null) + { + failedProjectRecoveries + .add("Failed to store a view for '" + + nextnextxref + "'"); + continue; + } AlignFrame af2 = new FileLoader(false) .LoadFileWaitTillLoaded( savedProjects.get(nextnextxref) @@ -315,6 +351,10 @@ public class CrossRef2xmlTests extends Jalview2xmlBase nextavp.getAlignment(), "" + "Pass (" + pass1 + "," + pass2 + "): For " + nextnextxref + ":"); + AlignmentTest.assertDatasetIsNormalised( + nextavp.getAlignment(), "" + "Pass (" + pass1 + + "," + pass2 + "): For " + + nextnextxref + ":"); stringify(dbtoviewBit, savedProjects, nextnextxref, nextavp); @@ -350,22 +390,44 @@ public class CrossRef2xmlTests extends Jalview2xmlBase } else { - // verify stored projects for second set of cross references - pass2 = 1; + pass1++; + if (pass1 < 2) + { + // verify stored projects for second set of cross references + pass2 = 1; // and verify cross-references retrievable from those stored projects. - pass3 = 0; + pass3 = 0; + } } } while (pass3 < 2); } if (failedXrefMenuItems.size() > 0) { - StringBuilder sb = new StringBuilder(); for (String s : failedXrefMenuItems) { - sb.append(s + "\n"); + System.err.println(s); } Assert.fail("Faulty xref menu (" + failedXrefMenuItems.size() - + " counts)\n" + sb.toString()); + + " counts)"); + } + if (failedProjectRecoveries.size() > 0) + { + + for (String s : failedProjectRecoveries) + { + System.err.println(s); + } + Assert.fail("Didn't recover projects for some retrievals (did they retrieve ?) (" + + failedProjectRecoveries.size() + " counts)"); + } + if (failedDBRetr.size() > 0) + { + for (String s : failedProjectRecoveries) + { + System.err.println(s); + } + Assert.fail("Didn't retrieve some db refs for checking cross-refs (" + + failedDBRetr.size() + " counts)"); } }