14 #include <QtTest/QtTest>
51 bool TestExport::checkCommasInFunctionsForDelimiter (
ExportDelimiter delimiter,
52 QLocale::Country country,
59 QTextStream str (&output);
66 unsigned int numWritesSoFar = 0;
70 exportFile.exportAllPerLineXThetaValuesMerged (m_modelExportOverride,
92 bool TestExport::checkCommasInRelationsForDelimiter (
ExportDelimiter delimiter,
93 QLocale::Country country,
100 QTextStream str (&output);
107 unsigned int numWritesSoFar = 0;
110 exportFile.exportAllPerLineXThetaValuesMerged (m_modelExportOverride,
129 void TestExport::cleanupTestCase ()
133 void TestExport::initData (
bool isLog,
135 QLocale::Country country)
137 const QString CURVE_NAME (
"Curve1");
138 const int LINE_WIDTH = 2, POINT_LINE_WIDTH = 1;
140 const int RADIUS = 5;
143 m_document =
new Document (nullImage);
145 m_curvesIncluded.clear ();
146 m_curvesIncluded << CURVE_NAME;
156 curveStyles.setCurveStyle (CURVE_NAME, curveStyle);
176 m_modelMainWindow.
setLocale (QLocale::English,
190 m_xThetaValues.clear ();
191 m_xThetaValues << 0.0009999;
192 m_xThetaValues << 0.001;
193 m_xThetaValues << 0.01;
194 m_xThetaValues << 0.1;
196 m_xThetaValues << 10;
197 m_xThetaValues << 100;
198 m_xThetaValues << 1000;
199 QTransform matrixScreen ( 51, 52, 1123,
202 QTransform matrixGraph (qLn (0.001), qLn (0.001), qLn (1000),
203 qLn ( 1), qLn ( 100), qLn ( 1),
205 m_transformation.updateTransformFromMatrices (matrixScreen,
207 m_transformation.setModelCoords (m_modelCoords,
212 void TestExport::initTestCase ()
233 m_modelExportOverride = exportDefault;
235 m_mainWindow->show ();
238 void TestExport::testCommasInFunctionsForCommasSwitzerland ()
240 QString outputExpectedIfCommaSeparator =
242 "\"0,001\",\"-1,27563\"\n"
243 "\"0,001\",\"-1,27563\"\n"
244 "\"0,01\",\"-1,26683\"\n"
245 "\"0,1\",\"-1,17881\"\n"
247 "10,\"-706,15184\"\n"
248 "100,\"-3997814,14355\"\n"
249 "1000,\"-4541901224,06376\"\n";
250 QString outputExpectedIfPeriodSeparator =
258 "100,-3997814.14355\n"
259 "1000,-4541901224.06376\n";
263 QLocale::Switzerland,
269 QVERIFY (outputGot == outputExpectedIfCommaSeparator ||
270 outputGot == outputExpectedIfPeriodSeparator);
273 void TestExport::testCommasInFunctionsForCommasUnitedStates ()
275 QString outputExpected =
283 "100,-3997814.14355\n"
284 "1000,-4541901224.06376\n";
288 QLocale::UnitedStates,
294 QVERIFY (outputGot == outputExpected);
297 void TestExport::testCommasInFunctionsForTabsSwitzerland ()
299 QString outputExpectedIfCommaSeparator =
307 "100\t-3997814,14355\n"
308 "1000\t-4541901224,06376\n";
309 QString outputExpectedIfPeriodSeparator =
317 "100\t-3997814.14355\n"
318 "1000\t-4541901224.06376\n";
322 QLocale::Switzerland,
328 QVERIFY (outputGot == outputExpectedIfCommaSeparator ||
329 outputGot == outputExpectedIfPeriodSeparator);
332 void TestExport::testCommasInFunctionsForTabsUnitedStates ()
334 QString outputExpected =
342 "100\t-3997814.14355\n"
343 "1000\t-4541901224.06376\n";
347 QLocale::UnitedStates,
353 QVERIFY (outputGot == outputExpected);
356 void TestExport::testCommasInRelationsForCommasSwitzerland ()
358 QString outputExpectedIfCommaSeparator =
360 "\"3,3192\",\"2,08003\"\n"
361 "\"3,3723\",\"2,15796\"\n"
362 "\"3,432\",\"2,23368\"\n"
363 "\"3,4935\",\"2,30883\"\n"
364 "\"3,5539\",\"2,38438\"\n"
365 "\"3,6113\",\"2,46094\"\n"
366 "\"3,6687\",\"2,5375\"\n"
367 "\"3,7261\",\"2,61406\"\n"
368 "\"3,7836\",\"2,69062\"\n"
369 "\"3,841\",\"2,76718\"\n"
370 "\"3,9012\",\"2,84276\"\n"
371 "\"3,9628\",\"2,91791\"\n"
372 "\"4,0231\",\"2,99345\"\n"
373 "\"4,0785\",\"3,07067\"\n"
374 "\"4,1339\",\"3,14789\"\n"
375 "\"4,1932\",\"3,22378\"\n"
376 "\"4,2547\",\"3,29893\"\n"
377 "\"4,3156\",\"3,37426\"\n"
378 "\"4,3731\",\"3,45082\"\n"
379 "\"4,4305\",\"3,52738\"\n"
380 "\"4,4892\",\"3,60349\"\n"
381 "\"4,5486\",\"3,67938\"\n";
382 QString outputExpectedIfPeriodSeparator =
409 QLocale::Switzerland,
415 QVERIFY (outputGot == outputExpectedIfCommaSeparator ||
416 outputGot == outputExpectedIfPeriodSeparator);
419 void TestExport::testCommasInRelationsForCommasUnitedStates ()
421 QString outputExpected =
448 QLocale::UnitedStates,
454 QVERIFY (outputGot == outputExpected);
457 void TestExport::testCommasInRelationsForTabsSwitzerland ()
459 QString outputExpectedIfCommaSeparator =
483 QString outputExpectedIfPeriodSeparator =
510 QLocale::Switzerland,
516 QVERIFY (outputGot == outputExpectedIfCommaSeparator ||
517 outputGot == outputExpectedIfPeriodSeparator);
520 void TestExport::testCommasInRelationsForTabsUnitedStates ()
522 QString outputExpected =
549 QLocale::UnitedStates,
555 QVERIFY (outputGot == outputExpected);
558 void TestExport::testExportOnlyNonRegressionLowerCase ()
563 QString outputGot = m_mainWindow->fileNameForExportOnly ();
565 outputWanted = outputWanted.replace (
".dig",
".csv");
567 QVERIFY (outputGot == outputWanted);
570 void TestExport::testExportOnlyNonRegressionUpperCase ()
575 QString outputGot = m_mainWindow->fileNameForExportOnly ();
577 outputWanted = outputWanted.replace (
".DIG",
".csv");
579 QVERIFY (outputGot == outputWanted);
582 void TestExport::testExportOnlyRegressionLowerCase ()
587 QString outputGot = m_mainWindow->fileNameForExportOnly ();
589 outputWanted = outputWanted.replace (
".dig",
".csv_actual_1");
591 QVERIFY (outputGot == outputWanted);
594 void TestExport::testExportOnlyRegressionUpperCase ()
599 QString outputGot = m_mainWindow->fileNameForExportOnly ();
601 outputWanted = outputWanted.replace (
".DIG",
".csv_actual_1");
603 QVERIFY (outputGot == outputWanted);
606 void TestExport::testLogExtrapolationFunctionsAll ()
610 QLocale::UnitedStates);
614 QTextStream str (&dummy);
619 unsigned int numWritesSoFar = 0;
623 exportFile.exportAllPerLineXThetaValuesMerged (m_modelExportOverride,