1 #include "DocumentModelCoords.h" 2 #include "DocumentModelGeneral.h" 4 #include "MainWindow.h" 5 #include "MainWindowModel.h" 7 #include <QtTest/QtTest> 8 #include "Test/TestTransformation.h" 9 #include "Transformation.h" 13 const double EPSILON = 1.0;
22 void TestTransformation::cleanupTestCase ()
27 double TestTransformation::differenceMagnitude (
const QPointF &vector1,
28 const QPointF &vector2)
const 30 QPointF difference = vector1 - vector2;
31 return qSqrt (difference.x() * difference.x() +
32 difference.y() * difference.y());
34 void TestTransformation::initTestCase ()
36 const QString NO_ERROR_REPORT_LOG_FILE;
37 const QString NO_REGRESSION_OPEN_FILE;
38 const bool NO_GNUPLOT_LOG_FILES =
false;
39 const bool NO_REGRESSION_IMPORT =
false;
40 const bool NO_RESET =
false;
41 const bool DEBUG_FLAG =
false;
42 const QStringList NO_LOAD_STARTUP_FILES;
44 initializeLogging (
"engauge_test",
49 NO_REGRESSION_OPEN_FILE,
53 NO_LOAD_STARTUP_FILES);
57 void TestTransformation::initTransformation (
const QPointF &s0,
66 QTransform matrixScreen (s0.x(), s1.x(), s2.x(),
67 s0.y(), s1.y(), s2.y(),
69 QTransform matrixGraph (g0.x(), g1.x(), g2.x(),
70 g0.y(), g1.y(), g2.y(),
75 t.setModelCoords (modelCoords,
78 t.updateTransformFromMatrices(matrixScreen,
123 void TestTransformation::testCartesianLinearLinear ()
125 QPointF s0 (10, 1000);
126 QPointF s1 (1000, 1000);
132 initTransformation (s0,
138 modelCoordsDefault(),
139 modelGeneralDefault());
141 QVERIFY ((differenceMagnitude (s0, m_s0Transformed) < EPSILON));
142 QVERIFY ((differenceMagnitude (s1, m_s1Transformed) < EPSILON));
143 QVERIFY ((differenceMagnitude (s2, m_s2Transformed) < EPSILON));
144 QVERIFY ((differenceMagnitude (g0, m_g0Transformed) < EPSILON));
145 QVERIFY ((differenceMagnitude (g1, m_g1Transformed) < EPSILON));
146 QVERIFY ((differenceMagnitude (g2, m_g2Transformed) < EPSILON));
149 void TestTransformation::testCartesianLinearLog ()
151 QPointF s0 (10, 1000);
152 QPointF s1 (1000, 1000);
160 initTransformation (s0,
166 modelCoordsDefault(),
167 modelGeneralDefault());
169 QVERIFY ((differenceMagnitude (s0, m_s0Transformed) < EPSILON));
170 QVERIFY ((differenceMagnitude (s1, m_s1Transformed) < EPSILON));
171 QVERIFY ((differenceMagnitude (s2, m_s2Transformed) < EPSILON));
172 QVERIFY ((differenceMagnitude (g0, m_g0Transformed) < EPSILON));
173 QVERIFY ((differenceMagnitude (g1, m_g1Transformed) < EPSILON));
174 QVERIFY ((differenceMagnitude (g2, m_g2Transformed) < EPSILON));
177 void TestTransformation::testCartesianLogLinear ()
179 QPointF s0 (10, 1000);
180 QPointF s1 (1000, 1000);
188 initTransformation (s0,
194 modelCoordsDefault(),
195 modelGeneralDefault());
197 QVERIFY ((differenceMagnitude (s0, m_s0Transformed) < EPSILON));
198 QVERIFY ((differenceMagnitude (s1, m_s1Transformed) < EPSILON));
199 QVERIFY ((differenceMagnitude (s2, m_s2Transformed) < EPSILON));
200 QVERIFY ((differenceMagnitude (g0, m_g0Transformed) < EPSILON));
201 QVERIFY ((differenceMagnitude (g1, m_g1Transformed) < EPSILON));
202 QVERIFY ((differenceMagnitude (g2, m_g2Transformed) < EPSILON));
205 void TestTransformation::testCartesianLogLog ()
207 QPointF s0 (10, 1000);
208 QPointF s1 (1000, 1000);
217 initTransformation (s0,
223 modelCoordsDefault(),
224 modelGeneralDefault());
226 QVERIFY ((differenceMagnitude (s0, m_s0Transformed) < EPSILON));
227 QVERIFY ((differenceMagnitude (s1, m_s1Transformed) < EPSILON));
228 QVERIFY ((differenceMagnitude (s2, m_s2Transformed) < EPSILON));
229 QVERIFY ((differenceMagnitude (g0, m_g0Transformed) < EPSILON));
230 QVERIFY ((differenceMagnitude (g1, m_g1Transformed) < EPSILON));
231 QVERIFY ((differenceMagnitude (g2, m_g2Transformed) < EPSILON));
234 void TestTransformation::testPolarLinear ()
236 QPointF s0 (500, 1000);
237 QPointF s1 (1000, 500);
238 QPointF s2 (500, 500);
239 QPointF g0 (-90, 100);
245 initTransformation (s0,
251 modelCoordsDefault(),
252 modelGeneralDefault());
254 QVERIFY ((differenceMagnitude (s0, m_s0Transformed) < EPSILON));
255 QVERIFY ((differenceMagnitude (s1, m_s1Transformed) < EPSILON));
256 QVERIFY ((differenceMagnitude (s2, m_s2Transformed) < EPSILON));
257 QVERIFY ((differenceMagnitude (g0, m_g0Transformed) < EPSILON));
258 QVERIFY ((differenceMagnitude (g1, m_g1Transformed) < EPSILON));
259 QVERIFY ((differenceMagnitude (g2, m_g2Transformed) < EPSILON));
262 void TestTransformation::testPolarLogOffset1 ()
264 QPointF s0 (500, 1000);
265 QPointF s1 (1000, 500);
266 QPointF s2 (500, 500);
267 QPointF g0 (-90, 100);
275 initTransformation (s0,
281 modelCoordsDefault(),
282 modelGeneralDefault());
284 QVERIFY ((differenceMagnitude (s0, m_s0Transformed) < EPSILON));
285 QVERIFY ((differenceMagnitude (s1, m_s1Transformed) < EPSILON));
286 QVERIFY ((differenceMagnitude (s2, m_s2Transformed) < EPSILON));
287 QVERIFY ((differenceMagnitude (g0, m_g0Transformed) < EPSILON));
288 QVERIFY ((differenceMagnitude (g1, m_g1Transformed) < EPSILON));
289 QVERIFY ((differenceMagnitude (g2, m_g2Transformed) < EPSILON));
292 void TestTransformation::testPolarLogOffset10 ()
294 QPointF s0 (500, 1000);
295 QPointF s1 (1000, 500);
296 QPointF s2 (500, 500);
297 QPointF g0 (-90, 100);
305 initTransformation (s0,
311 modelCoordsDefault(),
312 modelGeneralDefault());
314 QVERIFY ((differenceMagnitude (s0, m_s0Transformed) < EPSILON));
315 QVERIFY ((differenceMagnitude (s1, m_s1Transformed) < EPSILON));
316 QVERIFY ((differenceMagnitude (s2, m_s2Transformed) < EPSILON));
317 QVERIFY ((differenceMagnitude (g0, m_g0Transformed) < EPSILON));
318 QVERIFY ((differenceMagnitude (g1, m_g1Transformed) < EPSILON));
319 QVERIFY ((differenceMagnitude (g2, m_g2Transformed) < EPSILON));
void setCoordUnitsTime(CoordUnitsTime coordUnits)
Set method for time units.
Model for DlgSettingsGeneral and CmdSettingsGeneral.
void setCoordUnitsDate(CoordUnitsDate coordUnits)
Set method for date units.
void setCursorSize(int cursorSize)
Set method for effective cursor size.
void setCoordUnitsY(CoordUnitsNonPolarTheta coordUnits)
Set method for y units.
void setCoordUnitsX(CoordUnitsNonPolarTheta coordUnits)
Set method for x units.
void setCoordScaleYRadius(CoordScale coordScale)
Set method for linear/log scale on y/radius.
Model for DlgSettingsMainWindow.
void setCoordUnitsTheta(CoordUnitsPolarTheta coordUnits)
Set method for theta units.
Model for DlgSettingsCoords and CmdSettingsCoords.
void setOriginRadius(double originRadius)
Set method for origin radius in polar mode.
void setCoordUnitsRadius(CoordUnitsNonPolarTheta coordUnits)
Set method for radius units.
void setExtraPrecision(int extraPrecision)
Set method for extra digits of precision.
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
void setCoordScaleXTheta(CoordScale coordScale)
Set method for linear/log scale on x/theta.
void setCoordsType(CoordsType coordsType)
Set method for coordinates type.