Clover Coverage Report
Coverage timestamp: Fri May 24 2013 13:47:27 UTC
166   338   30   20.75
0   283   0.18   8
8     3.75  
1    
 
  DefaultKernelQedeqBoTest       Line # 43 166 30 83.9% 0.83908045
 
  (5)
 
1    /* This file is part of the project "Hilbert II" - http://www.qedeq.org
2    *
3    * Copyright 2000-2013, Michael Meyling <mime@qedeq.org>.
4    *
5    * "Hilbert II" is free software; you can redistribute
6    * it and/or modify it under the terms of the GNU General Public
7    * License as published by the Free Software Foundation; either
8    * version 2 of the License, or (at your option) any later version.
9    *
10    * This program is distributed in the hope that it will be useful,
11    * but WITHOUT ANY WARRANTY; without even the implied warranty of
12    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13    * GNU General Public License for more details.
14    */
15   
16    package org.qedeq.kernel.bo.service.control;
17   
18    import org.qedeq.base.test.QedeqTestCase;
19    import org.qedeq.kernel.bo.common.Element2Utf8;
20    import org.qedeq.kernel.bo.module.InternalKernelServices;
21    import org.qedeq.kernel.bo.module.KernelModuleReferenceList;
22    import org.qedeq.kernel.bo.module.ModuleLabels;
23    import org.qedeq.kernel.bo.service.control.DefaultKernelQedeqBo;
24    import org.qedeq.kernel.bo.service.control.Element2LatexImpl;
25    import org.qedeq.kernel.bo.service.control.Element2Utf8Impl;
26    import org.qedeq.kernel.bo.service.logic.ModuleConstantsExistenceCheckerImpl;
27    import org.qedeq.kernel.bo.test.DummyInternalKernelServices;
28    import org.qedeq.kernel.bo.test.DummyPlugin;
29    import org.qedeq.kernel.se.common.DefaultModuleAddress;
30    import org.qedeq.kernel.se.common.Plugin;
31    import org.qedeq.kernel.se.common.QedeqException;
32    import org.qedeq.kernel.se.common.SourceFileException;
33    import org.qedeq.kernel.se.common.SourceFileExceptionList;
34    import org.qedeq.kernel.se.dto.module.QedeqVo;
35    import org.qedeq.kernel.se.state.DependencyState;
36    import org.qedeq.kernel.se.state.LoadingState;
37   
38    /**
39    * Test class {@link org.qedeq.kernel.bo.module.QedeqBo}.
40    *
41    * @author Michael Meyling
42    */
 
