Clover icon

Coverage Report

  1. Project Clover database Thu Nov 7 2024 13:01:17 GMT
  2. Package jalview.ws.jws2

File ParameterUtilsTest.java

 

Code metrics

12
51
6
1
186
131
13
0.25
8.5
6
2.17

Classes

Class Line # Actions
ParameterUtilsTest 53 51 13
0.00%
 

Contributing tests

No tests hitting this source file were found.

Source view

1    /*
2    * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3    * Copyright (C) $$Year-Rel$$ The Jalview Authors
4    *
5    * This file is part of Jalview.
6    *
7    * Jalview is free software: you can redistribute it and/or
8    * modify it under the terms of the GNU General Public License
9    * as published by the Free Software Foundation, either version 3
10    * of the License, or (at your option) any later version.
11    *
12    * Jalview is distributed in the hope that it will be useful, but
13    * WITHOUT ANY WARRANTY; without even the implied warranty
14    * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15    * PURPOSE. See the GNU General Public License for more details.
16    *
17    * You should have received a copy of the GNU General Public License
18    * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19    * The Jalview Authors are detailed in the 'AUTHORS' file.
20    */
21    package jalview.ws.jws2;
22   
23    import java.util.Locale;
24   
25    import static org.testng.AssertJUnit.assertEquals;
26    import static org.testng.AssertJUnit.assertFalse;
27    import static org.testng.AssertJUnit.assertTrue;
28   
29    import jalview.bin.Cache;
30    import jalview.bin.Console;
31    import jalview.gui.JvOptionPane;
32    import jalview.ws.jabaws.JalviewJabawsTestUtils;
33    import jalview.ws.jws2.jabaws2.Jws2Instance;
34   
35    import java.util.ArrayList;
36    import java.util.Iterator;
37    import java.util.List;
38   
39    import org.testng.annotations.BeforeClass;
40    import org.testng.annotations.Test;
41   
42    import compbio.metadata.Option;
43    import compbio.metadata.Parameter;
44    import compbio.metadata.Preset;
45    import compbio.metadata.PresetManager;
46    import compbio.metadata.WrongParameterException;
47   
48    /*
49    * All methods in this class are set to the Network group because setUpBeforeClass will fail
50    * if there is no network.
51    */
52    @Test(singleThreaded = true)
 
53    public class ParameterUtilsTest
54    {
55   
 
56  0 toggle @BeforeClass(alwaysRun = true)
57    public void setUpJvOptionPane()
58    {
59  0 JvOptionPane.setInteractiveMode(false);
60  0 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
61    }
62   
63    /*
64    * To limit tests to specify services, add them to this list; leave list empty
65    * to test all
66    */
67    private static List<String> serviceTests = new ArrayList<String>();
68   
69    private static Jws2Discoverer disc = null;
70   
 
71  0 toggle @BeforeClass(alwaysRun = true)
72    public static void setUpBeforeClass() throws Exception
73    {
74  0 serviceTests.add("AAConWS".toLowerCase(Locale.ROOT));
75  0 Cache.loadProperties("test/jalview/io/testProps.jvprops");
76  0 Console.initLogger();
77  0 disc = JalviewJabawsTestUtils.getJabawsDiscoverer();
78    }
79   
 
80  0 toggle @Test(groups = { "Network" })
81    public void testWriteParameterSet() throws WrongParameterException
82    {
83  0 for (Jws2Instance service : disc.getServices())
84    {
85  0 if (isForTesting(service))
86    {
87   
88  0 List<Preset> prl = null;
89  0 PresetManager prman = service.getPresets();
90  0 if (prman == null)
91    {
92  0 continue;
93    }
94  0 prl = prman.getPresets();
95  0 if (prl == null)
96    {
97  0 continue;
98    }
99  0 for (Preset pr : prl)
100    {
101  0 List<String> writeparam = null;
102  0 List<String> readparam = null;
103  0 writeparam = ParameterUtils.writeParameterSet(
104    pr.getArguments(service.getRunnerConfig()), " ");
105  0 List<Option> pset = ParameterUtils.processParameters(writeparam,
106    service.getRunnerConfig(), " ");
107  0 readparam = ParameterUtils.writeParameterSet(pset, " ");
108  0 Iterator<String> o = pr.getOptions().iterator();
109  0 Iterator<String> s = writeparam.iterator();
110  0 Iterator<String> t = readparam.iterator();
111  0 boolean failed = false;
112  0 while (s.hasNext() && t.hasNext())
113    {
114  0 String on = o.next();
115  0 String sn = s.next();
116  0 String st = t.next();
117  0 final String errorMsg = "Original was " + on + " Phase 1 wrote "
118    + sn + "\tPhase 2 wrote " + st;
119  0 assertEquals(errorMsg, sn, st);
120  0 assertEquals(errorMsg, sn, on);
121    }
122    }
123    }
124    }
125    }
126   
127    /**
128    * Returns true if the service is in the list of the ones we chose to test,
129    * _or_ the list is empty (test all)
130    *
131    * @param service
132    * @return
133    */
 
134  0 toggle public boolean isForTesting(Jws2Instance service)
135    {
136  0 return serviceTests.size() == 0 || serviceTests
137    .contains(service.serviceType.toLowerCase(Locale.ROOT));
138    }
139   
 
140  0 toggle @Test(groups = { "Network" })
141    public void testCopyOption()
142    {
143  0 for (Jws2Instance service : disc.getServices())
144    {
145  0 if (isForTesting(service))
146    {
147  0 List<Option<?>> options = service.getRunnerConfig().getOptions();
148  0 for (Option<?> o : options)
149    {
150  0 System.out.println("Testing copyOption for option " + o.getName()
151    + " of " + service.getActionText());
152  0 Option<?> cpy = ParameterUtils.copyOption(o);
153  0 assertTrue(cpy.equals(o));
154  0 assertEquals(cpy.getName(), o.getName());
155  0 assertFalse(cpy == o);
156    // todo more assertions?
157    }
158    }
159    }
160    }
161   
162    /**
163    */
 
164  0 toggle @Test(groups = { "Network" })
165    public void testCopyParameter()
166    {
167  0 for (Jws2Instance service : disc.getServices())
168    {
169  0 if (isForTesting(service))
170    {
171  0 List<Parameter> parameters = service.getRunnerConfig()
172    .getParameters();
173  0 for (Parameter o : parameters)
174    {
175  0 System.out.println("Testing copyParameter for parameter "
176    + o.getName() + " of " + service.getActionText());
177  0 Parameter cpy = ParameterUtils.copyParameter(o);
178  0 assertTrue(cpy.equals(o));
179  0 assertFalse(cpy == o);
180  0 assertEquals(cpy.getName(), o.getName());
181    // todo more assertions?
182    }
183    }
184    }
185    }
186    }