Engauge Digitizer  2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TestGraphCoords.cpp
Go to the documentation of this file.
3 #include "Logger.h"
4 #include "MainWindow.h"
5 #include <QtTest/QtTest>
6 #include "Test/TestGraphCoords.h"
7 
8 QTEST_MAIN (TestGraphCoords)
9 
10 const double EPSILON = 0.0;
11 
12 TestGraphCoords::TestGraphCoords(QObject *parent) :
13  QObject(parent)
14 {
15  m_callback = new CallbackUpdateTransform (m_modelCoords,
17 }
18 
19 void TestGraphCoords::cleanupTestCase ()
20 {
21 }
22 
23 void TestGraphCoords::initTestCase ()
24 {
25  const bool NO_DROP_REGRESSION = false;
26  const QString NO_ERROR_REPORT_LOG_FILE;
27  const QString NO_REGRESSION_OPEN_FILE;
28  const bool NO_GNUPLOT_LOG_FILES = false;
29  const bool NO_REGRESSION_IMPORT = false;
30  const bool NO_RESET = false;
31  const bool NO_EXPORT_ONLY = false;
32  const bool NO_EXTRACT_IMAGE_ONLY = false;
33  const QString NO_EXTRACT_IMAGE_EXTENSION;
34  const bool DEBUG_FLAG = false;
35  const QStringList NO_LOAD_STARTUP_FILES;
36  const QStringList NO_COMMAND_LINE;
37 
38  initializeLogging ("engauge_test",
39  "engauge_test.log",
40  DEBUG_FLAG);
41 
42  MainWindow w (NO_ERROR_REPORT_LOG_FILE,
43  NO_REGRESSION_OPEN_FILE,
44  NO_DROP_REGRESSION,
45  NO_REGRESSION_IMPORT,
46  NO_GNUPLOT_LOG_FILES,
47  NO_RESET,
48  NO_EXPORT_ONLY,
49  NO_EXTRACT_IMAGE_ONLY,
50  NO_EXTRACT_IMAGE_EXTENSION,
51  NO_LOAD_STARTUP_FILES,
52  NO_COMMAND_LINE);
53  w.show ();
54 }
55 
56 void TestGraphCoords::testAnyColumnsRepeatNo ()
57 {
58  CoordPairVector vector;
59 
60  vector.push_back (QPointF (100, 100));
61  vector.push_back (QPointF (300, 100));
62  vector.push_back (QPointF (200, 200));
63 
64  QVERIFY (!m_callback->anyPointsRepeatPair (vector,
65  EPSILON));
66 }
67 
68 void TestGraphCoords::testAnyColumnsRepeatYes ()
69 {
70  CoordPairVector vector;
71 
72  // First two points repeat
73  vector.push_back (QPointF (100, 100));
74  vector.push_back (QPointF (100, 100));
75  vector.push_back (QPointF (200, 200));
76 
77  QVERIFY (m_callback->anyPointsRepeatPair (vector,
78  EPSILON));
79 }
80 
81 void TestGraphCoords::testThreeCollinearPointsNo ()
82 {
83  // Points are not collinear
84  QTransform m (100, 300, 200,
85  100, 150, 200,
86  1 , 1 , 1 );
87 
88  QVERIFY (!m_callback->threePointsAreCollinear (m,
89  CallbackAxisPointsAbstract::LinearOrLog::COORD_IS_LINEAR,
90  CallbackAxisPointsAbstract::LinearOrLog::COORD_IS_LINEAR));
91 }
92 
93 void TestGraphCoords::testThreeCollinearPointsYes ()
94 {
95  // Points are collinear
96  QTransform m (100, 150, 200,
97  100, 150, 200,
98  1 , 1 , 1 );
99 
100  QVERIFY (m_callback->threePointsAreCollinear (m,
101  CallbackAxisPointsAbstract::LinearOrLog::COORD_IS_LINEAR,
102  CallbackAxisPointsAbstract::LinearOrLog::COORD_IS_LINEAR));
103 }
Callback for collecting axis points and then calculating the current transform from those axis points...
Unit tests of graph coordinate sanity checking.
const bool NO_GNUPLOT_LOG_FILES
Definition: TestExport.cpp:29
const bool NO_REGRESSION_IMPORT
Definition: TestExport.cpp:30
QList< QPointF > CoordPairVector
const QString NO_EXTRACT_IMAGE_EXTENSION
Definition: TestExport.cpp:34
void initializeLogging(const QString &name, const QString &filename, bool isDebug)
Definition: Logger.cpp:21
const QStringList NO_LOAD_STARTUP_FILES
Definition: TestExport.cpp:36
const QString NO_REGRESSION_OPEN_FILE
Definition: TestExport.cpp:28
const bool NO_EXPORT_ONLY
Definition: TestExport.cpp:32
const QStringList NO_COMMAND_LINE
Definition: TestExport.cpp:37
const bool NO_DROP_REGRESSION
Definition: TestExport.cpp:24
const double EPSILON
const QString NO_ERROR_REPORT_LOG_FILE
Definition: TestExport.cpp:27
const bool DEBUG_FLAG
Definition: TestExport.cpp:35
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition: MainWindow.h:91
const bool NO_EXTRACT_IMAGE_ONLY
Definition: TestExport.cpp:33