source: src/unittests/ShapeUnittest.cpp@ 4506cc

Action_Thermostats Add_AtomRandomPerturbation Add_FitFragmentPartialChargesAction Add_RotateAroundBondAction Add_SelectAtomByNameAction Added_ParseSaveFragmentResults AddingActions_SaveParseParticleParameters Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_ParticleName_to_Atom Adding_StructOpt_integration_tests AtomFragments Automaking_mpqc_open AutomationFragmentation_failures Candidate_v1.5.4 Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator CombiningParticlePotentialParsing Combining_Subpackages Debian_Package_split Debian_package_split_molecuildergui_only Disabling_MemDebug Docu_Python_wait EmpiricalPotential_contain_HomologyGraph EmpiricalPotential_contain_HomologyGraph_documentation Enable_parallel_make_install Enhance_userguide Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph FitPartialCharges_GlobalError Fix_BoundInBox_CenterInBox_MoleculeActions Fix_ChargeSampling_PBC Fix_ChronosMutex Fix_FitPartialCharges Fix_FitPotential_needs_atomicnumbers Fix_ForceAnnealing Fix_IndependentFragmentGrids Fix_ParseParticles Fix_ParseParticles_split_forward_backward_Actions Fix_PopActions Fix_QtFragmentList_sorted_selection Fix_Restrictedkeyset_FragmentMolecule Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns Fix_fitting_potentials Fixes ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion FragmentAction_writes_AtomFragments FragmentMolecule_checks_bonddegrees GeometryObjects Gui_Fixes Gui_displays_atomic_force_velocity ImplicitCharges IndependentFragmentGrids IndependentFragmentGrids_IndividualZeroInstances IndependentFragmentGrids_IntegrationTest IndependentFragmentGrids_Sole_NN_Calculation JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool JobMarket_unresolvable_hostname_fix MoreRobust_FragmentAutomation ODR_violation_mpqc_open PartialCharges_OrthogonalSummation PdbParser_setsAtomName PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks Rewrite_FitPartialCharges RotateToPrincipalAxisSystem_UndoRedo SaturateAtoms_findBestMatching SaturateAtoms_singleDegree StoppableMakroAction Subpackage_CodePatterns Subpackage_JobMarket Subpackage_LinearAlgebra Subpackage_levmar Subpackage_mpqc_open Subpackage_vmg Switchable_LogView ThirdParty_MPQC_rebuilt_buildsystem TrajectoryDependenant_MaxOrder TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps TremoloParser_setsAtomName Ubuntu_1604_changes stable
Last change on this file since 4506cc was 4506cc, checked in by Tillmann Crueger <crueger@…>, 15 years ago

Added more testing to Shape mechanism

  • Property mode set to 100644
