17 class mitkPlanarCrossTestClass
23 MITK_TEST_CONDITION(planarCross->GetMinimumNumberOfControlPoints() == 4,
"Minimum number of control points");
26 MITK_TEST_CONDITION(planarCross->GetMaximumNumberOfControlPoints() == 4,
"Maximum number of control points");
32 planarCross->PlaceFigure(p0);
38 planarCross->SetCurrentControlPoint(p1);
44 planarCross->AddControlPoint(p2);
49 "Number of helper polylines after placing 3 points");
52 MITK_TEST_CONDITION(planarCross->IsHelperToBePainted(0),
"Helper line to be painted after placing 3 points");
73 planarCross->AddControlPoint(p3);
76 MITK_TEST_CONDITION(planarCross->GetNumberOfControlPoints() == 4,
"Number of control points after placement");
83 "Helper line no longer to be painted after placement of all 4 points");
88 MITK_TEST_CONDITION(planarCross->GetPolyLinesSize() == 2,
"Number of polylines after placement");
90 auto iter0 = polyLine0.begin();
91 auto iter1 = polyLine1.begin();
97 MITK_TEST_CONDITION(((pp0 == p0) && (pp1 == p1)) || ((pp0 == p1) && (pp1 == p0)),
"Correct polyline 1");
102 MITK_TEST_CONDITION(((pp2 == p2) && (pp3 == p3)) || ((pp2 == p3) && (pp3 == p2)),
"Correct polyline 2");
105 planarCross->EvaluateFeatures();
106 MITK_TEST_CONDITION(planarCross->GetNumberOfFeatures() == 2,
"Number of measurement features");
109 double length0 = sqrt(80.0 * 80.0 * 2.0);
112 double length1 = sqrt(60.0 * 60.0 * 2.0);
119 MITK_TEST_CONDITION(planarCross->GetMinimumNumberOfControlPoints() == 2,
"Minimum number of control points");
122 MITK_TEST_CONDITION(planarCross->GetMaximumNumberOfControlPoints() == 2,
"Maximum number of control points");
128 planarCross->PlaceFigure(p0);
134 planarCross->SetCurrentControlPoint(p1);
138 "No helper line to be painted in single-line mode");
141 MITK_TEST_CONDITION(planarCross->GetNumberOfControlPoints() == 2,
"Number of control points after placement");
148 auto iter = polyLine0.begin();
149 MITK_TEST_CONDITION(planarCross->GetPolyLinesSize() == 1,
"Number of polylines after placement");
155 MITK_TEST_CONDITION(((pp0 == p0) && (pp1 == p1)) || ((pp0 == p1) && (pp1 == p0)),
"Correct polyline 1");
158 planarCross->EvaluateFeatures();
159 MITK_TEST_CONDITION(planarCross->GetNumberOfFeatures() == 1,
"Number of measurement features");
162 double length0 = sqrt(5.0 * 5.0 + 50.0 * 50.0);
167 "Single-line PlanarCross should not be reset on point edit");
177 planarCross->PlaceFigure(p0);
182 "Point1 placed and constrained correctly");
189 planarCross->SetCurrentControlPoint(p1);
194 "Point2 placed and constrained correctly");
201 planarCross->AddControlPoint(p2);
206 "Point3 placed and constrained correctly");
211 planarCross->SetControlPoint(2, p2);
214 cp2 = planarCross->GetControlPoint(2);
216 "Point3 moved correctly");
223 planarCross->AddControlPoint(p3);
228 "Point4 placed and constrained correctly");
234 planarCross->SetControlPoint(3, p3);
237 cp3 = planarCross->GetControlPoint(3);
239 "Point4 placed and constrained correctly");
254 planarCross->SelectControlPoint(0);
258 "Editing control point 0: Double-line PlanarCross should be reset");
261 MITK_TEST_CONDITION(planarCross->GetNumberOfControlPoints() == 2,
"Two control points are left");
265 (planarCross->GetControlPoint(1).EuclideanDistanceTo(p0) <
mitk::eps),
266 "Reset to expected control points (p1, p0)");
269 ResetPlanarCross(planarCross, p0, p1, p2, p3);
273 planarCross->SelectControlPoint(1);
277 "Editing control point 1: Double-line PlanarCross should be reset");
280 MITK_TEST_CONDITION(planarCross->GetNumberOfControlPoints() == 2,
"Two control points are left");
284 (planarCross->GetControlPoint(1).EuclideanDistanceTo(p1) <
mitk::eps),
285 "Reset to expected control points (p0, p1)");
288 ResetPlanarCross(planarCross, p0, p1, p2, p3);
292 planarCross->SelectControlPoint(2);
296 "Editing control point 2: Double-line PlanarCross should be reset");
299 MITK_TEST_CONDITION(planarCross->GetNumberOfControlPoints() == 2,
"Two control points are left");
303 (planarCross->GetControlPoint(1).EuclideanDistanceTo(p2) <
mitk::eps),
304 "Reset to expected control points (p3, p2)");
307 ResetPlanarCross(planarCross, p0, p1, p2, p3);
311 planarCross->SelectControlPoint(3);
315 "Editing control point 3: Double-line PlanarCross should be reset");
318 MITK_TEST_CONDITION(planarCross->GetNumberOfControlPoints() == 2,
"Two control points are left");
322 (planarCross->GetControlPoint(1).EuclideanDistanceTo(p3) <
mitk::eps),
323 "Reset to expected control points (p2, p3)");
326 static void ResetPlanarCross(
329 planarCross->SetControlPoint(0, p0,
true);
330 planarCross->SetControlPoint(1, p1,
true);
331 planarCross->SetControlPoint(2, p2,
true);
332 planarCross->SetControlPoint(3, p3,
true);
352 planeGeometry->InitializeStandardPlane(100.0, 100.0);
357 planarCross->SetPlaneGeometry(planeGeometry);
366 mitkPlanarCrossTestClass::TestPlanarCrossPlacement(planarCross);
371 planarCross->SingleLineModeOn();
372 planarCross->SetPlaneGeometry(planeGeometry);
378 mitkPlanarCrossTestClass::TestPlanarCrossPlacementSingleLine(planarCross);
383 planarCross->SetPlaneGeometry(planeGeometry);
387 mitkPlanarCrossTestClass::TestPlanarCrossPlacementConstrained(planarCross);
391 mitkPlanarCrossTestClass::TestPlanarCrossEdit(planarCross);
#define MITK_TEST_CONDITION_REQUIRED(COND, MSG)
section GeneralTestsDeprecatedOldTestingStyle Deprecated macros All tests with MITK_TEST_BEGIN()
#define MITK_TEST_CONDITION(COND, MSG)
int mitkPlanarCrossTest(int, char *[])
MITKCORE_EXPORT const ScalarType eps