43    public class DefaultKernelQedeqBoTest extends QedeqTestCase {
44   
45    final InternalKernelServices services = new DummyInternalKernelServices();
46   
47    final Plugin plugin = new Plugin() {
48   
 
49  0 toggle public String getServiceId() {
50  0 return this.getClass().getName();
51    }
52   
 
53  0 toggle public String getServiceAction() {
54  0 return "basic testing kernel";
55    }
56   
 
57  0 toggle public String getServiceDescription() {
58  0 return "Testing Kernel";
59    }};
60   
 
61  1 toggle public void testConstructor() throws Exception {
62  1 try {
63  1 new DefaultKernelQedeqBo(null, null);
64  0 fail("RuntimeException expected");
65    } catch (RuntimeException e) {
66    // expected
67    }
68  1 new DefaultKernelQedeqBo(services, new DefaultModuleAddress("qedeq.org/text.xml"));
69    }
70   
 
71  1 toggle public void testHasFailures() throws Exception {
72  1 DefaultKernelQedeqBo bo;
73  1 bo = new DefaultKernelQedeqBo(services, new DefaultModuleAddress("qedeq.org/test.xml"));
74  1 assertFalse(bo.hasErrors());
75  1 bo.setLoadingFailureState(LoadingState.STATE_LOADING_FROM_BUFFER_FAILED,
76    new SourceFileExceptionList(new SourceFileException(DummyPlugin.getInstance(),
77    new QedeqException(1, "myError") {}, null, null)));
78  1 assertTrue(bo.hasErrors());
79  1 ModuleLabels labels = new ModuleLabels();
80  1 Element2LatexImpl converter = new Element2LatexImpl(labels);
81  1 Element2Utf8 textConverter = new Element2Utf8Impl(converter);
82  1 bo.setLoaded(new QedeqVo(), labels, converter, textConverter);
83  1 assertFalse(bo.hasErrors());
84  1 bo = new DefaultKernelQedeqBo(services, new DefaultModuleAddress("qedeq.org/test.xml"));
85  1 bo.setLoaded(new QedeqVo(), labels, converter, textConverter);
86  1 bo.setDependencyFailureState(DependencyState.STATE_LOADING_REQUIRED_MODULES_FAILED,
87    new SourceFileExceptionList(new SourceFileException(DummyPlugin.getInstance(),
88    new QedeqException(1, "myError") {}, null, null)));
89  1 assertTrue(bo.hasErrors());
90  1 bo.setLoadedImports(new KernelModuleReferenceList());
91  1 assertFalse(bo.hasErrors());
92  1 bo.setLoadedRequiredModules();
93  1 assertFalse(bo.hasErrors());
94  1 bo.setWellFormed(new ModuleConstantsExistenceCheckerImpl(bo));
95  1 assertFalse(bo.hasErrors());
96    }
97   
 
98  1 toggle public void testSetLoadingFailureState() throws Exception {
99  1 DefaultKernelQedeqBo bo;
100  1 bo = new DefaultKernelQedeqBo(services, new DefaultModuleAddress("qedeq.org/test.xml"));
101  1 assertFalse(bo.hasErrors());
102  1 assertNotNull(bo.getErrors());
103  1 assertEquals(0, bo.getErrors().size());
104  1 try {
105  1 bo.setLoadingFailureState(LoadingState.STATE_LOADING_FROM_BUFFER_FAILED,
106    null);
107  0 fail("NullPointerException expected");
108    } catch (NullPointerException e) {
109    // expected
110    }
111  1 final SourceFileExceptionList defaultSourceFileExceptionList
112    = new SourceFileExceptionList(new SourceFileException(DummyPlugin.getInstance(),
113    new QedeqException(1, "myError") {}, null, null));
114  1 try {
115  1 bo.setLoadingFailureState(null,
116    defaultSourceFileExceptionList);
117  0 fail("NullPointerException expected");
118    } catch (NullPointerException e) {
119    // expected
120    }
121  1 bo.setLoadingFailureState(LoadingState.STATE_LOADING_FROM_BUFFER_FAILED,
122    defaultSourceFileExceptionList);
123  1 assertEquals(LoadingState.STATE_LOADING_FROM_BUFFER_FAILED,
124    bo.getLoadingState());
125  1 assertEquals(defaultSourceFileExceptionList, bo.getErrors());
126  1 bo.setLoadingFailureState(LoadingState.STATE_LOADING_INTO_MEMORY_FAILED,
127    defaultSourceFileExceptionList);
128  1 assertEquals(LoadingState.STATE_LOADING_INTO_MEMORY_FAILED,
129    bo.getLoadingState());
130  1 bo.setLoadingFailureState(LoadingState.STATE_LOADING_FROM_WEB_FAILED,
131    defaultSourceFileExceptionList);
132  1 assertEquals(LoadingState.STATE_LOADING_FROM_WEB_FAILED,
133    bo.getLoadingState());
134  1 try {
135  1 bo.setLoadingFailureState(LoadingState.STATE_LOADED,
136    defaultSourceFileExceptionList);
137  0 fail("IllegalArgumentException expected");
138    } catch (IllegalArgumentException e) {
139    // expected
140    }
141  1 try {
142  1 bo.setLoadingFailureState(LoadingState.STATE_LOADING_FROM_BUFFER,
143    defaultSourceFileExceptionList);
144  0 fail("IllegalArgumentException expected");
145    } catch (IllegalArgumentException e) {
146    // expected
147    }
148  1 try {
149  1 bo.setLoadingFailureState(LoadingState.STATE_LOADING_FROM_WEB,
150    defaultSourceFileExceptionList);
151  0 fail("IllegalArgumentException expected");
152    } catch (IllegalArgumentException e) {
153    // expected
154    }
155  1 try {
156  1 bo.setLoadingFailureState(LoadingState.STATE_LOADING_INTO_MEMORY,
157    defaultSourceFileExceptionList);
158  0 fail("IllegalArgumentException expected");
159    } catch (IllegalArgumentException e) {
160    // expected
161    }
162  1 try {
163  1 bo.setLoadingFailureState(LoadingState.STATE_LOCATING_WITHIN_WEB,
164    defaultSourceFileExceptionList);
165  0 fail("IllegalArgumentException expected");
166    } catch (IllegalArgumentException e) {
167    // expected
168    }
169  1 try {
170  1 bo.setLoadingFailureState(LoadingState.STATE_UNDEFINED,
171    defaultSourceFileExceptionList);
172  0 fail("IllegalArgumentException expected");
173    } catch (IllegalArgumentException e) {
174    // expected
175    }
176    }
177   
 
178  1 toggle public void testSetLoadingProgressState() throws Exception {
179  1 DefaultKernelQedeqBo bo;
180  1 bo = new DefaultKernelQedeqBo(services, new DefaultModuleAddress("qedeq.org/test.xml"));
181  1 assertFalse(bo.hasErrors());
182  1 assertFalse(bo.isLoaded());
183  1 assertEquals(LoadingState.STATE_UNDEFINED, bo.getLoadingState());
184  1 try {
185  1 bo.setLoadingProgressState(null);
186  0 fail("NullPointerException expected");
187    } catch (NullPointerException e) {
188    // expected
189    }
190  1 try {
191  1 bo.setLoadingProgressState(LoadingState.STATE_LOADING_FROM_BUFFER_FAILED);
192  0 fail("IllegalArgumentException expected");
193    } catch (IllegalArgumentException e) {
194    // expected
195    }
196  1 try {
197  1 bo.setLoadingProgressState(LoadingState.STATE_LOADING_FROM_WEB_FAILED);
198  0 fail("IllegalArgumentException expected");
199    } catch (IllegalArgumentException e) {
200    // expected
201    }
202  1 try {
203  1 bo.setLoadingProgressState(LoadingState.STATE_LOADING_INTO_MEMORY_FAILED);
204  0 fail("IllegalArgumentException expected");
205    } catch (IllegalArgumentException e) {
206    // expected
207    }
208  1 bo.setLoadingProgressState(LoadingState.STATE_UNDEFINED);
209  1 assertEquals(LoadingState.STATE_UNDEFINED, bo.getLoadingState());
210  1 bo.setLoadingProgressState(LoadingState.STATE_LOADING_FROM_BUFFER);
211  1 assertEquals(LoadingState.STATE_LOADING_FROM_BUFFER, bo.getLoadingState());
212  1 bo.setLoadingProgressState(LoadingState.STATE_LOADING_FROM_WEB);
213  1 assertEquals(LoadingState.STATE_LOADING_FROM_WEB, bo.getLoadingState());
214  1 bo.setLoadingProgressState(LoadingState.STATE_LOADING_FROM_WEB);
215  1 assertEquals(LoadingState.STATE_LOADING_FROM_WEB, bo.getLoadingState());
216  1 bo.setLoadingProgressState(LoadingState.STATE_LOADING_INTO_MEMORY);
217  1 assertEquals(LoadingState.STATE_LOADING_INTO_MEMORY, bo.getLoadingState());
218  1 bo.setLoadingProgressState(LoadingState.STATE_LOCATING_WITHIN_WEB);
219  1 assertEquals(LoadingState.STATE_LOCATING_WITHIN_WEB, bo.getLoadingState());
220  1 bo.setLoadingProgressState(LoadingState.STATE_UNDEFINED);
221  1 assertEquals(LoadingState.STATE_UNDEFINED, bo.getLoadingState());
222  1 try {
223  1 bo.setLoadingProgressState(LoadingState.STATE_LOADED);
224  0 fail("IllegalArgumentException expected");
225    } catch (IllegalArgumentException e) {
226    // expected
227    }
228    }
229   
 
230  1 toggle public void testSetDependencyFailureState() throws Exception {
231  1 DefaultKernelQedeqBo bo;
232  1 bo = new DefaultKernelQedeqBo(services, new DefaultModuleAddress("qedeq.org/test.xml"));
233  1 assertFalse(bo.hasErrors());
234  1 assertNotNull(bo.getErrors());
235  1 assertEquals(0, bo.getErrors().size());
236  1 ModuleLabels labels = new ModuleLabels();
237  1 Element2LatexImpl converter = new Element2LatexImpl(labels);
238  1 Element2Utf8 textConverter = new Element2Utf8Impl(converter);
239  1 bo.setLoaded(new QedeqVo(), labels, converter, textConverter);
240  1 assertTrue(bo.isLoaded());
241  1 assertNotNull(bo.getErrors());
242  1 assertEquals(0, bo.getErrors().size());
243  1 try {
244  1 bo.setDependencyFailureState(DependencyState.STATE_LOADING_REQUIRED_MODULES_FAILED,
245    null);
246  0 fail("NullPointerException expected");
247    } catch (NullPointerException e) {
248    // expected
249    }
250  1 final SourceFileExceptionList defaultSourceFileExceptionList
251    = new SourceFileExceptionList(new SourceFileException(DummyPlugin.getInstance(),
252    new QedeqException(1, "myError") {}, null, null));
253  1 try {
254  1 bo.setLoadingFailureState(null,
255    defaultSourceFileExceptionList);
256  0 fail("NullPointerException expected");
257    } catch (NullPointerException e) {
258    // expected
259    }
260  1 bo.setLoadingProgressState(LoadingState.STATE_UNDEFINED);
261  1 assertNotNull(bo.getErrors());
262  1 assertEquals(0, bo.getErrors().size());
263  1 try {
264  1 bo.setDependencyFailureState(DependencyState.STATE_LOADING_REQUIRED_MODULES_FAILED,
265    defaultSourceFileExceptionList);
266  0 fail("IllegalStateException expected");
267    } catch (IllegalStateException e) {
268    // expected
269    }
270  1 bo.setLoadingFailureState(LoadingState.STATE_LOADING_FROM_BUFFER_FAILED,
271    defaultSourceFileExceptionList);
272  1 try {
273  1 bo.setDependencyFailureState(DependencyState.STATE_LOADING_REQUIRED_MODULES_FAILED,
274    defaultSourceFileExceptionList);
275  0 fail("IllegalStateException expected");
276    } catch (IllegalStateException e) {
277    // expected
278    }
279  1 labels = new ModuleLabels();
280  1 converter = new Element2LatexImpl(labels);
281  1 textConverter = new Element2Utf8Impl(converter);
282  1 bo.setLoaded(new QedeqVo(), labels, converter, textConverter);
283  1 assertTrue(bo.isLoaded());
284  1 assertNotNull(bo.getErrors());
285  1 assertEquals(0, bo.getErrors().size());
286  1 bo.setDependencyFailureState(DependencyState.STATE_LOADING_REQUIRED_MODULES_FAILED,
287    defaultSourceFileExceptionList);
288  1 assertEquals(DependencyState.STATE_LOADING_REQUIRED_MODULES_FAILED,
289    bo.getDependencyState());
290  1 assertEquals(defaultSourceFileExceptionList, bo.getErrors());
291  1 bo.setLoaded(new QedeqVo(), labels, converter, textConverter);
292  1 assertTrue(bo.isLoaded());
293  1 assertNotNull(bo.getErrors());
294  1 assertEquals(0, bo.getErrors().size());
295  1 bo.setDependencyProgressState(DependencyState.STATE_UNDEFINED);
296  1 try {
297  1 bo.setDependencyFailureState(DependencyState.STATE_UNDEFINED,
298    defaultSourceFileExceptionList);
299  0 fail("IllegalArgumentException expected");
300    } catch (IllegalArgumentException e) {
301    // expected
302    }
303  1 assertEquals(DependencyState.STATE_UNDEFINED, bo.getDependencyState());
304  1 assertNotNull(bo.getErrors());
305  1 assertEquals(0, bo.getErrors().size());
306  1 try {
307  1 bo.setDependencyFailureState(DependencyState.STATE_LOADING_REQUIRED_MODULES,
308    defaultSourceFileExceptionList);
309  0 fail("IllegalArgumentException expected");
310    } catch (IllegalArgumentException e) {
311    // expected
312    }
313  1 assertEquals(DependencyState.STATE_UNDEFINED, bo.getDependencyState());
314  1 assertNotNull(bo.getErrors());
315  1 assertEquals(0, bo.getErrors().size());
316  1 try {
317  1 bo.setDependencyFailureState(DependencyState.STATE_LOADED_REQUIRED_MODULES,
318    defaultSourceFileExceptionList);
319  0 fail("IllegalArgumentException expected");
320    } catch (IllegalArgumentException e) {
321    // expected
322    }
323  1 assertEquals(DependencyState.STATE_UNDEFINED, bo.getDependencyState());
324  1 assertNotNull(bo.getErrors());
325  1 assertEquals(0, bo.getErrors().size());
326  1 try {
327  1 bo.setDependencyFailureState(DependencyState.STATE_LOADED_REQUIRED_MODULES,
328    defaultSourceFileExceptionList);
329  0 fail("IllegalArgumentException expected");
330    } catch (IllegalArgumentException e) {
331    // expected
332    }
333  1 assertEquals(DependencyState.STATE_UNDEFINED, bo.getDependencyState());
334  1 assertNotNull(bo.getErrors());
335  1 assertEquals(0, bo.getErrors().size());
336    }
337   
338    }