X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fext%2Fpymol%2FPymolCommandsTest.java;h=d5dbc8604270d24afaca49236601300b73ab7b3b;hb=f1fa440f885429399436bb09ef6d0639c8acd991;hp=9759ff3773b9004120d26be10aad2a14842dd52c;hpb=a69ff693f6d3bc0969874e12812316a9c0bbc6fd;p=jalview.git diff --git a/test/jalview/ext/pymol/PymolCommandsTest.java b/test/jalview/ext/pymol/PymolCommandsTest.java index 9759ff3..d5dbc86 100644 --- a/test/jalview/ext/pymol/PymolCommandsTest.java +++ b/test/jalview/ext/pymol/PymolCommandsTest.java @@ -36,6 +36,7 @@ import jalview.ext.rbvi.chimera.ChimeraCommands; import jalview.structure.AtomSpecModel; import jalview.structure.StructureCommand; import jalview.structure.StructureCommandI; +import jalview.structure.StructureCommandsI.AtomSpecType; public class PymolCommandsTest { @@ -80,32 +81,32 @@ public class PymolCommandsTest public void testGetAtomSpec() { AtomSpecModel model = new AtomSpecModel(); - assertEquals(testee.getAtomSpec(model, false), ""); + assertEquals(testee.getAtomSpec(model, AtomSpecType.RESIDUE_ONLY), ""); model.addRange("1", 2, 4, "A"); - assertEquals(testee.getAtomSpec(model, false), "1//A/2-4/"); + assertEquals(testee.getAtomSpec(model, AtomSpecType.RESIDUE_ONLY), "1//A/2-4/"); model.addRange("1", 8, 8, "A"); - assertEquals(testee.getAtomSpec(model, false), "1//A/2-4+8/"); + assertEquals(testee.getAtomSpec(model, AtomSpecType.RESIDUE_ONLY), "1//A/2-4+8/"); model.addRange("1", 5, 7, "B"); - assertEquals(testee.getAtomSpec(model, false), "1//A/2-4+8/ 1//B/5-7/"); + assertEquals(testee.getAtomSpec(model, AtomSpecType.RESIDUE_ONLY), "1//A/2-4+8/ 1//B/5-7/"); model.addRange("1", 3, 5, "A"); - assertEquals(testee.getAtomSpec(model, false), "1//A/2-5+8/ 1//B/5-7/"); + assertEquals(testee.getAtomSpec(model, AtomSpecType.RESIDUE_ONLY), "1//A/2-5+8/ 1//B/5-7/"); model.addRange("0", 1, 4, "B"); - assertEquals(testee.getAtomSpec(model, false), + assertEquals(testee.getAtomSpec(model, AtomSpecType.RESIDUE_ONLY), "0//B/1-4/ 1//A/2-5+8/ 1//B/5-7/"); model.addRange("0", 5, 9, "C"); - assertEquals(testee.getAtomSpec(model, false), + assertEquals(testee.getAtomSpec(model, AtomSpecType.RESIDUE_ONLY), "0//B/1-4/ 0//C/5-9/ 1//A/2-5+8/ 1//B/5-7/"); model.addRange("1", 8, 10, "B"); - assertEquals(testee.getAtomSpec(model, false), + assertEquals(testee.getAtomSpec(model, AtomSpecType.RESIDUE_ONLY), "0//B/1-4/ 0//C/5-9/ 1//A/2-5+8/ 1//B/5-10/"); model.addRange("1", 8, 9, "B"); - assertEquals(testee.getAtomSpec(model, false), + assertEquals(testee.getAtomSpec(model, AtomSpecType.RESIDUE_ONLY), "0//B/1-4/ 0//C/5-9/ 1//A/2-5+8/ 1//B/5-10/"); model.addRange("0", 3, 10, "C"); // subsumes 5-9 - assertEquals(testee.getAtomSpec(model, false), + assertEquals(testee.getAtomSpec(model, AtomSpecType.RESIDUE_ONLY), "0//B/1-4/ 0//C/3-10/ 1//A/2-5+8/ 1//B/5-10/"); model.addRange("5", 25, 35, " "); - assertEquals(testee.getAtomSpec(model, false), + assertEquals(testee.getAtomSpec(model, AtomSpecType.RESIDUE_ONLY), "0//B/1-4/ 0//C/3-10/ 1//A/2-5+8/ 1//B/5-10/ 5///25-35/"); } @@ -122,18 +123,18 @@ public class PymolCommandsTest toAlign.addRange("2", 20, 21, "B"); toAlign.addRange("2", 22, 22, "C"); List commands = testee.superposeStructures(ref, - toAlign); - assertEquals(commands.size(), 2); - String refSpecCA = "1//A/12-14/CA 1//B/18+22-23/CA"; - String toAlignSpecCA = "2//B/15-17+20-21/CA 2//C/22/CA"; + toAlign, AtomSpecType.ALPHA); + assertEquals(commands.size(), 4); + String refSpecCA = "(1//A/12-14/CA 1//B/18+22-23/CA"; + String toAlignSpecCA = "(2//B/15-17+20-21/CA 2//C/22/CA"; String refSpec = "1//A/12-14/ 1//B/18+22-23/"; String toAlignSpec = "2//B/15-17+20-21/ 2//C/22/"; - + String altLoc = " and (altloc '' or altloc 'a'))"; // super command: separate arguments for regions to align - assertEquals(commands.get(0), - new StructureCommand("super", refSpecCA, toAlignSpecCA)); + assertEquals(commands.get(1), + new StructureCommand("pair_fit", toAlignSpecCA+altLoc, refSpecCA+altLoc)); // show aligned regions: one argument for combined atom specs - assertEquals(commands.get(1), new StructureCommand("show", "cartoon", + assertEquals(commands.get(3), new StructureCommand("show", "cartoon", refSpec + " " + toAlignSpec)); } @@ -141,34 +142,34 @@ public class PymolCommandsTest public void testGetAtomSpec_alphaOnly() { AtomSpecModel model = new AtomSpecModel(); - assertEquals(testee.getAtomSpec(model, true), ""); + assertEquals(testee.getAtomSpec(model, AtomSpecType.ALPHA), ""); model.addRange("1", 2, 4, "A"); - assertEquals(testee.getAtomSpec(model, true), "1//A/2-4/CA"); + assertEquals(testee.getAtomSpec(model, AtomSpecType.ALPHA), "1//A/2-4/CA"); model.addRange("1", 8, 8, "A"); - assertEquals(testee.getAtomSpec(model, true), "1//A/2-4+8/CA"); + assertEquals(testee.getAtomSpec(model, AtomSpecType.ALPHA), "1//A/2-4+8/CA"); model.addRange("1", 5, 7, "B"); - assertEquals(testee.getAtomSpec(model, true), + assertEquals(testee.getAtomSpec(model, AtomSpecType.ALPHA), "1//A/2-4+8/CA 1//B/5-7/CA"); model.addRange("1", 3, 5, "A"); - assertEquals(testee.getAtomSpec(model, true), + assertEquals(testee.getAtomSpec(model, AtomSpecType.ALPHA), "1//A/2-5+8/CA 1//B/5-7/CA"); model.addRange("0", 1, 4, "B"); - assertEquals(testee.getAtomSpec(model, true), + assertEquals(testee.getAtomSpec(model, AtomSpecType.ALPHA), "0//B/1-4/CA 1//A/2-5+8/CA 1//B/5-7/CA"); model.addRange("0", 5, 9, "C"); - assertEquals(testee.getAtomSpec(model, true), + assertEquals(testee.getAtomSpec(model, AtomSpecType.ALPHA), "0//B/1-4/CA 0//C/5-9/CA 1//A/2-5+8/CA 1//B/5-7/CA"); model.addRange("1", 8, 10, "B"); - assertEquals(testee.getAtomSpec(model, true), + assertEquals(testee.getAtomSpec(model, AtomSpecType.ALPHA), "0//B/1-4/CA 0//C/5-9/CA 1//A/2-5+8/CA 1//B/5-10/CA"); model.addRange("1", 8, 9, "B"); - assertEquals(testee.getAtomSpec(model, true), + assertEquals(testee.getAtomSpec(model, AtomSpecType.ALPHA), "0//B/1-4/CA 0//C/5-9/CA 1//A/2-5+8/CA 1//B/5-10/CA"); model.addRange("0", 3, 10, "C"); // subsumes 5-9 - assertEquals(testee.getAtomSpec(model, true), + assertEquals(testee.getAtomSpec(model, AtomSpecType.ALPHA), "0//B/1-4/CA 0//C/3-10/CA 1//A/2-5+8/CA 1//B/5-10/CA"); model.addRange("5", 25, 35, " "); - assertEquals(testee.getAtomSpec(model, true), + assertEquals(testee.getAtomSpec(model, AtomSpecType.ALPHA), "0//B/1-4/CA 0//C/3-10/CA 1//A/2-5+8/CA 1//B/5-10/CA 5///25-35/CA"); } @@ -341,4 +342,10 @@ public class PymolCommandsTest "p.jv_side_chain_binding_='metal 'ion!'"); assertEquals(commands.get(0), expected3); } + + @Test(groups = "Functional") + public void testCloseViewer() + { + assertEquals(testee.closeViewer(), new StructureCommand("quit")); + } }