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,
const CoordSystem & coordSystem() const
Currently active CoordSystem.
ExportDelimiter
Delimiter values that may or may not be overridden by DOCUMENT_SERIALIZE_EXPORT_DELIMITER_OVERRIDE_CS...
void setCursorSize(int cursorSize)
Set method for effective cursor size.
void setModelGeneral(const DocumentModelGeneral &modelGeneral)
Set method for DocumentModelGeneral.
Model for DlgSettingsCurveProperties and CmdSettingsCurveProperties.
const bool NO_GNUPLOT_LOG_FILES
const QString STARTUP_DIG_LOWER_CASE("/tmp/export_only.dig")
void addPointGraphWithSpecifiedIdentifier(const QString &curveName, const QPointF &posScreen, const QString &identifier, double ordinal)
Add a single graph point with the specified point identifer. Note that PointStyle is not applied to t...
void setCoordScaleYRadius(CoordScale coordScale)
Set method for linear/log scale on y/radius.
QHash< QString, double > CurveLimits
const bool NO_REGRESSION_IMPORT
void setModelCoords(const DocumentModelCoords &modelCoords)
Set method for DocumentModelCoords.
const QStringList ONE_LOAD_STARTUP_FILE_UPPER_CASE(STARTUP_DIG_UPPER_CASE)
const QString STARTUP_DIG_UPPER_CASE("/tmp/export_only.DIG")
void setLocale(QLocale::Language language, QLocale::Country country)
Set method for locale given attributes.
Unit test of Export classes.
TestExport(QObject *parent=0)
Single constructor.
const QString NO_EXTRACT_IMAGE_EXTENSION
void setModelExport(const DocumentModelExportFormat &modelExport)
Set method for DocumentModelExportFormat.
void initializeLogging(const QString &name, const QString &filename, bool isDebug)
const QStringList NO_LOAD_STARTUP_FILES
Details for a specific Point.
Strategy class for exporting to a file. This strategy is external to the Document class so that class...
void setModelCurveStyles(const CurveStyles &modelCurveStyles)
Set method for CurveStyles.
const QStringList ONE_LOAD_STARTUP_FILE_LOWER_CASE(STARTUP_DIG_LOWER_CASE)
const QString NO_REGRESSION_OPEN_FILE
CoordScale coordScaleXTheta() const
Get method for linear/log scale on x/theta.
const bool NO_EXPORT_ONLY
Container for LineStyle and PointStyle for one Curve.
Storage of one imported image and the data attached to that image.
Details for a specific Line.
const QStringList NO_COMMAND_LINE
const bool NO_DROP_REGRESSION
const bool NOT_USING_GNUPLOT
CoordScale coordScaleYRadius() const
Get method for linear/log scale on y/radius.
QString exportDelimiterToText(ExportDelimiter exportDelimiter, bool isGnuplotDelimiter)
Strategy class for exporting to a file. This strategy is external to the Document class so that class...
const QString NO_ERROR_REPORT_LOG_FILE
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.
const bool NO_EXTRACT_IMAGE_ONLY
const bool REGRESSION_IMPORT
void setCoordsType(CoordsType coordsType)
Set method for coordinates type.