X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fio%2FAnnotatedPDBFileInputTest.java;h=d8ae9990ea1cced726bd17068a3e4faa9dadb421;hb=483e7163b1fb8d4bcb9393014816c944befce328;hp=150ee5925f5694b3b0195eee369c146ec6f912c9;hpb=06e3a52df5af8243cdb67c023c8ddd834711ad36;p=jalview.git diff --git a/test/jalview/io/AnnotatedPDBFileInputTest.java b/test/jalview/io/AnnotatedPDBFileInputTest.java index 150ee59..d8ae999 100644 --- a/test/jalview/io/AnnotatedPDBFileInputTest.java +++ b/test/jalview/io/AnnotatedPDBFileInputTest.java @@ -1,3 +1,23 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.io; import static org.testng.AssertJUnit.assertEquals; @@ -11,13 +31,12 @@ import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; -import jalview.gui.Desktop; -import jalview.structure.StructureMapping; -import jalview.structure.StructureSelectionManager; +import jalview.gui.JvOptionPane; +import jalview.structure.StructureImportSettings; +import jalview.structure.StructureImportSettings.StructureParser; import java.io.File; -import org.junit.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; @@ -26,13 +45,24 @@ import org.testng.annotations.Test; public class AnnotatedPDBFileInputTest { - AlignmentI al; + @BeforeClass(alwaysRun = true) + public void setUpJvOptionPane() + { + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } - String pdbStr = "examples/1gaq.txt"; + AlignmentI al; String pdbId; - @BeforeMethod(alwaysRun = true) + /** + * Ensure 'process secondary structure from PDB and add annotations' are set + * in preferences, and load PDB example file 1gaq + * + * @throws Exception + */ + @BeforeMethod(alwaysRun = true) public void setup() throws Exception { Cache.applicationProperties.setProperty("STRUCT_FROM_PDB", @@ -40,14 +70,17 @@ public class AnnotatedPDBFileInputTest Cache.applicationProperties.setProperty("ADD_SS_ANN", Boolean.TRUE.toString()); FileLoader loader = new FileLoader(false); - AlignFrame af = loader.LoadFileWaitTillLoaded(pdbStr, - FormatAdapter.FILE); + AlignFrame af = loader.LoadFileWaitTillLoaded("examples/1gaq.txt", + DataSourceType.FILE); al = af.getViewport().getAlignment(); pdbId = al.getSequenceAt(0).getDatasetSequence().getAllPDBEntries() .get(0).getId(); + StructureImportSettings.setDefaultStructureFileFormat("PDB"); + // StructureImportSettings + // .setDefaultPDBFileParser(StructureParser.JALVIEW_PARSER); } - @Test(groups ={ "Functional" }) + @Test(groups = { "Functional" }) public void checkNoDuplicates() { // not strictly a requirement, but strange things may happen if multiple @@ -60,14 +93,13 @@ public class AnnotatedPDBFileInputTest { for (int q = p + 1; q < avec.length; q++) { - Assert.assertNotEquals( - "Found a duplicate annotation row " + avec[p].label, - avec[p], avec[q]); + assertTrue("Found a duplicate annotation row " + avec[p].label, + avec[p] != avec[q]); } } } - @Test(groups ={ "Functional" }) + @Test(groups = { "Functional" }) public void checkPDBannotationSource() { @@ -77,7 +109,11 @@ public class AnnotatedPDBFileInputTest { System.out.println("CalcId: " + aa.getCalcId()); - assertTrue(MCview.PDBfile.isCalcIdForFile(aa, pdbId)); + if (StructureImportSettings.getDefaultPDBFileParser().equals( + StructureParser.JALVIEW_PARSER)) + { + assertTrue(MCview.PDBfile.isCalcIdForFile(aa, pdbId)); + } } } } @@ -85,23 +121,18 @@ public class AnnotatedPDBFileInputTest /** * Check sequence features have been added */ - @Test(groups ={ "Functional" }) + @Test(groups = { "Functional" }) public void checkPDBSequenceFeatures() { - StructureSelectionManager ssm = StructureSelectionManager - .getStructureSelectionManager(Desktop.instance); - StructureMapping[] mappings = ssm.getMapping("1gaq"); - // suspect we really want to make assertions on sequence features - // in these mappings' sequencess /* * 1GAQ/A */ SequenceFeature[] sf = al.getSequenceAt(0).getSequenceFeatures(); assertEquals(296, sf.length); assertEquals("RESNUM", sf[0].getType()); - assertEquals("GLU:19 1gaqA", sf[0].getDescription()); + assertEquals("GLU: 19 1gaqA", sf[0].getDescription()); assertEquals("RESNUM", sf[295].getType()); - assertEquals("TYR:314 1gaqA", sf[295].getDescription()); + assertEquals("TYR: 314 1gaqA", sf[295].getDescription()); /* * 1GAQ/B @@ -109,9 +140,9 @@ public class AnnotatedPDBFileInputTest sf = al.getSequenceAt(1).getSequenceFeatures(); assertEquals(98, sf.length); assertEquals("RESNUM", sf[0].getType()); - assertEquals("ALA:1 1gaqB", sf[0].getDescription()); + assertEquals("ALA: 1 1gaqB", sf[0].getDescription()); assertEquals("RESNUM", sf[97].getType()); - assertEquals("ALA:98 1gaqB", sf[97].getDescription()); + assertEquals("ALA: 98 1gaqB", sf[97].getDescription()); /* * 1GAQ/C @@ -119,12 +150,12 @@ public class AnnotatedPDBFileInputTest sf = al.getSequenceAt(2).getSequenceFeatures(); assertEquals(296, sf.length); assertEquals("RESNUM", sf[0].getType()); - assertEquals("GLU:19 1gaqC", sf[0].getDescription()); + assertEquals("GLU: 19 1gaqC", sf[0].getDescription()); assertEquals("RESNUM", sf[295].getType()); - assertEquals("TYR:314 1gaqC", sf[295].getDescription()); + assertEquals("TYR: 314 1gaqC", sf[295].getDescription()); } - @Test(groups ={ "Functional" }) + @Test(groups = { "Functional" }) public void checkAnnotationWiring() { assertTrue(al.getAlignmentAnnotation() != null); @@ -159,21 +190,21 @@ public class AnnotatedPDBFileInputTest @BeforeClass(alwaysRun = true) public static void setUpBeforeClass() throws Exception { - jalview.bin.Jalview.main(new String[] - { "-props", "test/src/jalview/io/testProps.jvprops" }); + jalview.bin.Jalview.main(new String[] { "-props", + "test/jalview/io/testProps.jvprops" }); } /** * @throws java.lang.Exception */ - @AfterClass + @AfterClass(alwaysRun = true) public static void tearDownAfterClass() throws Exception { jalview.gui.Desktop.instance.closeAll_actionPerformed(null); } - @Test(groups ={ "Functional" }) + @Test(groups = { "Functional" }) public void testJalviewProjectRelocationAnnotation() throws Exception { @@ -181,14 +212,14 @@ public class AnnotatedPDBFileInputTest String tfile = File.createTempFile("JalviewTest", ".jvp") .getAbsolutePath(); AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( - inFile, FormatAdapter.FILE); + inFile, DataSourceType.FILE); assertTrue("Didn't read input file " + inFile, af != null); assertTrue("Failed to store as a project.", - af.saveAlignment(tfile, "Jalview")); + af.saveAlignment(tfile, FileFormat.Jalview)); af.closeMenuItem_actionPerformed(true); af = null; af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(tfile, - FormatAdapter.FILE); + DataSourceType.FILE); assertTrue("Failed to import new project", af != null); for (SequenceI asq : af.getViewport().getAlignment().getSequences()) { @@ -198,7 +229,8 @@ public class AnnotatedPDBFileInputTest sq = sq.getDatasetSequence(); } assertNotNull(sq.getAllPDBEntries()); - assertEquals("Expected only one PDB ID", sq.getAllPDBEntries().size(), 1); + assertEquals("Expected only one PDB ID", 1, sq.getAllPDBEntries() + .size()); for (PDBEntry pdbentry : sq.getAllPDBEntries()) { System.err.println("PDB Entry " + pdbentry.getId() + " " @@ -211,8 +243,7 @@ public class AnnotatedPDBFileInputTest && MCview.PDBfile.isCalcIdHandled(ana.getCalcId())) { exists = true; - if (MCview.PDBfile.isCalcIdForFile(ana, - pdbentry.getId())) + if (MCview.PDBfile.isCalcIdForFile(ana, pdbentry.getId())) { found = true; }