Engauge Digitizer  2
TestExport.cpp
Go to the documentation of this file.
1 #include "CurveConnectAs.h"
2 #include "Document.h"
4 #include "ExportFileFunctions.h"
5 #include "ExportFileRelations.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 
20 QTEST_MAIN (TestExport)
21 
22 using namespace std;
23 
24 const bool NO_DROP_REGRESSION = false;
25 const bool NOT_USING_GNUPLOT = false;
26 const bool EXPORT_ONLY= true;
29 const bool NO_GNUPLOT_LOG_FILES = false;
30 const bool NO_REGRESSION_IMPORT = false;
31 const bool IS_RESET = true; // Eliminate issues due to unexpected config file settings
32 const bool NO_EXPORT_ONLY = false;
33 const bool NO_EXTRACT_IMAGE_ONLY = false;
35 const bool DEBUG_FLAG = false;
36 const QStringList NO_LOAD_STARTUP_FILES;
37 const QStringList NO_COMMAND_LINE;
38 const QString STARTUP_DIG_LOWER_CASE ("/tmp/export_only.dig");
39 const QString STARTUP_DIG_UPPER_CASE ("/tmp/export_only.DIG");
42 const bool REGRESSION_IMPORT = true;
43 
44 TestExport::TestExport(QObject *parent) :
45  QObject(parent),
46  m_mainWindow (0),
47  m_document (0)
48 {
49 }
50 
51 bool 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 
92 bool 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 
129 void TestExport::cleanupTestCase ()
130 {
131 }
132 
133 void 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,
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 
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 
212 void 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 
238 void 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 
273 void 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 
297 void 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 
332 void 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 
356 void 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 
419 void 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 
457 void 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 
520 void 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 
558 void 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 
570 void 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 
582 void 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 
594 void 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 
606 void 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 }
void setPointsSelectionFunctions(ExportPointsSelectionFunctions exportPointsSelectionFunctions)
Set method for point selection for functions.
const CoordSystem & coordSystem() const
Currently active CoordSystem.
Definition: Document.cpp:300
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.
Model for DlgSettingsExportFormat and CmdSettingsExportFormat.
void setModelGeneral(const DocumentModelGeneral &modelGeneral)
Set method for DocumentModelGeneral.
Definition: Document.cpp:1014
Model for DlgSettingsCurveProperties and CmdSettingsCurveProperties.
Definition: CurveStyles.h:22
const bool NO_GNUPLOT_LOG_FILES
Definition: TestExport.cpp:29
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...
Definition: Document.cpp:208
void setCoordScaleYRadius(CoordScale coordScale)
Set method for linear/log scale on y/radius.
QHash< QString, double > CurveLimits
Definition: CurveLimits.h:14
const bool NO_REGRESSION_IMPORT
Definition: TestExport.cpp:30
void setModelCoords(const DocumentModelCoords &modelCoords)
Set method for DocumentModelCoords.
Definition: Document.cpp:976
const QStringList ONE_LOAD_STARTUP_FILE_UPPER_CASE(STARTUP_DIG_UPPER_CASE)
const QString STARTUP_DIG_UPPER_CASE("/tmp/export_only.DIG")
void setDelimiter(ExportDelimiter exportDelimiter)
Set method for delimiter.
void setLocale(QLocale::Language language, QLocale::Country country)
Set method for locale given attributes.
Unit test of Export classes.
Definition: TestExport.h:16
TestExport(QObject *parent=0)
Single constructor.
Definition: TestExport.cpp:44
const QString NO_EXTRACT_IMAGE_EXTENSION
Definition: TestExport.cpp:34
void setModelExport(const DocumentModelExportFormat &modelExport)
Set method for DocumentModelExportFormat.
Definition: Document.cpp:1007
void initializeLogging(const QString &name, const QString &filename, bool isDebug)
Definition: Logger.cpp:21
const QStringList NO_LOAD_STARTUP_FILES
Definition: TestExport.cpp:36
Details for a specific Point.
Definition: PointStyle.h:20
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.
Definition: Document.cpp:983
const QStringList ONE_LOAD_STARTUP_FILE_LOWER_CASE(STARTUP_DIG_LOWER_CASE)
const QString NO_REGRESSION_OPEN_FILE
Definition: TestExport.cpp:28
CoordScale coordScaleXTheta() const
Get method for linear/log scale on x/theta.
const bool NO_EXPORT_ONLY
Definition: TestExport.cpp:32
const bool IS_RESET
Definition: TestExport.cpp:31
Container for LineStyle and PointStyle for one Curve.
Definition: CurveStyle.h:18
Storage of one imported image and the data attached to that image.
Definition: Document.h:41
Details for a specific Line.
Definition: LineStyle.h:19
const QStringList NO_COMMAND_LINE
Definition: TestExport.cpp:37
const bool NO_DROP_REGRESSION
Definition: TestExport.cpp:24
const bool NOT_USING_GNUPLOT
Definition: TestExport.cpp:25
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
Definition: TestExport.cpp:27
void setExtraPrecision(int extraPrecision)
Set method for extra digits of precision.
const bool DEBUG_FLAG
Definition: TestExport.cpp:35
const bool EXPORT_ONLY
Definition: TestExport.cpp:26
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition: MainWindow.h:91
void setCoordScaleXTheta(CoordScale coordScale)
Set method for linear/log scale on x/theta.
const bool NO_EXTRACT_IMAGE_ONLY
Definition: TestExport.cpp:33
const bool REGRESSION_IMPORT
Definition: TestExport.cpp:42
ColorPalette
Definition: ColorPalette.h:12
void setCoordsType(CoordsType coordsType)
Set method for coordinates type.