JAL-2422 JAL-3551 viewer text/variables generalised, Pymol paths added
[jalview.git] / test / jalview / ext / pymol / PymolManagerTest.java
1 package jalview.ext.pymol;
2
3 import static org.testng.Assert.assertEquals;
4 import static org.testng.Assert.assertTrue;
5
6 import java.util.List;
7
8 import org.testng.annotations.Test;
9
10 import jalview.structure.StructureCommand;
11
12 public class PymolManagerTest
13 {
14   @Test(groups = "Functional")
15   public void testGetPostRequest()
16   {
17     String req = PymolManager
18             .getPostRequest(new StructureCommand("foobar"));
19     assertEquals(req,
20             "<methodCall><methodName>foobar</methodName><params></params></methodCall>");
21
22     req = PymolManager
23             .getPostRequest(new StructureCommand("foobar", "blue", "all"));
24     assertEquals(req, "<methodCall><methodName>foobar</methodName><params>"
25             + "<parameter><value>blue</value></parameter>"
26             + "<parameter><value>all</value></parameter>"
27             + "</params></methodCall>");
28   }
29
30   @Test(groups = "Functional")
31   public void testGetPymolPaths()
32   {
33     /*
34      * OSX
35      */
36     List<String> paths = PymolManager.getPymolPaths("Mac OS X");
37     assertEquals(paths.size(), 1);
38     assertTrue(
39             paths.contains("/Applications/PyMOL.app/Contents/MacOS/PyMOL"));
40
41     /*
42      * Linux
43      */
44     paths = PymolManager.getPymolPaths("Linux i386 1.5.0");
45     assertTrue(paths.contains("/usr/local/pymol/bin/PyMOL"));
46     assertTrue(paths.contains("/usr/local/bin/PyMOL"));
47     assertTrue(paths.contains("/usr/bin/PyMOL"));
48     assertTrue(paths.contains("/usr/local/pymol/bin/PyMOL"));
49     assertTrue(paths
50             .contains(System.getProperty("user.home") + "/opt/bin/PyMOL"));
51
52     /*
53      * Windows
54      */
55     paths = PymolManager.getPymolPaths("Windows 10");
56     assertTrue(paths.isEmpty()); // TODO - Windows paths
57
58     /*
59      * Other
60      */
61     paths = PymolManager.getPymolPaths("VAX/VMS");
62     assertTrue(paths.isEmpty());
63   }
64 }