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 DEBUG_FLAG =
false;
40 const QStringList NO_LOAD_STARTUP_FILES;
42 initializeLogging (
"engauge_test",
47 NO_REGRESSION_OPEN_FILE,
50 NO_LOAD_STARTUP_FILES);
54 void TestTransformation::initTransformation (
const QPointF &s0,
62 QTransform matrixScreen (s0.x(), s1.x(), s2.x(),
63 s0.y(), s1.y(), s2.y(),
65 QTransform matrixGraph (g0.x(), g1.x(), g2.x(),
66 g0.y(), g1.y(), g2.y(),
71 t.setModelCoords (modelCoords,
73 t.updateTransformFromMatrices(matrixScreen,
107 void TestTransformation::testCartesianLinearLinear ()
109 QPointF s0 (10, 1000);
110 QPointF s1 (1000, 1000);
116 initTransformation (s0,
122 modelCoordsDefault());
124 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
125 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
126 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
127 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
128 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
129 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
132 void TestTransformation::testCartesianLinearLog ()
134 QPointF s0 (10, 1000);
135 QPointF s1 (1000, 1000);
143 initTransformation (s0,
149 modelCoordsDefault());
151 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
152 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
153 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
154 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
155 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
156 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
159 void TestTransformation::testCartesianLogLinear ()
161 QPointF s0 (10, 1000);
162 QPointF s1 (1000, 1000);
170 initTransformation (s0,
176 modelCoordsDefault());
178 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
179 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
180 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
181 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
182 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
183 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
186 void TestTransformation::testCartesianLogLog ()
188 QPointF s0 (10, 1000);
189 QPointF s1 (1000, 1000);
198 initTransformation (s0,
204 modelCoordsDefault());
206 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
207 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
208 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
209 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
210 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
211 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
214 void TestTransformation::testPolarLinear ()
216 QPointF s0 (500, 1000);
217 QPointF s1 (1000, 500);
218 QPointF s2 (500, 500);
219 QPointF g0 (-90, 100);
225 initTransformation (s0,
231 modelCoordsDefault());
233 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
234 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
235 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
236 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
237 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
238 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
241 void TestTransformation::testPolarLogOffset1 ()
243 QPointF s0 (500, 1000);
244 QPointF s1 (1000, 500);
245 QPointF s2 (500, 500);
246 QPointF g0 (-90, 100);
254 initTransformation (s0,
260 modelCoordsDefault());
262 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
263 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
264 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
265 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
266 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
267 QVERIFY (differenceMagnitude (g2, m_g2Transformed) < EPSILON);
270 void TestTransformation::testPolarLogOffset10 ()
272 QPointF s0 (500, 1000);
273 QPointF s1 (1000, 500);
274 QPointF s2 (500, 500);
275 QPointF g0 (-90, 100);
283 initTransformation (s0,
289 modelCoordsDefault());
291 QVERIFY (differenceMagnitude (s0, m_s0Transformed) < EPSILON);
292 QVERIFY (differenceMagnitude (s1, m_s1Transformed) < EPSILON);
293 QVERIFY (differenceMagnitude (s2, m_s2Transformed) < EPSILON);
294 QVERIFY (differenceMagnitude (g0, m_g0Transformed) < EPSILON);
295 QVERIFY (differenceMagnitude (g1, m_g1Transformed) < EPSILON);
296 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.