From 8a6ddd92f9f3573caf58ff9060347a9d4afdbd00 Mon Sep 17 00:00:00 2001 From: Jim Procter Date: Fri, 14 Dec 2018 16:13:26 +0000 Subject: [PATCH] JAL-3171 more complex project test - where sequences were copied from one alignment view into a new alignment and more views created. --- examples/testdata/projects/manyViews.jvp | Bin 0 -> 51685 bytes test/jalview/project/Jalview2xmlTests.java | 37 ++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 examples/testdata/projects/manyViews.jvp diff --git a/examples/testdata/projects/manyViews.jvp b/examples/testdata/projects/manyViews.jvp new file mode 100644 index 0000000000000000000000000000000000000000..065b29cdddd4ffce5790f1f30b9d3c55b511ac00 GIT binary patch literal 51685 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 Z|78uKEC&Ponmgj_AFzTM`uh6me*nG@Xkq{W literal 0 HcmV?d00001 diff --git a/test/jalview/project/Jalview2xmlTests.java b/test/jalview/project/Jalview2xmlTests.java index 72cbc50..5dd3040 100644 --- a/test/jalview/project/Jalview2xmlTests.java +++ b/test/jalview/project/Jalview2xmlTests.java @@ -1045,10 +1045,46 @@ public class Jalview2xmlTests extends Jalview2xmlBase */ public void testMergeDatasetsforViews() throws IOException { + // simple project - two views on one alignment AlignFrame af = new FileLoader(false).LoadFileWaitTillLoaded( "examples/testdata/projects/twoViews.jvp", DataSourceType.FILE); assertNotNull(af); assertTrue(af.getAlignPanels().size() > 1); + verifyDs(af); + } + + /** + * pre 2.11 - jalview 2.10 erroneously created new dataset entries for each + * view (JAL-3171) this test ensures we can import and merge those views This + * is a more complex project + */ + public void testMergeDatasetsforManyViews() throws IOException + { + Desktop.instance.closeAll_actionPerformed(null); + + // complex project - one dataset, several views on several alignments + AlignFrame af = new FileLoader(false).LoadFileWaitTillLoaded( + "examples/testdata/projects/manyViews.jvp", + DataSourceType.FILE); + assertNotNull(af); + + AlignmentI ds = null; + for (AlignFrame alignFrame : Desktop.getAlignFrames()) + { + if (ds == null) + { + ds = verifyDs(alignFrame); + } + else + { + // check that this frame's dataset matches the last + assertTrue(ds == verifyDs(alignFrame)); + } + } + } + + private AlignmentI verifyDs(AlignFrame af) + { AlignmentI ds = null; for (AlignmentViewPanel ap : af.getAlignPanels()) { @@ -1062,5 +1098,6 @@ public class Jalview2xmlTests extends Jalview2xmlBase "Dataset was not the same for imported 2.10.5 project with several alignment views"); } } + return ds; } } -- 1.7.10.2