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 NO_EXPORT_ONLY =
false;
42 const bool DEBUG_FLAG =
false;
43 const QStringList NO_LOAD_STARTUP_FILES;
45 initializeLogging (
"engauge_test",
50 NO_REGRESSION_OPEN_FILE,
55 NO_LOAD_STARTUP_FILES);
59 void TestTransformation::initTransformation (
const QPointF &s0,
68 QTransform matrixScreen (s0.x(), s1.x(), s2.x(),
69 s0.y(), s1.y(), s2.y(),
71 QTransform matrixGraph (g0.x(), g1.x(), g2.x(),
72 g0.y(), g1.y(), g2.y(),
77 t.setModelCoords (modelCoords,
80 t.updateTransformFromMatrices(matrixScreen,
125 void TestTransformation::testCartesianLinearLinear ()
127 QPointF s0 (10, 1000);
128 QPointF s1 (1000, 1000);
134 initTransformation (s0,
140 modelCoordsDefault(),
141 modelGeneralDefault());
143 QVERIFY ((differenceMagnitude (s0, m_s0Transformed) < EPSILON));
144 QVERIFY ((differenceMagnitude (s1, m_s1Transformed) < EPSILON));
145 QVERIFY ((differenceMagnitude (s2, m_s2Transformed) < EPSILON));
146 QVERIFY ((differenceMagnitude (g0, m_g0Transformed) < EPSILON));
147 QVERIFY ((differenceMagnitude (g1, m_g1Transformed) < EPSILON));
148 QVERIFY ((differenceMagnitude (g2, m_g2Transformed) < EPSILON));
151 void TestTransformation::testCartesianLinearLog ()
153 QPointF s0 (10, 1000);
154 QPointF s1 (1000, 1000);
162 initTransformation (s0,
168 modelCoordsDefault(),
169 modelGeneralDefault());
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::testCartesianLogLinear ()
181 QPointF s0 (10, 1000);
182 QPointF s1 (1000, 1000);
190 initTransformation (s0,
196 modelCoordsDefault(),
197 modelGeneralDefault());
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::testCartesianLogLog ()
209 QPointF s0 (10, 1000);
210 QPointF s1 (1000, 1000);
219 initTransformation (s0,
225 modelCoordsDefault(),
226 modelGeneralDefault());
228 QVERIFY ((differenceMagnitude (s0, m_s0Transformed) < EPSILON));
229 QVERIFY ((differenceMagnitude (s1, m_s1Transformed) < EPSILON));
230 QVERIFY ((differenceMagnitude (s2, m_s2Transformed) < EPSILON));
231 QVERIFY ((differenceMagnitude (g0, m_g0Transformed) < EPSILON));
232 QVERIFY ((differenceMagnitude (g1, m_g1Transformed) < EPSILON));
233 QVERIFY ((differenceMagnitude (g2, m_g2Transformed) < EPSILON));
236 void TestTransformation::testPolarLinear ()
238 QPointF s0 (500, 1000);
239 QPointF s1 (1000, 500);
240 QPointF s2 (500, 500);
241 QPointF g0 (-90, 100);
247 initTransformation (s0,
253 modelCoordsDefault(),
254 modelGeneralDefault());
256 QVERIFY ((differenceMagnitude (s0, m_s0Transformed) < EPSILON));
257 QVERIFY ((differenceMagnitude (s1, m_s1Transformed) < EPSILON));
258 QVERIFY ((differenceMagnitude (s2, m_s2Transformed) < EPSILON));
259 QVERIFY ((differenceMagnitude (g0, m_g0Transformed) < EPSILON));
260 QVERIFY ((differenceMagnitude (g1, m_g1Transformed) < EPSILON));
261 QVERIFY ((differenceMagnitude (g2, m_g2Transformed) < EPSILON));
264 void TestTransformation::testPolarLogOffset1 ()
266 QPointF s0 (500, 1000);
267 QPointF s1 (1000, 500);
268 QPointF s2 (500, 500);
269 QPointF g0 (-90, 100);
277 initTransformation (s0,
283 modelCoordsDefault(),
284 modelGeneralDefault());
286 QVERIFY ((differenceMagnitude (s0, m_s0Transformed) < EPSILON));
287 QVERIFY ((differenceMagnitude (s1, m_s1Transformed) < EPSILON));
288 QVERIFY ((differenceMagnitude (s2, m_s2Transformed) < EPSILON));
289 QVERIFY ((differenceMagnitude (g0, m_g0Transformed) < EPSILON));
290 QVERIFY ((differenceMagnitude (g1, m_g1Transformed) < EPSILON));
291 QVERIFY ((differenceMagnitude (g2, m_g2Transformed) < EPSILON));
294 void TestTransformation::testPolarLogOffset10 ()
296 QPointF s0 (500, 1000);
297 QPointF s1 (1000, 500);
298 QPointF s2 (500, 500);
299 QPointF g0 (-90, 100);
307 initTransformation (s0,
313 modelCoordsDefault(),
314 modelGeneralDefault());
316 QVERIFY ((differenceMagnitude (s0, m_s0Transformed) < EPSILON));
317 QVERIFY ((differenceMagnitude (s1, m_s1Transformed) < EPSILON));
318 QVERIFY ((differenceMagnitude (s2, m_s2Transformed) < EPSILON));
319 QVERIFY ((differenceMagnitude (g0, m_g0Transformed) < EPSILON));
320 QVERIFY ((differenceMagnitude (g1, m_g1Transformed) < EPSILON));
321 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.