File size: 15.3 KB
Line 
1/*
2 * ShapeUnittest.cpp
3 *
4 * Created on: Jun 18, 2010
5 * Author: crueger
6 */
7
8#include "ShapeUnittest.hpp"
9
10#include <cppunit/CompilerOutputter.h>
11#include <cppunit/extensions/TestFactoryRegistry.h>
12#include <cppunit/ui/text/TestRunner.h>
13
14#ifdef HAVE_TESTRUNNER
15#include "UnitTestMain.hpp"
16#endif /*HAVE_TESTRUNNER*/
17
18#include "Shapes/Shape.hpp"
19#include "Shapes/BaseShapes.hpp"
20#include "vector.cpp"
21
22// Registers the fixture into the 'registry'
23CPPUNIT_TEST_SUITE_REGISTRATION( ShapeUnittest );
24
25void ShapeUnittest::setUp()
26{
27 v000 = 0*unitVec[0]+0*unitVec[1]+0*unitVec[2];
28 v100 = 1*unitVec[0]+0*unitVec[1]+0*unitVec[2];
29 v200 = -1*unitVec[0]+0*unitVec[1]+0*unitVec[2];
30 v010 = 0*unitVec[0]+1*unitVec[1]+0*unitVec[2];
31 v110 = 1*unitVec[0]+1*unitVec[1]+0*unitVec[2];
32 v210 = -1*unitVec[0]+1*unitVec[1]+0*unitVec[2];
33 v020 = 0*unitVec[0]-1*unitVec[1]+0*unitVec[2];
34 v120 = 1*unitVec[0]-1*unitVec[1]+0*unitVec[2];
35 v220 = -1*unitVec[0]-1*unitVec[1]+0*unitVec[2];
36 v001 = 0*unitVec[0]+0*unitVec[1]+1*unitVec[2];
37 v101 = 1*unitVec[0]+0*unitVec[1]+1*unitVec[2];
38 v201 = -1*unitVec[0]+0*unitVec[1]+1*unitVec[2];
39 v011 = 0*unitVec[0]+1*unitVec[1]+1*unitVec[2];
40 v111 = 1*unitVec[0]+1*unitVec[1]+1*unitVec[2];
41 v211 = -1*unitVec[0]+1*unitVec[1]+1*unitVec[2];
42 v021 = 0*unitVec[0]-1*unitVec[1]+1*unitVec[2];
43 v121 = 1*unitVec[0]-1*unitVec[1]+1*unitVec[2];
44 v221 = -1*unitVec[0]-1*unitVec[1]+1*unitVec[2];
45 v002 = 0*unitVec[0]+0*unitVec[1]-1*unitVec[2];
46 v102 = 1*unitVec[0]+0*unitVec[1]-1*unitVec[2];
47 v202 = -1*unitVec[0]+0*unitVec[1]-1*unitVec[2];
48 v012 = 0*unitVec[0]+1*unitVec[1]-1*unitVec[2];
49 v112 = 1*unitVec[0]+1*unitVec[1]-1*unitVec[2];
50 v212 = -1*unitVec[0]+1*unitVec[1]-1*unitVec[2];
51 v022 = 0*unitVec[0]-1*unitVec[1]-1*unitVec[2];
52 v122 = 1*unitVec[0]-1*unitVec[1]-1*unitVec[2];
53 v222 = -1*unitVec[0]-1*unitVec[1]-1*unitVec[2];
54}
55
56void ShapeUnittest::tearDown()
57{}
58
59
60void ShapeUnittest::baseShapesTest(){
61 CPPUNIT_ASSERT(!Nowhere().isInside(v000));
62 CPPUNIT_ASSERT(!Nowhere().isInside(v100));
63 CPPUNIT_ASSERT(!Nowhere().isInside(v200));
64 CPPUNIT_ASSERT(!Nowhere().isInside(v010));
65 CPPUNIT_ASSERT(!Nowhere().isInside(v110));
66 CPPUNIT_ASSERT(!Nowhere().isInside(v210));
67 CPPUNIT_ASSERT(!Nowhere().isInside(v020));
68 CPPUNIT_ASSERT(!Nowhere().isInside(v120));
69 CPPUNIT_ASSERT(!Nowhere().isInside(v220));
70 CPPUNIT_ASSERT(!Nowhere().isInside(v001));
71 CPPUNIT_ASSERT(!Nowhere().isInside(v101));
72 CPPUNIT_ASSERT(!Nowhere().isInside(v201));
73 CPPUNIT_ASSERT(!Nowhere().isInside(v011));
74 CPPUNIT_ASSERT(!Nowhere().isInside(v111));
75 CPPUNIT_ASSERT(!Nowhere().isInside(v211));
76 CPPUNIT_ASSERT(!Nowhere().isInside(v021));
77 CPPUNIT_ASSERT(!Nowhere().isInside(v121));
78 CPPUNIT_ASSERT(!Nowhere().isInside(v221));
79 CPPUNIT_ASSERT(!Nowhere().isInside(v002));
80 CPPUNIT_ASSERT(!Nowhere().isInside(v102));
81 CPPUNIT_ASSERT(!Nowhere().isInside(v202));
82 CPPUNIT_ASSERT(!Nowhere().isInside(v012));
83 CPPUNIT_ASSERT(!Nowhere().isInside(v112));
84 CPPUNIT_ASSERT(!Nowhere().isInside(v212));
85 CPPUNIT_ASSERT(!Nowhere().isInside(v022));
86 CPPUNIT_ASSERT(!Nowhere().isInside(v122));
87 CPPUNIT_ASSERT(!Nowhere().isInside(v222));
88
89 CPPUNIT_ASSERT(Everywhere().isInside(v000));
90 CPPUNIT_ASSERT(Everywhere().isInside(v100));
91 CPPUNIT_ASSERT(Everywhere().isInside(v200));
92 CPPUNIT_ASSERT(Everywhere().isInside(v010));
93 CPPUNIT_ASSERT(Everywhere().isInside(v110));
94 CPPUNIT_ASSERT(Everywhere().isInside(v210));
95 CPPUNIT_ASSERT(Everywhere().isInside(v020));
96 CPPUNIT_ASSERT(Everywhere().isInside(v120));
97 CPPUNIT_ASSERT(Everywhere().isInside(v220));
98 CPPUNIT_ASSERT(Everywhere().isInside(v001));
99 CPPUNIT_ASSERT(Everywhere().isInside(v101));
100 CPPUNIT_ASSERT(Everywhere().isInside(v201));
101 CPPUNIT_ASSERT(Everywhere().isInside(v011));
102 CPPUNIT_ASSERT(Everywhere().isInside(v111));
103 CPPUNIT_ASSERT(Everywhere().isInside(v211));
104 CPPUNIT_ASSERT(Everywhere().isInside(v021));
105 CPPUNIT_ASSERT(Everywhere().isInside(v121));
106 CPPUNIT_ASSERT(Everywhere().isInside(v221));
107 CPPUNIT_ASSERT(Everywhere().isInside(v002));
108 CPPUNIT_ASSERT(Everywhere().isInside(v102));
109 CPPUNIT_ASSERT(Everywhere().isInside(v202));
110 CPPUNIT_ASSERT(Everywhere().isInside(v012));
111 CPPUNIT_ASSERT(Everywhere().isInside(v112));
112 CPPUNIT_ASSERT(Everywhere().isInside(v212));
113 CPPUNIT_ASSERT(Everywhere().isInside(v022));
114 CPPUNIT_ASSERT(Everywhere().isInside(v122));
115 CPPUNIT_ASSERT(Everywhere().isInside(v222));
116
117 CPPUNIT_ASSERT(Cuboid().isInside(v000));
118 CPPUNIT_ASSERT(Cuboid().isInside(v100));
119 CPPUNIT_ASSERT(Cuboid().isInside(v200));
120 CPPUNIT_ASSERT(Cuboid().isInside(v010));
121 CPPUNIT_ASSERT(Cuboid().isInside(v110));
122 CPPUNIT_ASSERT(Cuboid().isInside(v210));
123 CPPUNIT_ASSERT(Cuboid().isInside(v020));
124 CPPUNIT_ASSERT(Cuboid().isInside(v120));
125 CPPUNIT_ASSERT(Cuboid().isInside(v220));
126 CPPUNIT_ASSERT(Cuboid().isInside(v001));
127 CPPUNIT_ASSERT(Cuboid().isInside(v101));
128 CPPUNIT_ASSERT(Cuboid().isInside(v201));
129 CPPUNIT_ASSERT(Cuboid().isInside(v011));
130 CPPUNIT_ASSERT(Cuboid().isInside(v111));
131 CPPUNIT_ASSERT(Cuboid().isInside(v211));
132 CPPUNIT_ASSERT(Cuboid().isInside(v021));
133 CPPUNIT_ASSERT(Cuboid().isInside(v121));
134 CPPUNIT_ASSERT(Cuboid().isInside(v221));
135 CPPUNIT_ASSERT(Cuboid().isInside(v002));
136 CPPUNIT_ASSERT(Cuboid().isInside(v102));
137 CPPUNIT_ASSERT(Cuboid().isInside(v202));
138 CPPUNIT_ASSERT(Cuboid().isInside(v012));
139 CPPUNIT_ASSERT(Cuboid().isInside(v112));
140 CPPUNIT_ASSERT(Cuboid().isInside(v212));
141 CPPUNIT_ASSERT(Cuboid().isInside(v022));
142 CPPUNIT_ASSERT(Cuboid().isInside(v122));
143 CPPUNIT_ASSERT(Cuboid().isInside(v222));
144
145 CPPUNIT_ASSERT(Sphere().isInside(v000));
146 CPPUNIT_ASSERT(Sphere().isInside(v100));
147 CPPUNIT_ASSERT(Sphere().isInside(v200));
148 CPPUNIT_ASSERT(Sphere().isInside(v010));
149 CPPUNIT_ASSERT(!Sphere().isInside(v110));
150 CPPUNIT_ASSERT(!Sphere().isInside(v210));
151 CPPUNIT_ASSERT(Sphere().isInside(v020));
152 CPPUNIT_ASSERT(!Sphere().isInside(v120));
153 CPPUNIT_ASSERT(!Sphere().isInside(v220));
154 CPPUNIT_ASSERT(Sphere().isInside(v001));
155 CPPUNIT_ASSERT(!Sphere().isInside(v101));
156 CPPUNIT_ASSERT(!Sphere().isInside(v201));
157 CPPUNIT_ASSERT(!Sphere().isInside(v011));
158 CPPUNIT_ASSERT(!Sphere().isInside(v111));
159 CPPUNIT_ASSERT(!Sphere().isInside(v211));
160 CPPUNIT_ASSERT(!Sphere().isInside(v021));
161 CPPUNIT_ASSERT(!Sphere().isInside(v121));
162 CPPUNIT_ASSERT(!Sphere().isInside(v221));
163 CPPUNIT_ASSERT(Sphere().isInside(v002));
164 CPPUNIT_ASSERT(!Sphere().isInside(v102));
165 CPPUNIT_ASSERT(!Sphere().isInside(v202));
166 CPPUNIT_ASSERT(!Sphere().isInside(v012));
167 CPPUNIT_ASSERT(!Sphere().isInside(v112));
168 CPPUNIT_ASSERT(!Sphere().isInside(v212));
169 CPPUNIT_ASSERT(!Sphere().isInside(v022));
170 CPPUNIT_ASSERT(!Sphere().isInside(v122));
171 CPPUNIT_ASSERT(!Sphere().isInside(v222));
172}
173
174void ShapeUnittest::assignmentTest(){
175 Shape s1 = Nowhere();
176 s1 = Everywhere();
177
178 CPPUNIT_ASSERT(s1.isInside(v000));
179 CPPUNIT_ASSERT(s1.isInside(v100));
180 CPPUNIT_ASSERT(s1.isInside(v200));
181 CPPUNIT_ASSERT(s1.isInside(v010));
182 CPPUNIT_ASSERT(s1.isInside(v110));
183 CPPUNIT_ASSERT(s1.isInside(v210));
184 CPPUNIT_ASSERT(s1.isInside(v020));
185 CPPUNIT_ASSERT(s1.isInside(v120));
186 CPPUNIT_ASSERT(s1.isInside(v220));
187 CPPUNIT_ASSERT(s1.isInside(v001));
188 CPPUNIT_ASSERT(s1.isInside(v101));
189 CPPUNIT_ASSERT(s1.isInside(v201));
190 CPPUNIT_ASSERT(s1.isInside(v011));
191 CPPUNIT_ASSERT(s1.isInside(v111));
192 CPPUNIT_ASSERT(s1.isInside(v211));
193 CPPUNIT_ASSERT(s1.isInside(v021));
194 CPPUNIT_ASSERT(s1.isInside(v121));
195 CPPUNIT_ASSERT(s1.isInside(v221));
196 CPPUNIT_ASSERT(s1.isInside(v002));
197 CPPUNIT_ASSERT(s1.isInside(v102));
198 CPPUNIT_ASSERT(s1.isInside(v202));
199 CPPUNIT_ASSERT(s1.isInside(v012));
200 CPPUNIT_ASSERT(s1.isInside(v112));
201 CPPUNIT_ASSERT(s1.isInside(v212));
202 CPPUNIT_ASSERT(s1.isInside(v022));
203 CPPUNIT_ASSERT(s1.isInside(v122));
204 CPPUNIT_ASSERT(s1.isInside(v222));
205
206 Shape s2 = Everywhere();
207 s2 = Nowhere();
208
209 CPPUNIT_ASSERT(!s2.isInside(v000));
210 CPPUNIT_ASSERT(!s2.isInside(v100));
211 CPPUNIT_ASSERT(!s2.isInside(v200));
212 CPPUNIT_ASSERT(!s2.isInside(v010));
213 CPPUNIT_ASSERT(!s2.isInside(v110));
214 CPPUNIT_ASSERT(!s2.isInside(v210));
215 CPPUNIT_ASSERT(!s2.isInside(v020));
216 CPPUNIT_ASSERT(!s2.isInside(v120));
217 CPPUNIT_ASSERT(!s2.isInside(v220));
218 CPPUNIT_ASSERT(!s2.isInside(v001));
219 CPPUNIT_ASSERT(!s2.isInside(v101));
220 CPPUNIT_ASSERT(!s2.isInside(v201));
221 CPPUNIT_ASSERT(!s2.isInside(v011));
222 CPPUNIT_ASSERT(!s2.isInside(v111));
223 CPPUNIT_ASSERT(!s2.isInside(v211));
224 CPPUNIT_ASSERT(!s2.isInside(v021));
225 CPPUNIT_ASSERT(!s2.isInside(v121));
226 CPPUNIT_ASSERT(!s2.isInside(v221));
227 CPPUNIT_ASSERT(!s2.isInside(v002));
228 CPPUNIT_ASSERT(!s2.isInside(v102));
229 CPPUNIT_ASSERT(!s2.isInside(v202));
230 CPPUNIT_ASSERT(!s2.isInside(v012));
231 CPPUNIT_ASSERT(!s2.isInside(v112));
232 CPPUNIT_ASSERT(!s2.isInside(v212));
233 CPPUNIT_ASSERT(!s2.isInside(v022));
234 CPPUNIT_ASSERT(!s2.isInside(v122));
235 CPPUNIT_ASSERT(!s2.isInside(v222));
236
237}
238void ShapeUnittest::operatorTest(){
239 {
240 Shape s1 = !Nowhere();
241 CPPUNIT_ASSERT(s1.isInside(v000));
242 CPPUNIT_ASSERT(s1.isInside(v100));
243 CPPUNIT_ASSERT(s1.isInside(v200));
244 CPPUNIT_ASSERT(s1.isInside(v010));
245 CPPUNIT_ASSERT(s1.isInside(v110));
246 CPPUNIT_ASSERT(s1.isInside(v210));
247 CPPUNIT_ASSERT(s1.isInside(v020));
248 CPPUNIT_ASSERT(s1.isInside(v120));
249 CPPUNIT_ASSERT(s1.isInside(v220));
250 CPPUNIT_ASSERT(s1.isInside(v001));
251 CPPUNIT_ASSERT(s1.isInside(v101));
252 CPPUNIT_ASSERT(s1.isInside(v201));
253 CPPUNIT_ASSERT(s1.isInside(v011));
254 CPPUNIT_ASSERT(s1.isInside(v111));
255 CPPUNIT_ASSERT(s1.isInside(v211));
256 CPPUNIT_ASSERT(s1.isInside(v021));
257 CPPUNIT_ASSERT(s1.isInside(v121));
258 CPPUNIT_ASSERT(s1.isInside(v221));
259 CPPUNIT_ASSERT(s1.isInside(v002));
260 CPPUNIT_ASSERT(s1.isInside(v102));
261 CPPUNIT_ASSERT(s1.isInside(v202));
262 CPPUNIT_ASSERT(s1.isInside(v012));
263 CPPUNIT_ASSERT(s1.isInside(v112));
264 CPPUNIT_ASSERT(s1.isInside(v212));
265 CPPUNIT_ASSERT(s1.isInside(v022));
266 CPPUNIT_ASSERT(s1.isInside(v122));
267 CPPUNIT_ASSERT(s1.isInside(v222));
268
269 Shape s2 = !Everywhere();
270 CPPUNIT_ASSERT(!s2.isInside(v000));
271 CPPUNIT_ASSERT(!s2.isInside(v100));
272 CPPUNIT_ASSERT(!s2.isInside(v200));
273 CPPUNIT_ASSERT(!s2.isInside(v010));
274 CPPUNIT_ASSERT(!s2.isInside(v110));
275 CPPUNIT_ASSERT(!s2.isInside(v210));
276 CPPUNIT_ASSERT(!s2.isInside(v020));
277 CPPUNIT_ASSERT(!s2.isInside(v120));
278 CPPUNIT_ASSERT(!s2.isInside(v220));
279 CPPUNIT_ASSERT(!s2.isInside(v001));
280 CPPUNIT_ASSERT(!s2.isInside(v101));
281 CPPUNIT_ASSERT(!s2.isInside(v201));
282 CPPUNIT_ASSERT(!s2.isInside(v011));
283 CPPUNIT_ASSERT(!s2.isInside(v111));
284 CPPUNIT_ASSERT(!s2.isInside(v211));
285 CPPUNIT_ASSERT(!s2.isInside(v021));
286 CPPUNIT_ASSERT(!s2.isInside(v121));
287 CPPUNIT_ASSERT(!s2.isInside(v221));
288 CPPUNIT_ASSERT(!s2.isInside(v002));
289 CPPUNIT_ASSERT(!s2.isInside(v102));
290 CPPUNIT_ASSERT(!s2.isInside(v202));
291 CPPUNIT_ASSERT(!s2.isInside(v012));
292 CPPUNIT_ASSERT(!s2.isInside(v112));
293 CPPUNIT_ASSERT(!s2.isInside(v212));
294 CPPUNIT_ASSERT(!s2.isInside(v022));
295 CPPUNIT_ASSERT(!s2.isInside(v122));
296 CPPUNIT_ASSERT(!s2.isInside(v222));
297 }
298
299 {
300 Shape s1 = Nowhere() || Everywhere();
301 CPPUNIT_ASSERT(s1.isInside(v000));
302 CPPUNIT_ASSERT(s1.isInside(v100));
303 CPPUNIT_ASSERT(s1.isInside(v200));
304 CPPUNIT_ASSERT(s1.isInside(v010));
305 CPPUNIT_ASSERT(s1.isInside(v110));
306 CPPUNIT_ASSERT(s1.isInside(v210));
307 CPPUNIT_ASSERT(s1.isInside(v020));
308 CPPUNIT_ASSERT(s1.isInside(v120));
309 CPPUNIT_ASSERT(s1.isInside(v220));
310 CPPUNIT_ASSERT(s1.isInside(v001));
311 CPPUNIT_ASSERT(s1.isInside(v101));
312 CPPUNIT_ASSERT(s1.isInside(v201));
313 CPPUNIT_ASSERT(s1.isInside(v011));
314 CPPUNIT_ASSERT(s1.isInside(v111));
315 CPPUNIT_ASSERT(s1.isInside(v211));
316 CPPUNIT_ASSERT(s1.isInside(v021));
317 CPPUNIT_ASSERT(s1.isInside(v121));
318 CPPUNIT_ASSERT(s1.isInside(v221));
319 CPPUNIT_ASSERT(s1.isInside(v002));
320 CPPUNIT_ASSERT(s1.isInside(v102));
321 CPPUNIT_ASSERT(s1.isInside(v202));
322 CPPUNIT_ASSERT(s1.isInside(v012));
323 CPPUNIT_ASSERT(s1.isInside(v112));
324 CPPUNIT_ASSERT(s1.isInside(v212));
325 CPPUNIT_ASSERT(s1.isInside(v022));
326 CPPUNIT_ASSERT(s1.isInside(v122));
327 CPPUNIT_ASSERT(s1.isInside(v222));
328
329 Shape s2 = Nowhere() && Everywhere();
330 CPPUNIT_ASSERT(!s2.isInside(v000));
331 CPPUNIT_ASSERT(!s2.isInside(v100));
332 CPPUNIT_ASSERT(!s2.isInside(v200));
333 CPPUNIT_ASSERT(!s2.isInside(v010));
334 CPPUNIT_ASSERT(!s2.isInside(v110));
335 CPPUNIT_ASSERT(!s2.isInside(v210));
336 CPPUNIT_ASSERT(!s2.isInside(v020));
337 CPPUNIT_ASSERT(!s2.isInside(v120));
338 CPPUNIT_ASSERT(!s2.isInside(v220));
339 CPPUNIT_ASSERT(!s2.isInside(v001));
340 CPPUNIT_ASSERT(!s2.isInside(v101));
341 CPPUNIT_ASSERT(!s2.isInside(v201));
342 CPPUNIT_ASSERT(!s2.isInside(v011));
343 CPPUNIT_ASSERT(!s2.isInside(v111));
344 CPPUNIT_ASSERT(!s2.isInside(v211));
345 CPPUNIT_ASSERT(!s2.isInside(v021));
346 CPPUNIT_ASSERT(!s2.isInside(v121));
347 CPPUNIT_ASSERT(!s2.isInside(v221));
348 CPPUNIT_ASSERT(!s2.isInside(v002));
349 CPPUNIT_ASSERT(!s2.isInside(v102));
350 CPPUNIT_ASSERT(!s2.isInside(v202));
351 CPPUNIT_ASSERT(!s2.isInside(v012));
352 CPPUNIT_ASSERT(!s2.isInside(v112));
353 CPPUNIT_ASSERT(!s2.isInside(v212));
354 CPPUNIT_ASSERT(!s2.isInside(v022));
355 CPPUNIT_ASSERT(!s2.isInside(v122));
356 CPPUNIT_ASSERT(!s2.isInside(v222));
357 }
358
359 {
360 Shape s1 = Everywhere() || Nowhere();
361 CPPUNIT_ASSERT(s1.isInside(v000));
362 CPPUNIT_ASSERT(s1.isInside(v100));
363 CPPUNIT_ASSERT(s1.isInside(v200));
364 CPPUNIT_ASSERT(s1.isInside(v010));
365 CPPUNIT_ASSERT(s1.isInside(v110));
366 CPPUNIT_ASSERT(s1.isInside(v210));
367 CPPUNIT_ASSERT(s1.isInside(v020));
368 CPPUNIT_ASSERT(s1.isInside(v120));
369 CPPUNIT_ASSERT(s1.isInside(v220));
370 CPPUNIT_ASSERT(s1.isInside(v001));
371 CPPUNIT_ASSERT(s1.isInside(v101));
372 CPPUNIT_ASSERT(s1.isInside(v201));
373 CPPUNIT_ASSERT(s1.isInside(v011));
374 CPPUNIT_ASSERT(s1.isInside(v111));
375 CPPUNIT_ASSERT(s1.isInside(v211));
376 CPPUNIT_ASSERT(s1.isInside(v021));
377 CPPUNIT_ASSERT(s1.isInside(v121));
378 CPPUNIT_ASSERT(s1.isInside(v221));
379 CPPUNIT_ASSERT(s1.isInside(v002));
380 CPPUNIT_ASSERT(s1.isInside(v102));
381 CPPUNIT_ASSERT(s1.isInside(v202));
382 CPPUNIT_ASSERT(s1.isInside(v012));
383 CPPUNIT_ASSERT(s1.isInside(v112));
384 CPPUNIT_ASSERT(s1.isInside(v212));
385 CPPUNIT_ASSERT(s1.isInside(v022));
386 CPPUNIT_ASSERT(s1.isInside(v122));
387 CPPUNIT_ASSERT(s1.isInside(v222));
388
389 Shape s2 = Everywhere() && Nowhere();
390 CPPUNIT_ASSERT(!s2.isInside(v000));
391 CPPUNIT_ASSERT(!s2.isInside(v100));
392 CPPUNIT_ASSERT(!s2.isInside(v200));
393 CPPUNIT_ASSERT(!s2.isInside(v010));
394 CPPUNIT_ASSERT(!s2.isInside(v110));
395 CPPUNIT_ASSERT(!s2.isInside(v210));
396 CPPUNIT_ASSERT(!s2.isInside(v020));
397 CPPUNIT_ASSERT(!s2.isInside(v120));
398 CPPUNIT_ASSERT(!s2.isInside(v220));
399 CPPUNIT_ASSERT(!s2.isInside(v001));
400 CPPUNIT_ASSERT(!s2.isInside(v101));
401 CPPUNIT_ASSERT(!s2.isInside(v201));
402 CPPUNIT_ASSERT(!s2.isInside(v011));
403 CPPUNIT_ASSERT(!s2.isInside(v111));
404 CPPUNIT_ASSERT(!s2.isInside(v211));
405 CPPUNIT_ASSERT(!s2.isInside(v021));
406 CPPUNIT_ASSERT(!s2.isInside(v121));
407 CPPUNIT_ASSERT(!s2.isInside(v221));
408 CPPUNIT_ASSERT(!s2.isInside(v002));
409 CPPUNIT_ASSERT(!s2.isInside(v102));
410 CPPUNIT_ASSERT(!s2.isInside(v202));
411 CPPUNIT_ASSERT(!s2.isInside(v012));
412 CPPUNIT_ASSERT(!s2.isInside(v112));
413 CPPUNIT_ASSERT(!s2.isInside(v212));
414 CPPUNIT_ASSERT(!s2.isInside(v022));
415 CPPUNIT_ASSERT(!s2.isInside(v122));
416 CPPUNIT_ASSERT(!s2.isInside(v222));
417 }
418
419}
Note: See TracBrowser for help on using the repository browser.