X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fio%2FJalview2xmlTests.java;h=8b8393437d9bbe1b6bdad01d6a827bda8cecc504;hb=be32c14cd8e48fe0a207cd7030cb9cd46f894678;hp=fec7d755d1ee49399a1231e9d54b9653a6da103a;hpb=862a2b1ffe312f1d58a480c438ac5f8daae74468;p=jalview.git diff --git a/test/jalview/io/Jalview2xmlTests.java b/test/jalview/io/Jalview2xmlTests.java index fec7d75..8b83934 100644 --- a/test/jalview/io/Jalview2xmlTests.java +++ b/test/jalview/io/Jalview2xmlTests.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) - * Copyright (C) 2014 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -20,7 +20,10 @@ */ package jalview.io; -import static org.junit.Assert.*; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import jalview.api.AlignmentViewPanel; +import jalview.api.ViewStyleI; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; @@ -32,6 +35,7 @@ import jalview.schemes.ColourSchemeI; import java.io.File; import org.junit.AfterClass; +import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; @@ -237,13 +241,104 @@ public class Jalview2xmlTests @Test public void gatherViewsHere() throws Exception { - int origCount = Desktop.getAlignframes() == null ? 0 : Desktop - .getAlignframes().length; + int origCount = Desktop.getAlignFrames() == null ? 0 : Desktop + .getAlignFrames().length; AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( "examples/exampleFile_2_7.jar", FormatAdapter.FILE); assertTrue("Didn't read in the example file correctly.", af != null); assertTrue("Didn't gather the views in the example file.", - Desktop.getAlignframes().length == 1 + origCount); + Desktop.getAlignFrames().length == 1 + origCount); + + } + + @Test + public void viewRefPdbAnnotation() throws Exception + { + AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( + "examples/exampleFile_2_7.jar", FormatAdapter.FILE); + assertTrue("Didn't read in the example file correctly.", af != null); + AlignmentViewPanel sps = null; + for (AlignmentViewPanel ap : af.alignPanel.alignFrame.getAlignPanels()) + { + if ("Spinach Feredoxin Structure".equals(ap.getViewName())) + { + sps = ap; + break; + } + } + assertTrue("Couldn't find the structure view", sps != null); + SequenceI sq = sps.getAlignment().findName("1A70|"); + AlignmentAnnotation refan = null; + for (AlignmentAnnotation ra:sps.getAlignment().getAlignmentAnnotation()) + { + if (ra.graph != 0) + { + refan = ra; + break; + } + } + assertTrue("Annotation secondary structure not found.",refan!=null); + assertTrue("Couldn't find 1a70 null chain", sq != null); + // compare the manually added temperature factor annotation + // to the track automatically transferred from the pdb structure on load + for (AlignmentAnnotation ala : sq.getDatasetSequence().getAnnotation()) + { + AlignmentAnnotation alaa; + sq.addAlignmentAnnotation(alaa = new AlignmentAnnotation(ala)); + alaa.adjustForAlignment(); + if (ala.graph == refan.graph) + { + for (int p = 0; p < ala.annotations.length; p++) + { + sq.findPosition(p); + try { + assertTrue( + "Mismatch at alignment position " + p, + (alaa.annotations[p] == null && refan.annotations[p] == null) + || alaa.annotations[p].value == refan.annotations[p].value); + } + catch (NullPointerException q) + { + fail("Mismatch of alignment annotations at position " + p + + " Ref seq ann: " + refan.annotations[p] + + " alignment " + alaa.annotations[p]); + } + } + } + } + + } + + @Test + public void testCopyViewSettings() throws Exception + { + AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( + "examples/exampleFile_2_7.jar", FormatAdapter.FILE); + Assert.assertTrue("Didn't read in the example file correctly.", af != null); + AlignmentViewPanel sps = null, groups = null; + for (AlignmentViewPanel ap : af.alignPanel.alignFrame.getAlignPanels()) + { + if ("Spinach Feredoxin Structure".equals(ap.getViewName())) + { + sps = ap; + } + if (ap.getViewName().contains("MAFFT")) + { + groups = ap; + } + } + assertTrue("Couldn't find the structure view", sps != null); + assertTrue("Couldn't find the MAFFT view", groups != null); + + ViewStyleI structureStyle = sps.getAlignViewport().getViewStyle(); + ViewStyleI groupStyle = groups.getAlignViewport().getViewStyle(); + Assert.assertFalse(structureStyle.sameStyle(groupStyle)); + + groups.getAlignViewport().setViewStyle(structureStyle); + Assert.assertFalse(groupStyle.sameStyle(groups.getAlignViewport() + .getViewStyle())); + Assert.assertTrue(structureStyle.sameStyle(groups.getAlignViewport() + .getViewStyle())); } }