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 const QStringList NO_LOAD_STARTUP_FILES;
39 initializeLogging (
"engauge_test",
45 NO_LOAD_STARTUP_FILES);
49 void TestTransformation::initTransformation (
const QPointF &s0,
57 QTransform matrixScreen (s0.x(), s1.x(), s2.x(),
58 s0.y(), s1.y(), s2.y(),
60 QTransform matrixGraph (g0.x(), g1.x(), g2.x(),
61 g0.y(), g1.y(), g2.y(),
65 t.setModelCoords (modelCoords);
66 t.updateTransformFromMatrices(matrixScreen,
100 void TestTransformation::testCartesianLinearLinear ()
102 QPointF s0 (10, 1000);
103 QPointF s1 (1000, 1000);
109 initTransformation (s0,
115 modelCoordsDefault());
117 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
118 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
119 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
120 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
121 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
122 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
125 void TestTransformation::testCartesianLinearLog ()
127 QPointF s0 (10, 1000);
128 QPointF s1 (1000, 1000);
136 initTransformation (s0,
142 modelCoordsDefault());
144 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
145 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
146 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
147 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
148 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
149 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
152 void TestTransformation::testCartesianLogLinear ()
154 QPointF s0 (10, 1000);
155 QPointF s1 (1000, 1000);
163 initTransformation (s0,
169 modelCoordsDefault());
171 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
172 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
173 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
174 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
175 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
176 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
179 void TestTransformation::testCartesianLogLog ()
181 QPointF s0 (10, 1000);
182 QPointF s1 (1000, 1000);
191 initTransformation (s0,
197 modelCoordsDefault());
199 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
200 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
201 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
202 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
203 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
204 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
207 void TestTransformation::testPolarLinear ()
209 QPointF s0 (500, 1000);
210 QPointF s1 (1000, 500);
211 QPointF s2 (500, 500);
212 QPointF g0 (-90, 100);
218 initTransformation (s0,
224 modelCoordsDefault());
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::testPolarLogOffset1 ()
236 QPointF s0 (500, 1000);
237 QPointF s1 (1000, 500);
238 QPointF s2 (500, 500);
239 QPointF g0 (-90, 100);
247 initTransformation (s0,
253 modelCoordsDefault());
255 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
256 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
257 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
258 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
259 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
260 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
263 void TestTransformation::testPolarLogOffset10 ()
265 QPointF s0 (500, 1000);
266 QPointF s1 (1000, 500);
267 QPointF s2 (500, 500);
268 QPointF g0 (-90, 100);
276 initTransformation (s0,
282 modelCoordsDefault());
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);
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.