14#include <QtTest/QtTest>
51bool TestExport::checkCommasInFunctionsForDelimiter (
ExportDelimiter delimiter,
52 QLocale::Country country,
59 QTextStream str (&output);
66 unsigned int numWritesSoFar = 0;
70 exportFile.exportAllPerLineXThetaValuesMerged (m_modelExportOverride,
92bool TestExport::checkCommasInRelationsForDelimiter (
ExportDelimiter delimiter,
93 QLocale::Country country,
100 QTextStream str (&output);
107 unsigned int numWritesSoFar = 0;
110 exportFile.exportAllPerLineXThetaValuesMerged (m_modelExportOverride,
129void TestExport::cleanupTestCase ()
133void 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,
212void TestExport::initTestCase ()
233 m_modelExportOverride = exportDefault;
235 m_mainWindow->show ();
238void 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);
273void TestExport::testCommasInFunctionsForCommasUnitedStates ()
275 QString outputExpected =
283 "100,-3997814.14355\n"
284 "1000,-4541901224.06376\n";
288 QLocale::UnitedStates,
294 QVERIFY (outputGot == outputExpected);
297void 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);
332void TestExport::testCommasInFunctionsForTabsUnitedStates ()
334 QString outputExpected =
342 "100\t-3997814.14355\n"
343 "1000\t-4541901224.06376\n";
347 QLocale::UnitedStates,
353 QVERIFY (outputGot == outputExpected);
356void 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);
419void TestExport::testCommasInRelationsForCommasUnitedStates ()
421 QString outputExpected =
448 QLocale::UnitedStates,
454 QVERIFY (outputGot == outputExpected);
457void TestExport::testCommasInRelationsForTabsSwitzerland ()
459 QString outputExpectedIfCommaSeparator =
483 QString outputExpectedIfPeriodSeparator =
510 QLocale::Switzerland,
516 QVERIFY (outputGot == outputExpectedIfCommaSeparator ||
517 outputGot == outputExpectedIfPeriodSeparator);
520void TestExport::testCommasInRelationsForTabsUnitedStates ()
522 QString outputExpected =
549 QLocale::UnitedStates,
555 QVERIFY (outputGot == outputExpected);
558void TestExport::testExportOnlyNonRegressionLowerCase ()
563 QString outputGot = m_mainWindow->fileNameForExportOnly ();
565 outputWanted = outputWanted.replace (
".dig",
".csv");
567 QVERIFY (outputGot == outputWanted);
570void TestExport::testExportOnlyNonRegressionUpperCase ()
575 QString outputGot = m_mainWindow->fileNameForExportOnly ();
577 outputWanted = outputWanted.replace (
".DIG",
".csv");
579 QVERIFY (outputGot == outputWanted);
582void TestExport::testExportOnlyRegressionLowerCase ()
587 QString outputGot = m_mainWindow->fileNameForExportOnly ();
589 outputWanted = outputWanted.replace (
".dig",
".csv_actual_1");
591 QVERIFY (outputGot == outputWanted);
594void TestExport::testExportOnlyRegressionUpperCase ()
599 QString outputGot = m_mainWindow->fileNameForExportOnly ();
601 outputWanted = outputWanted.replace (
".DIG",
".csv_actual_1");
603 QVERIFY (outputGot == outputWanted);
606void TestExport::testLogExtrapolationFunctionsAll ()
610 QLocale::UnitedStates);
614 QTextStream str (&dummy);
619 unsigned int numWritesSoFar = 0;
623 exportFile.exportAllPerLineXThetaValuesMerged (m_modelExportOverride,
@ CONNECT_AS_FUNCTION_SMOOTH
QHash< QString, double > CurveLimits
QString exportDelimiterToText(ExportDelimiter exportDelimiter, bool isGnuplotDelimiter)
ExportDelimiter
Delimiter values that may or may not be overridden by DOCUMENT_SERIALIZE_EXPORT_DELIMITER_OVERRIDE_CS...
@ EXPORT_POINTS_SELECTION_FUNCTIONS_INTERPOLATE_FIRST_CURVE
void initializeLogging(const QString &name, const QString &filename, bool isDebug)
const bool NO_EXPORT_ONLY
const QStringList NO_COMMAND_LINE
const QString NO_EXTRACT_IMAGE_EXTENSION
const QString STARTUP_DIG_LOWER_CASE("/tmp/export_only.dig")
const bool REGRESSION_IMPORT
const QString STARTUP_DIG_UPPER_CASE("/tmp/export_only.DIG")
const QString NO_ERROR_REPORT_LOG_FILE
const bool NO_GNUPLOT_LOG_FILES
const QString NO_REGRESSION_OPEN_FILE
const QStringList NO_LOAD_STARTUP_FILES
const bool NO_REGRESSION_IMPORT
const QStringList ONE_LOAD_STARTUP_FILE_LOWER_CASE(STARTUP_DIG_LOWER_CASE)
const QStringList ONE_LOAD_STARTUP_FILE_UPPER_CASE(STARTUP_DIG_UPPER_CASE)
const bool NOT_USING_GNUPLOT
const bool NO_EXTRACT_IMAGE_ONLY
const bool NO_DROP_REGRESSION
Container for LineStyle and PointStyle for one Curve.
Model for DlgSettingsCurveProperties and CmdSettingsCurveProperties.
CoordScale coordScaleYRadius() const
Get method for linear/log scale on y/radius.
CoordScale coordScaleXTheta() const
Get method for linear/log scale on x/theta.
void setCoordsType(CoordsType coordsType)
Set method for coordinates type.
void setCoordScaleXTheta(CoordScale coordScale)
Set method for linear/log scale on x/theta.
void setCoordScaleYRadius(CoordScale coordScale)
Set method for linear/log scale on y/radius.
void setCursorSize(int cursorSize)
Set method for effective cursor size.
void setExtraPrecision(int extraPrecision)
Set method for extra digits of precision.
Storage of one imported image and the data attached to that image.
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 setModelCurveStyles(const CurveStyles &modelCurveStyles)
Set method for CurveStyles.
const CoordSystem & coordSystem() const
Currently active CoordSystem.
void setModelCoords(const DocumentModelCoords &modelCoords)
Set method for DocumentModelCoords.
void setModelGeneral(const DocumentModelGeneral &modelGeneral)
Set method for DocumentModelGeneral.
void setModelExport(const DocumentModelExportFormat &modelExport)
Set method for DocumentModelExportFormat.
Strategy class for exporting to a file. This strategy is external to the Document class so that class...
Strategy class for exporting to a file. This strategy is external to the Document class so that class...
Details for a specific Line.
void setLocale(QLocale::Language language, QLocale::Country country)
Set method for locale given attributes.
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Details for a specific Point.
Unit test of Export classes.
TestExport(QObject *parent=0)
Single constructor.