1 #include "DocumentModelCoords.h"
3 #include "MainWindow.h"
4 #include "MainWindowModel.h"
6 #include <QtTest/QtTest>
7 #include "Test/TestTransformation.h"
8 #include "Transformation.h"
12 const
double EPSILON = 1.0;
21 void TestTransformation::cleanupTestCase ()
26 double TestTransformation::differenceMagnitude (
const QPointF &vector1,
27 const QPointF &vector2)
const
29 QPointF difference = vector1 - vector2;
30 return qSqrt (difference.x() * difference.x() +
31 difference.y() * difference.y());
33 void TestTransformation::initTestCase ()
35 const QString NO_ERROR_REPORT_LOG_FILE;
36 const QString NO_REGRESSION_OPEN_FILE;
37 const bool NO_GNUPLOT_LOG_FILES =
false;
38 const bool NO_REGRESSION_IMPORT =
false;
39 const bool NO_RESET =
false;
40 const bool DEBUG_FLAG =
false;
41 const QStringList NO_LOAD_STARTUP_FILES;
43 initializeLogging (
"engauge_test",
48 NO_REGRESSION_OPEN_FILE,
52 NO_LOAD_STARTUP_FILES);
56 void TestTransformation::initTransformation (
const QPointF &s0,
64 QTransform matrixScreen (s0.x(), s1.x(), s2.x(),
65 s0.y(), s1.y(), s2.y(),
67 QTransform matrixGraph (g0.x(), g1.x(), g2.x(),
68 g0.y(), g1.y(), g2.y(),
73 t.setModelCoords (modelCoords,
75 t.updateTransformFromMatrices(matrixScreen,
109 void TestTransformation::testCartesianLinearLinear ()
111 QPointF s0 (10, 1000);
112 QPointF s1 (1000, 1000);
118 initTransformation (s0,
124 modelCoordsDefault());
126 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
127 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
128 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
129 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
130 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
131 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
134 void TestTransformation::testCartesianLinearLog ()
136 QPointF s0 (10, 1000);
137 QPointF s1 (1000, 1000);
145 initTransformation (s0,
151 modelCoordsDefault());
153 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
154 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
155 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
156 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
157 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
158 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
161 void TestTransformation::testCartesianLogLinear ()
163 QPointF s0 (10, 1000);
164 QPointF s1 (1000, 1000);
172 initTransformation (s0,
178 modelCoordsDefault());
180 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
181 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
182 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
183 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
184 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
185 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
188 void TestTransformation::testCartesianLogLog ()
190 QPointF s0 (10, 1000);
191 QPointF s1 (1000, 1000);
200 initTransformation (s0,
206 modelCoordsDefault());
208 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
209 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
210 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
211 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
212 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
213 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
216 void TestTransformation::testPolarLinear ()
218 QPointF s0 (500, 1000);
219 QPointF s1 (1000, 500);
220 QPointF s2 (500, 500);
221 QPointF g0 (-90, 100);
227 initTransformation (s0,
233 modelCoordsDefault());
235 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
236 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
237 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
238 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
239 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
240 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
243 void TestTransformation::testPolarLogOffset1 ()
245 QPointF s0 (500, 1000);
246 QPointF s1 (1000, 500);
247 QPointF s2 (500, 500);
248 QPointF g0 (-90, 100);
256 initTransformation (s0,
262 modelCoordsDefault());
264 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
265 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
266 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
267 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
268 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
269 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
272 void TestTransformation::testPolarLogOffset10 ()
274 QPointF s0 (500, 1000);
275 QPointF s1 (1000, 500);
276 QPointF s2 (500, 500);
277 QPointF g0 (-90, 100);
285 initTransformation (s0,
291 modelCoordsDefault());
293 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
294 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
295 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
296 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
297 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
298 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
void setCoordUnitsTime(CoordUnitsTime coordUnits)
Set method for time units.
void setCoordUnitsDate(CoordUnitsDate coordUnits)
Set method for date units.
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.
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.