Engauge Digitizer 2
Loading...
Searching...
No Matches
TestExport.cpp
Go to the documentation of this file.
1#include "CurveConnectAs.h"
2#include "Document.h"
6#include "ExportValuesXOrY.h"
7#include "LineStyle.h"
8#include "Logger.h"
9#include "MainWindow.h"
10#include "MainWindowModel.h"
11#include "PointStyle.h"
12#include <QImage>
13#include <qmath.h>
14#include <QtTest/QtTest>
15#include "Spline.h"
16#include "SplinePair.h"
17#include "Test/TestExport.h"
18#include "Transformation.h"
19
20QTEST_MAIN (TestExport)
21
22using namespace std;
23
24const bool NO_DROP_REGRESSION = false;
25const bool NOT_USING_GNUPLOT = false;
26const bool EXPORT_ONLY= true;
29const bool NO_GNUPLOT_LOG_FILES = false;
30const bool NO_REGRESSION_IMPORT = false;
31const bool IS_RESET = true; // Eliminate issues due to unexpected config file settings
32const bool NO_EXPORT_ONLY = false;
33const bool NO_EXTRACT_IMAGE_ONLY = false;
35const bool DEBUG_FLAG = false;
36const QStringList NO_LOAD_STARTUP_FILES;
37const QStringList NO_COMMAND_LINE;
38const QString STARTUP_DIG_LOWER_CASE ("/tmp/export_only.dig");
39const QString STARTUP_DIG_UPPER_CASE ("/tmp/export_only.DIG");
42const bool REGRESSION_IMPORT = true;
43
44TestExport::TestExport(QObject *parent) :
45 QObject(parent),
46 m_mainWindow (0),
47 m_document (0)
48{
49}
50
51bool TestExport::checkCommasInFunctionsForDelimiter (ExportDelimiter delimiter,
52 QLocale::Country country,
53 QString &output)
54{
55 initData (false,
56 delimiter,
57 country);
58
59 QTextStream str (&output);
60 bool success = true;
61 QString dummy;
62
63 try {
64 bool isLogXTheta = (m_modelCoords.coordScaleXTheta() == COORD_SCALE_LOG);
65 bool isLogYRadius = (m_modelCoords.coordScaleYRadius() == COORD_SCALE_LOG);
66 unsigned int numWritesSoFar = 0;
67
68 ExportFileFunctions exportFile;
69 CurveLimits curveLimitsMin, curveLimitsMax; // Empty containers mean no limits are in effect
70 exportFile.exportAllPerLineXThetaValuesMerged (m_modelExportOverride,
71 *m_document,
72 m_modelMainWindow,
73 m_curvesIncluded,
74 m_xThetaValues,
76 m_transformation,
77 isLogXTheta,
78 isLogYRadius,
79 curveLimitsMin,
80 curveLimitsMax,
81 str,
82 numWritesSoFar);
83 }
84 catch (...)
85 {
86 success = false;
87 }
88
89 return (success);
90}
91
92bool TestExport::checkCommasInRelationsForDelimiter (ExportDelimiter delimiter,
93 QLocale::Country country,
94 QString &output)
95{
96 initData (false,
97 delimiter,
98 country);
99
100 QTextStream str (&output);
101 bool success = true;
102 QString dummy;
103
104 try {
105 bool isLogXTheta = (m_modelCoords.coordScaleXTheta() == COORD_SCALE_LOG);
106 bool isLogYRadius = (m_modelCoords.coordScaleYRadius() == COORD_SCALE_LOG);
107 unsigned int numWritesSoFar = 0;
108
109 ExportFileRelations exportFile;
110 exportFile.exportAllPerLineXThetaValuesMerged (m_modelExportOverride,
111 *m_document,
112 m_modelMainWindow,
113 m_curvesIncluded,
115 m_transformation,
116 isLogXTheta,
117 isLogYRadius,
118 str,
119 numWritesSoFar);
120 }
121 catch (...)
122 {
123 success = false;
124 }
125
126 return (success);
127}
128
129void TestExport::cleanupTestCase ()
130{
131}
132
133void TestExport::initData (bool isLog,
134 ExportDelimiter delimiter,
135 QLocale::Country country)
136{
137 const QString CURVE_NAME ("Curve1");
138 const int LINE_WIDTH = 2, POINT_LINE_WIDTH = 1;
139 const ColorPalette LINE_COLOR = COLOR_PALETTE_BLACK, POINT_COLOR = COLOR_PALETTE_BLACK;
140 const int RADIUS = 5;
141
142 QImage nullImage;
143 m_document = new Document (nullImage);
144
145 m_curvesIncluded.clear ();
146 m_curvesIncluded << CURVE_NAME;
147
148 CurveStyles curveStyles (m_document->coordSystem ());
149 CurveStyle curveStyle (LineStyle (LINE_WIDTH,
150 LINE_COLOR,
152 PointStyle (POINT_SHAPE_CIRCLE,
153 RADIUS,
154 POINT_LINE_WIDTH,
155 POINT_COLOR));
156 curveStyles.setCurveStyle (CURVE_NAME, curveStyle);
157 if (isLog) {
158 m_modelCoords.setCoordScaleXTheta (COORD_SCALE_LOG);
159 m_modelCoords.setCoordScaleYRadius (COORD_SCALE_LOG);
160 } else {
161 m_modelCoords.setCoordScaleXTheta (COORD_SCALE_LINEAR);
162 m_modelCoords.setCoordScaleYRadius (COORD_SCALE_LINEAR);
163 }
164 m_modelCoords.setCoordsType (COORDS_TYPE_CARTESIAN);
165 m_modelGeneral.setCursorSize (3);
166 m_modelGeneral.setExtraPrecision (1);
167
168 m_modelExportOverride.setPointsSelectionFunctions (EXPORT_POINTS_SELECTION_FUNCTIONS_INTERPOLATE_FIRST_CURVE);
169 m_modelExportOverride.setDelimiter (delimiter);
170
171 m_document->setModelExport (m_modelExportOverride);
172 m_document->setModelCurveStyles (curveStyles);
173 m_document->setModelCoords (m_modelCoords);
174 m_document->setModelGeneral (m_modelGeneral);
175
176 m_modelMainWindow.setLocale (QLocale::English,
177 country);
178
179 m_document->addPointGraphWithSpecifiedIdentifier (CURVE_NAME, QPointF (845, 305), "Curve1\t0", 0);
180 m_document->addPointGraphWithSpecifiedIdentifier (CURVE_NAME, QPointF (850, 294), "Curve1\t1", 1);
181 m_document->addPointGraphWithSpecifiedIdentifier (CURVE_NAME, QPointF (862, 272), "Curve1\t2", 2);
182 m_document->addPointGraphWithSpecifiedIdentifier (CURVE_NAME, QPointF (876, 244), "Curve1\t3", 3);
183 m_document->addPointGraphWithSpecifiedIdentifier (CURVE_NAME, QPointF (887, 222), "Curve1\t4", 4);
184 m_document->addPointGraphWithSpecifiedIdentifier (CURVE_NAME, QPointF (899, 200), "Curve1\t5", 5);
185 m_document->addPointGraphWithSpecifiedIdentifier (CURVE_NAME, QPointF (910, 177), "Curve1\t6", 6);
186 m_document->addPointGraphWithSpecifiedIdentifier (CURVE_NAME, QPointF (922, 155), "Curve1\t7", 7);
187 m_document->addPointGraphWithSpecifiedIdentifier (CURVE_NAME, QPointF (933, 133), "Curve1\t8", 8);
188 m_document->addPointGraphWithSpecifiedIdentifier (CURVE_NAME, QPointF (945, 110), "Curve1\t9", 9);
189
190 m_xThetaValues.clear ();
191 m_xThetaValues << 0.0009999; // Just outside of the coordinates added to the document
192 m_xThetaValues << 0.001;
193 m_xThetaValues << 0.01;
194 m_xThetaValues << 0.1;
195 m_xThetaValues << 1;
196 m_xThetaValues << 10;
197 m_xThetaValues << 100;
198 m_xThetaValues << 1000;
199 QTransform matrixScreen ( 51, 52, 1123,
200 548, 10, 548,
201 1, 1, 1);
202 QTransform matrixGraph (qLn (0.001), qLn (0.001), qLn (1000),
203 qLn ( 1), qLn ( 100), qLn ( 1),
204 1, 1, 1);
205 m_transformation.updateTransformFromMatrices (matrixScreen,
206 matrixGraph);
207 m_transformation.setModelCoords (m_modelCoords,
208 m_modelGeneral,
209 m_modelMainWindow);
210}
211
212void TestExport::initTestCase ()
213{
214 initializeLogging ("engauge_test",
215 "engauge_test.log",
216 DEBUG_FLAG);
217
218 m_mainWindow = new MainWindow (NO_ERROR_REPORT_LOG_FILE,
223 IS_RESET,
229
230 // Values loaded in the constructor of this class are overwritten so the settings reset just
231 // performed by MainWindow will give us predictable settings (which ultimately affect the test results)
232 DocumentModelExportFormat exportDefault;
233 m_modelExportOverride = exportDefault;
234
235 m_mainWindow->show ();
236}
237
238void TestExport::testCommasInFunctionsForCommasSwitzerland ()
239{
240 QString outputExpectedIfCommaSeparator =
241 "x,Curve1\n"
242 "\"0,001\",\"-1,27563\"\n"
243 "\"0,001\",\"-1,27563\"\n"
244 "\"0,01\",\"-1,26683\"\n"
245 "\"0,1\",\"-1,17881\"\n"
246 "1,\"-0,29658\"\n"
247 "10,\"-706,15184\"\n"
248 "100,\"-3997814,14355\"\n"
249 "1000,\"-4541901224,06376\"\n";
250 QString outputExpectedIfPeriodSeparator =
251 "x,Curve1\n"
252 "0.001,-1.27563\n"
253 "0.001,-1.27563\n"
254 "0.01,-1.26683\n"
255 "0.1,-1.17881\n"
256 "1,-0.29658\n"
257 "10,-706.15184\n"
258 "100,-3997814.14355\n"
259 "1000,-4541901224.06376\n";
260
261 QString outputGot;
262 bool success = checkCommasInFunctionsForDelimiter (EXPORT_DELIMITER_COMMA,
263 QLocale::Switzerland,
264 outputGot);
265 if (!success) {
266 outputGot = "";
267 }
268
269 QVERIFY (outputGot == outputExpectedIfCommaSeparator ||
270 outputGot == outputExpectedIfPeriodSeparator);
271}
272
273void TestExport::testCommasInFunctionsForCommasUnitedStates ()
274{
275 QString outputExpected =
276 "x,Curve1\n"
277 "0.001,-1.27563\n"
278 "0.001,-1.27563\n"
279 "0.01,-1.26683\n"
280 "0.1,-1.17881\n"
281 "1,-0.29658\n"
282 "10,-706.15184\n"
283 "100,-3997814.14355\n"
284 "1000,-4541901224.06376\n";
285
286 QString outputGot;
287 bool success = checkCommasInFunctionsForDelimiter (EXPORT_DELIMITER_COMMA,
288 QLocale::UnitedStates,
289 outputGot);
290 if (!success) {
291 outputGot = "";
292 }
293
294 QVERIFY (outputGot == outputExpected);
295}
296
297void TestExport::testCommasInFunctionsForTabsSwitzerland ()
298{
299 QString outputExpectedIfCommaSeparator =
300 "x\tCurve1\n"
301 "0,001\t-1,27563\n"
302 "0,001\t-1,27563\n"
303 "0,01\t-1,26683\n"
304 "0,1\t-1,17881\n"
305 "1\t-0,29658\n"
306 "10\t-706,15184\n"
307 "100\t-3997814,14355\n"
308 "1000\t-4541901224,06376\n";
309 QString outputExpectedIfPeriodSeparator =
310 "x\tCurve1\n"
311 "0.001\t-1.27563\n"
312 "0.001\t-1.27563\n"
313 "0.01\t-1.26683\n"
314 "0.1\t-1.17881\n"
315 "1\t-0.29658\n"
316 "10\t-706.15184\n"
317 "100\t-3997814.14355\n"
318 "1000\t-4541901224.06376\n";
319
320 QString outputGot;
321 bool success = checkCommasInFunctionsForDelimiter (EXPORT_DELIMITER_TAB,
322 QLocale::Switzerland,
323 outputGot);
324 if (!success) {
325 outputGot = "";
326 }
327
328 QVERIFY (outputGot == outputExpectedIfCommaSeparator ||
329 outputGot == outputExpectedIfPeriodSeparator);
330}
331
332void TestExport::testCommasInFunctionsForTabsUnitedStates ()
333{
334 QString outputExpected =
335 "x\tCurve1\n"
336 "0.001\t-1.27563\n"
337 "0.001\t-1.27563\n"
338 "0.01\t-1.26683\n"
339 "0.1\t-1.17881\n"
340 "1\t-0.29658\n"
341 "10\t-706.15184\n"
342 "100\t-3997814.14355\n"
343 "1000\t-4541901224.06376\n";
344
345 QString outputGot;
346 bool success = checkCommasInFunctionsForDelimiter (EXPORT_DELIMITER_TAB,
347 QLocale::UnitedStates,
348 outputGot);
349 if (!success) {
350 outputGot = "";
351 }
352
353 QVERIFY (outputGot == outputExpected);
354}
355
356void TestExport::testCommasInRelationsForCommasSwitzerland ()
357{
358 QString outputExpectedIfCommaSeparator =
359 "x,Curve1\n"
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 =
383 "x,Curve1\n"
384 "3.3192,2.08003\n"
385 "3.3723,2.15796\n"
386 "3.432,2.23368\n"
387 "3.4935,2.30883\n"
388 "3.5539,2.38438\n"
389 "3.6113,2.46094\n"
390 "3.6687,2.5375\n"
391 "3.7261,2.61406\n"
392 "3.7836,2.69062\n"
393 "3.841,2.76718\n"
394 "3.9012,2.84276\n"
395 "3.9628,2.91791\n"
396 "4.0231,2.99345\n"
397 "4.0785,3.07067\n"
398 "4.1339,3.14789\n"
399 "4.1932,3.22378\n"
400 "4.2547,3.29893\n"
401 "4.3156,3.37426\n"
402 "4.3731,3.45082\n"
403 "4.4305,3.52738\n"
404 "4.4892,3.60349\n"
405 "4.5486,3.67938\n";
406
407 QString outputGot;
408 bool success = checkCommasInRelationsForDelimiter (EXPORT_DELIMITER_COMMA,
409 QLocale::Switzerland,
410 outputGot);
411 if (!success) {
412 outputGot = "";
413 }
414
415 QVERIFY (outputGot == outputExpectedIfCommaSeparator ||
416 outputGot == outputExpectedIfPeriodSeparator);
417}
418
419void TestExport::testCommasInRelationsForCommasUnitedStates ()
420{
421 QString outputExpected =
422 "x,Curve1\n"
423 "3.3192,2.08003\n"
424 "3.3723,2.15796\n"
425 "3.432,2.23368\n"
426 "3.4935,2.30883\n"
427 "3.5539,2.38438\n"
428 "3.6113,2.46094\n"
429 "3.6687,2.5375\n"
430 "3.7261,2.61406\n"
431 "3.7836,2.69062\n"
432 "3.841,2.76718\n"
433 "3.9012,2.84276\n"
434 "3.9628,2.91791\n"
435 "4.0231,2.99345\n"
436 "4.0785,3.07067\n"
437 "4.1339,3.14789\n"
438 "4.1932,3.22378\n"
439 "4.2547,3.29893\n"
440 "4.3156,3.37426\n"
441 "4.3731,3.45082\n"
442 "4.4305,3.52738\n"
443 "4.4892,3.60349\n"
444 "4.5486,3.67938\n";
445
446 QString outputGot;
447 bool success = checkCommasInRelationsForDelimiter (EXPORT_DELIMITER_COMMA,
448 QLocale::UnitedStates,
449 outputGot);
450 if (!success) {
451 outputGot = "";
452 }
453
454 QVERIFY (outputGot == outputExpected);
455}
456
457void TestExport::testCommasInRelationsForTabsSwitzerland ()
458{
459 QString outputExpectedIfCommaSeparator =
460 "x\tCurve1\n"
461 "3,3192\t2,08003\n"
462 "3,3723\t2,15796\n"
463 "3,432\t2,23368\n"
464 "3,4935\t2,30883\n"
465 "3,5539\t2,38438\n"
466 "3,6113\t2,46094\n"
467 "3,6687\t2,5375\n"
468 "3,7261\t2,61406\n"
469 "3,7836\t2,69062\n"
470 "3,841\t2,76718\n"
471 "3,9012\t2,84276\n"
472 "3,9628\t2,91791\n"
473 "4,0231\t2,99345\n"
474 "4,0785\t3,07067\n"
475 "4,1339\t3,14789\n"
476 "4,1932\t3,22378\n"
477 "4,2547\t3,29893\n"
478 "4,3156\t3,37426\n"
479 "4,3731\t3,45082\n"
480 "4,4305\t3,52738\n"
481 "4,4892\t3,60349\n"
482 "4,5486\t3,67938\n";
483 QString outputExpectedIfPeriodSeparator =
484 "x\tCurve1\n"
485 "3.3192\t2.08003\n"
486 "3.3723\t2.15796\n"
487 "3.432\t2.23368\n"
488 "3.4935\t2.30883\n"
489 "3.5539\t2.38438\n"
490 "3.6113\t2.46094\n"
491 "3.6687\t2.5375\n"
492 "3.7261\t2.61406\n"
493 "3.7836\t2.69062\n"
494 "3.841\t2.76718\n"
495 "3.9012\t2.84276\n"
496 "3.9628\t2.91791\n"
497 "4.0231\t2.99345\n"
498 "4.0785\t3.07067\n"
499 "4.1339\t3.14789\n"
500 "4.1932\t3.22378\n"
501 "4.2547\t3.29893\n"
502 "4.3156\t3.37426\n"
503 "4.3731\t3.45082\n"
504 "4.4305\t3.52738\n"
505 "4.4892\t3.60349\n"
506 "4.5486\t3.67938\n";
507
508 QString outputGot;
509 bool success = checkCommasInRelationsForDelimiter (EXPORT_DELIMITER_TAB,
510 QLocale::Switzerland,
511 outputGot);
512 if (!success) {
513 outputGot = "";
514 }
515
516 QVERIFY (outputGot == outputExpectedIfCommaSeparator ||
517 outputGot == outputExpectedIfPeriodSeparator);
518}
519
520void TestExport::testCommasInRelationsForTabsUnitedStates ()
521{
522 QString outputExpected =
523 "x\tCurve1\n"
524 "3.3192\t2.08003\n"
525 "3.3723\t2.15796\n"
526 "3.432\t2.23368\n"
527 "3.4935\t2.30883\n"
528 "3.5539\t2.38438\n"
529 "3.6113\t2.46094\n"
530 "3.6687\t2.5375\n"
531 "3.7261\t2.61406\n"
532 "3.7836\t2.69062\n"
533 "3.841\t2.76718\n"
534 "3.9012\t2.84276\n"
535 "3.9628\t2.91791\n"
536 "4.0231\t2.99345\n"
537 "4.0785\t3.07067\n"
538 "4.1339\t3.14789\n"
539 "4.1932\t3.22378\n"
540 "4.2547\t3.29893\n"
541 "4.3156\t3.37426\n"
542 "4.3731\t3.45082\n"
543 "4.4305\t3.52738\n"
544 "4.4892\t3.60349\n"
545 "4.5486\t3.67938\n";
546
547 QString outputGot;
548 bool success = checkCommasInRelationsForDelimiter (EXPORT_DELIMITER_TAB,
549 QLocale::UnitedStates,
550 outputGot);
551 if (!success) {
552 outputGot = "";
553 }
554
555 QVERIFY (outputGot == outputExpected);
556}
557
558void TestExport::testExportOnlyNonRegressionLowerCase ()
559{
560 m_mainWindow->m_isErrorReportRegressionTest = NO_REGRESSION_IMPORT;
561 m_mainWindow->setCurrentFile (STARTUP_DIG_LOWER_CASE);
562
563 QString outputGot = m_mainWindow->fileNameForExportOnly ();
564 QString outputWanted = STARTUP_DIG_LOWER_CASE;
565 outputWanted = outputWanted.replace (".dig", ".csv");
566
567 QVERIFY (outputGot == outputWanted);
568}
569
570void TestExport::testExportOnlyNonRegressionUpperCase ()
571{
572 m_mainWindow->m_isErrorReportRegressionTest = NO_REGRESSION_IMPORT;
573 m_mainWindow->setCurrentFile (STARTUP_DIG_UPPER_CASE);
574
575 QString outputGot = m_mainWindow->fileNameForExportOnly ();
576 QString outputWanted = STARTUP_DIG_UPPER_CASE;
577 outputWanted = outputWanted.replace (".DIG", ".csv");
578
579 QVERIFY (outputGot == outputWanted);
580}
581
582void TestExport::testExportOnlyRegressionLowerCase ()
583{
584 m_mainWindow->m_isErrorReportRegressionTest = REGRESSION_IMPORT;
585 m_mainWindow->m_regressionFile = STARTUP_DIG_LOWER_CASE;
586
587 QString outputGot = m_mainWindow->fileNameForExportOnly ();
588 QString outputWanted = STARTUP_DIG_LOWER_CASE;
589 outputWanted = outputWanted.replace (".dig", ".csv_actual_1");
590
591 QVERIFY (outputGot == outputWanted);
592}
593
594void TestExport::testExportOnlyRegressionUpperCase ()
595{
596 m_mainWindow->m_isErrorReportRegressionTest = REGRESSION_IMPORT;
597 m_mainWindow->m_regressionFile = STARTUP_DIG_UPPER_CASE;
598
599 QString outputGot = m_mainWindow->fileNameForExportOnly ();
600 QString outputWanted = STARTUP_DIG_UPPER_CASE;
601 outputWanted = outputWanted.replace (".DIG", ".csv_actual_1");
602
603 QVERIFY (outputGot == outputWanted);
604}
605
606void TestExport::testLogExtrapolationFunctionsAll ()
607{
608 initData (true,
610 QLocale::UnitedStates);
611
612 bool success = true;
613 QString dummy;
614 QTextStream str (&dummy);
615
616 try {
617 bool isLogXTheta = (m_modelCoords.coordScaleXTheta() == COORD_SCALE_LOG);
618 bool isLogYRadius = (m_modelCoords.coordScaleYRadius() == COORD_SCALE_LOG);
619 unsigned int numWritesSoFar = 0;
620
621 ExportFileFunctions exportFile;
622 CurveLimits curveLimitsMin, curveLimitsMax; // Empty containers mean no limits are in effect
623 exportFile.exportAllPerLineXThetaValuesMerged (m_modelExportOverride,
624 *m_document,
625 m_modelMainWindow,
626 m_curvesIncluded,
627 m_xThetaValues,
628 " ",
629 m_transformation,
630 isLogXTheta,
631 isLogYRadius,
632 curveLimitsMin,
633 curveLimitsMax,
634 str,
635 numWritesSoFar);
636 }
637 catch (...)
638 {
639 success = false;
640 }
641
642 QVERIFY (success);
643}
ColorPalette
@ COLOR_PALETTE_BLACK
@ COORD_SCALE_LINEAR
Definition CoordScale.h:13
@ COORD_SCALE_LOG
Definition CoordScale.h:14
@ COORDS_TYPE_CARTESIAN
Definition CoordsType.h:13
@ CONNECT_AS_FUNCTION_SMOOTH
QHash< QString, double > CurveLimits
Definition CurveLimits.h:14
QString exportDelimiterToText(ExportDelimiter exportDelimiter, bool isGnuplotDelimiter)
ExportDelimiter
Delimiter values that may or may not be overridden by DOCUMENT_SERIALIZE_EXPORT_DELIMITER_OVERRIDE_CS...
@ EXPORT_DELIMITER_COMMA
@ EXPORT_DELIMITER_TAB
@ EXPORT_POINTS_SELECTION_FUNCTIONS_INTERPOLATE_FIRST_CURVE
void initializeLogging(const QString &name, const QString &filename, bool isDebug)
Definition Logger.cpp:21
@ POINT_SHAPE_CIRCLE
Definition PointShape.h:13
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 bool IS_RESET
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 EXPORT_ONLY
const bool NO_EXTRACT_IMAGE_ONLY
const bool NO_DROP_REGRESSION
const bool DEBUG_FLAG
CoordScale coordScaleYRadius() const
Get method for linear/log scale on y/radius.
CoordScale coordScaleXTheta() const
Get method for linear/log scale on x/theta.
Strategy class for exporting to a file. This strategy is external to the Document class so that class...
Unit test of Export classes.
Definition TestExport.h:17
TestExport(QObject *parent=0)
Single constructor.