8#include <QtTest/QtTest>
21void TestGridLineLimiter::cleanupTestCase ()
25void TestGridLineLimiter::initTestCase ()
32 const bool NO_RESET =
false;
58void TestGridLineLimiter::testBadStepLinearX ()
60 bool success = testLinearX (0,
70void TestGridLineLimiter::testBadStepLinearY ()
72 bool success = testLinearY (0,
82void TestGridLineLimiter::testBadStepLogX ()
84 bool success = testLogX (0,
94void TestGridLineLimiter::testBadStepLogY ()
96 bool success = testLogY (0,
106bool TestGridLineLimiter::testLinearX (
double start,
109 double x1,
double y1,
110 double x2,
double y2,
111 double x3,
double y3)
113 GridLineLimiter limiter;
115 Document document (image);
116 DocumentModelCoords modelCoords;
117 MainWindowModel modelMainWindow;
118 DocumentModelGridDisplay modelGrid;
119 Transformation transformation;
120 double startX, stepX, stopX;
127 document.addPointAxisWithSpecifiedIdentifier (QPointF (0 , 0), QPointF (x1, y1), QString (
"axis1"), 0.0,
false);
128 document.addPointAxisWithSpecifiedIdentifier (QPointF (100, 0), QPointF (x2, y2), QString (
"axis2"), 0.0,
false);
129 document.addPointAxisWithSpecifiedIdentifier (QPointF (0 , 100), QPointF (x3, y3), QString (
"axis3"), 0.0,
false);
144 int gridLineCount = 1 + (stopX - startX) / stepX;
145 success = (gridLineCount <= 20);
149 success = (startX == stopX);
156bool TestGridLineLimiter::testLinearY (
double start,
159 double x1,
double y1,
160 double x2,
double y2,
161 double x3,
double y3)
163 GridLineLimiter limiter;
165 Document document (image);
166 DocumentModelCoords modelCoords;
167 MainWindowModel modelMainWindow;
168 DocumentModelGridDisplay modelGrid;
169 Transformation transformation;
170 double startY, stepY, stopY;
177 document.addPointAxisWithSpecifiedIdentifier (QPointF (0 , 0), QPointF (x1, y1), QString (
"axis1"), 0.0,
false);
178 document.addPointAxisWithSpecifiedIdentifier (QPointF (100, 0), QPointF (x2, y2), QString (
"axis2"), 0.0,
false);
179 document.addPointAxisWithSpecifiedIdentifier (QPointF (0 , 100), QPointF (x3, y3), QString (
"axis3"), 0.0,
false);
194 int gridLineCount = 1 + (stopY - startY) / stepY;
195 success = (gridLineCount <= 20);
199 success = (startY == stopY);
206bool TestGridLineLimiter::testLogX (
double start,
209 double x1,
double y1,
210 double x2,
double y2,
211 double x3,
double y3)
213 GridLineLimiter limiter;
215 Document document (image);
216 DocumentModelCoords modelCoords;
217 MainWindowModel modelMainWindow;
218 DocumentModelGridDisplay modelGrid;
219 Transformation transformation;
220 double startX, stepX, stopX;
227 document.addPointAxisWithSpecifiedIdentifier (QPointF (0 , 0), QPointF (x1, y1), QString (
"axis1"), 0.0,
false);
228 document.addPointAxisWithSpecifiedIdentifier (QPointF (100, 0), QPointF (x2, y2), QString (
"axis2"), 0.0,
false);
229 document.addPointAxisWithSpecifiedIdentifier (QPointF (0 , 100), QPointF (x3, y3), QString (
"axis3"), 0.0,
false);
240 bool success = (startX > 0) && (stepX > 0);
244 int gridLineCount = 1 + (qLn (stopX) - qLn (startX)) / qLn (stepX);
245 success = (gridLineCount <= 20);
252bool TestGridLineLimiter::testLogY (
double start,
255 double x1,
double y1,
256 double x2,
double y2,
257 double x3,
double y3)
259 GridLineLimiter limiter;
261 Document document (image);
262 DocumentModelCoords modelCoords;
263 MainWindowModel modelMainWindow;
264 DocumentModelGridDisplay modelGrid;
265 Transformation transformation;
266 double startY, stepY, stopY;
273 document.addPointAxisWithSpecifiedIdentifier (QPointF (0 , 0), QPointF (x1, y1), QString (
"axis1"), 0.0,
false);
274 document.addPointAxisWithSpecifiedIdentifier (QPointF (100, 0), QPointF (x2, y2), QString (
"axis2"), 0.0,
false);
275 document.addPointAxisWithSpecifiedIdentifier (QPointF (0 , 100), QPointF (x3, y3), QString (
"axis3"), 0.0,
false);
286 bool success = (startY > 0) && (stepY > 0);
290 int gridLineCount = 1 + (qLn (stopY) - qLn (startY)) / qLn (stepY);
291 success = (gridLineCount <= 20);
298void TestGridLineLimiter::testTransitionLinearToLogX ()
300 bool success = testLogX (0,
310void TestGridLineLimiter::testTransitionLinearToLogY ()
312 bool success = testLogY (0,
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 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 bool NO_EXTRACT_IMAGE_ONLY
const bool NO_DROP_REGRESSION
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 setStepX(double stepX)
Set method for x grid line increment.
void setStepY(double yStep)
Set method for y grid line increment.
void setStopX(double stopX)
Set method for x grid line upper bound (inclusive).
void setStopY(double yStop)
Set method for y grid line upper bound (inclusive).
void setStartX(double startX)
Set method for x grid line lower bound (inclusive).
void setStartY(double yStart)
Set method for y grid line lower bound (inclusive).
void limitForYRadius(const Document &document, const Transformation &transformation, const DocumentModelCoords &modelCoords, const MainWindowModel &modelMainWindow, const DocumentModelGridDisplay &modelGrid, double &startY, double &stepY, double &stopY) const
Limit step value for y/range coordinate. This is a noop if the maximum grid line limit in MainWindowM...
void limitForXTheta(const Document &document, const Transformation &transformation, const DocumentModelCoords &modelCoords, const MainWindowModel &modelMainWindow, const DocumentModelGridDisplay &modelGrid, double &startX, double &stepX, double &stopX) const
Limit step value for x/theta coordinate. This is a noop if the maximum grid line limit in MainWindowM...
void setMaximumGridLines(int maximumGridLines)
Set method for maximum number of grid lines.
Unit test of GridLineLimiter class.
TestGridLineLimiter(QObject *parent=0)
Single constructor.