Some lost files
[proteocache.git] / testsrc / compbio / engine / client / CommandBuilderTester.java
1 /* Copyright (c) 2009 Peter Troshin\r
2  *  \r
3  *  JAva Bioinformatics Analysis Web Services (JABAWS) @version: 1.0     \r
4  * \r
5  *  This library is free software; you can redistribute it and/or modify it under the terms of the\r
6  *  Apache License version 2 as published by the Apache Software Foundation\r
7  * \r
8  *  This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
9  *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
10  *  License for more details.\r
11  * \r
12  *  A copy of the license is in apache_license.txt. It is also available here:\r
13  * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
14  * \r
15  * Any republication or derived work distributed in source code form\r
16  * must include this copyright and license notice.\r
17  */\r
18 \r
19 package compbio.engine.client;\r
20 \r
21 import static org.testng.Assert.assertEquals;\r
22 import static org.testng.Assert.assertFalse;\r
23 import static org.testng.Assert.assertNotSame;\r
24 import static org.testng.Assert.assertTrue;\r
25 import static org.testng.Assert.fail;\r
26 \r
27 import java.io.FileNotFoundException;\r
28 import java.io.IOException;\r
29 import java.util.Arrays;\r
30 import java.util.List;\r
31 \r
32 import org.testng.annotations.Test;\r
33 \r
34 import compbio.metadata.RunnerConfig;\r
35 import compbio.runner.msa.ClustalW;\r
36 import compbio.runner.msa.Mafft;\r
37 import compbio.runner.msa.Muscle;\r
38 \r
39 public class CommandBuilderTester {\r
40 \r
41         @Test()\r
42         public void testCommandBuilding() {\r
43                 CommandBuilder<ClustalW> builder = new CommandBuilder<ClustalW>("=");\r
44                 builder.setParam("-MATRIX", "blosum65");\r
45                 assertTrue(builder.getCommands().size() == 1);\r
46                 String p = builder.getParamValue("-MATRIX");\r
47                 builder.setParam("-clustalw");\r
48                 builder.setParam("-in", "\\gile\\path\\abs.txt");\r
49                 System.out.println(builder.getCommands());\r
50                 assertTrue(builder.getCommands().size() == 3);\r
51                 builder.setParam("-stat=/test.log");\r
52                 assertTrue(builder.getCommands().size() == 4);\r
53                 System.out.println("CP:" + builder.getCommands());\r
54                 assertTrue(builder.setParam("-stat=/newtest.log"));\r
55 \r
56                 List<String> clist = Arrays.asList("-prop", "-tree=treefile.txt",\r
57                                 "-clustalw");\r
58                 builder.addParams(clist);\r
59                 assertTrue(builder.size() == 6);\r
60                 builder.setParams(clist);\r
61                 assertTrue(builder.size() == 3);\r
62                 System.out.println("CP:" + builder.getCommands());\r
63                 String option = "-log=error.txt";\r
64                 builder.setFirst(option);\r
65                 assertEquals(builder.getCommands().get(0), option);\r
66                 builder.setParam("-newParam2");\r
67                 assertEquals(builder.getCommands().get(0), option);\r
68                 builder.setLast(option);\r
69                 assertNotSame(builder.getCommands().get(0), option);\r
70                 assertEquals(builder.getCommands().get(builder.size() - 1), option);\r
71                 builder.setParam("-newParam3");\r
72                 assertEquals(builder.getCommands().get(builder.size() - 1), option);\r
73                 builder.setParam("-prm5", "prm5Value");\r
74                 assertTrue(builder.hasParam("-prm5"));\r
75         }\r
76 \r
77         @Test\r
78         public void testSpaceDelimiterExecutable() {\r
79                 CommandBuilder<Muscle> cbuilder = new CommandBuilder<Muscle>(" ");\r
80                 cbuilder.addParams(Arrays.asList("-clwstrict", "-quiet", "-verbose",\r
81                                 "-log", "EXEC_STAT_FILE"));\r
82         }\r
83 \r
84         @Test\r
85         public void testOptionsToCommand() {\r
86                 try {\r
87                         RunnerConfig<Mafft> rconf = ConfExecutable\r
88                                         .getRunnerOptions(Mafft.class);\r
89                         CommandBuilder<Mafft> cbuilder = CommandBuilder.newCommandBuilder(\r
90                                         rconf.getArguments(), Mafft.KEY_VALUE_SEPARATOR);\r
91                         String comm = "";\r
92                         for (String val : cbuilder.getCommands()) {\r
93                                 assertFalse(val.contains(cbuilder.nameValueSeparator));\r
94                                 comm += val + cbuilder.nameValueSeparator;\r
95                         }\r
96                         assertEquals(cbuilder.getCommandString(), comm);\r
97                 } catch (FileNotFoundException e) {\r
98                         e.printStackTrace();\r
99                         fail(e.getLocalizedMessage());\r
100                 } catch (IOException e) {\r
101                         e.printStackTrace();\r
102                         fail(e.getLocalizedMessage());\r
103                 }\r
104 \r
105         }\r
106 }\r