1 #include "DocumentModelCoords.h"
3 #include "MainWindow.h"
5 #include <QtTest/QtTest>
6 #include "Test/TestTransformation.h"
7 #include "Transformation.h"
11 const
double EPSILON = 1.0;
20 void TestTransformation::cleanupTestCase ()
25 double TestTransformation::differenceMagnitude (
const QPointF &vector1,
26 const QPointF &vector2)
const
28 QPointF difference = vector1 - vector2;
29 return qSqrt (difference.x() * difference.x() +
30 difference.y() * difference.y());
32 void TestTransformation::initTestCase ()
34 const QString NO_ERROR_REPORT_LOG_FILE;
35 const bool NO_GNUPLOT_LOG_FILES =
false;
36 const bool DEBUG_FLAG =
false;
37 initializeLogging (
"engauge_test",
42 NO_GNUPLOT_LOG_FILES);
46 void TestTransformation::initTransformation (
const QPointF &s0,
54 QTransform matrixScreen (s0.x(), s1.x(), s2.x(),
55 s0.y(), s1.y(), s2.y(),
57 QTransform matrixGraph (g0.x(), g1.x(), g2.x(),
58 g0.y(), g1.y(), g2.y(),
62 t.setModelCoords (modelCoords);
63 t.updateTransformFromMatrices(matrixScreen,
97 void TestTransformation::testCartesianLinearLinear ()
99 QPointF s0 (10, 1000);
100 QPointF s1 (1000, 1000);
106 initTransformation (s0,
112 modelCoordsDefault());
114 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
115 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
116 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
117 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
118 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
119 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
122 void TestTransformation::testCartesianLinearLog ()
124 QPointF s0 (10, 1000);
125 QPointF s1 (1000, 1000);
133 initTransformation (s0,
139 modelCoordsDefault());
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::testCartesianLogLinear ()
151 QPointF s0 (10, 1000);
152 QPointF s1 (1000, 1000);
160 initTransformation (s0,
166 modelCoordsDefault());
168 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
169 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
170 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
171 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
172 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
173 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
176 void TestTransformation::testCartesianLogLog ()
178 QPointF s0 (10, 1000);
179 QPointF s1 (1000, 1000);
188 initTransformation (s0,
194 modelCoordsDefault());
196 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
197 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
198 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
199 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
200 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
201 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
204 void TestTransformation::testPolarLinear ()
206 QPointF s0 (500, 1000);
207 QPointF s1 (1000, 500);
208 QPointF s2 (500, 500);
209 QPointF g0 (-90, 100);
215 initTransformation (s0,
221 modelCoordsDefault());
223 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
224 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
225 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
226 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
227 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
228 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
231 void TestTransformation::testPolarLogOffset1 ()
233 QPointF s0 (500, 1000);
234 QPointF s1 (1000, 500);
235 QPointF s2 (500, 500);
236 QPointF g0 (-90, 100);
244 initTransformation (s0,
250 modelCoordsDefault());
252 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
253 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
254 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
255 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
256 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
257 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
260 void TestTransformation::testPolarLogOffset10 ()
262 QPointF s0 (500, 1000);
263 QPointF s1 (1000, 500);
264 QPointF s2 (500, 500);
265 QPointF g0 (-90, 100);
273 initTransformation (s0,
279 modelCoordsDefault());
281 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
282 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
283 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
284 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
285 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
286 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.
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.