QGIS API Documentation
2.0.1-Dufour
|
This is a helper class for unit tests that need to write an image and compare it to an expected result or render time. More...
#include <qgsrenderchecker.h>
Public Member Functions | |
QgsRenderChecker () | |
~QgsRenderChecker () | |
Destructor. | |
QString | controlImagePath () const |
QString | report () |
float | matchPercent () |
unsigned int | mismatchCount () |
unsigned int | matchTarget () |
int | elapsedTime () |
void | setElapsedTimeTarget (int theTarget) |
void | setControlName (const QString theName) |
Base directory name for the control image (with control image path suffixed) the path to the image will be constructed like this: controlImagePath + '/' + mControlName + '/' + mControlName + '.png'. | |
void | setControlPathPrefix (const QString theName) |
Prefix where the control images are kept. | |
QString | imageToHash (QString theImageFile) |
Get an md5 hash that uniquely identifies an image. | |
void | setRenderedImage (QString theImageFileName) |
void | setMapRenderer (QgsMapRenderer *thepMapRenderer) |
bool | runTest (QString theTestName, unsigned int theMismatchCount=0) |
Test using renderer to generate the image to be compared. | |
bool | compareImages (QString theTestName, unsigned int theMismatchCount=0, QString theRenderedImageFile="") |
Test using two arbitary images (map renderer will not be used) | |
bool | isKnownAnomaly (QString theDiffImageFile) |
Get a list of all the anomalies. |
Private Attributes | |
QString | mReport |
QString | mExpectedImageFile |
QString | mControlName |
QString | mRenderedImageFile |
unsigned int | mMismatchCount |
unsigned int | mMatchTarget |
int | mElapsedTime |
int | mElapsedTimeTarget |
QgsMapRenderer * | mpMapRenderer |
QString | mControlPathPrefix |
This is a helper class for unit tests that need to write an image and compare it to an expected result or render time.
Definition at line 35 of file qgsrenderchecker.h.
QgsRenderChecker::QgsRenderChecker | ( | ) |
Definition at line 28 of file qgsrenderchecker.cpp.
|
inline |
Destructor.
Definition at line 42 of file qgsrenderchecker.h.
bool QgsRenderChecker::compareImages | ( | QString | theTestName, |
unsigned int | theMismatchCount = 0 , |
||
QString | theRenderedImageFile = "" |
||
) |
Test using two arbitary images (map renderer will not be used)
theTestName | - to be used as the basis for writing a file to e.g. /tmp/theTestName.png |
theMismatchCount | - defaults to 0 - the number of pixels that are allowed to be different from the control image. In some cases rendering may be non-deterministic. This parameter allows you to account for that by providing a tolerance. |
theRenderedImageFile | to optionally override the output filename |
Definition at line 185 of file qgsrenderchecker.cpp.
References isKnownAnomaly(), mElapsedTime, mElapsedTimeTarget, mExpectedImageFile, mMatchTarget, mMismatchCount, mRenderedImageFile, and mReport.
Referenced by runTest().
QString QgsRenderChecker::controlImagePath | ( | ) | const |
Definition at line 42 of file qgsrenderchecker.cpp.
References mControlPathPrefix.
Referenced by isKnownAnomaly(), and setControlName().
|
inline |
Definition at line 55 of file qgsrenderchecker.h.
QString QgsRenderChecker::imageToHash | ( | QString | theImageFile | ) |
Get an md5 hash that uniquely identifies an image.
Definition at line 57 of file qgsrenderchecker.cpp.
Referenced by isKnownAnomaly().
bool QgsRenderChecker::isKnownAnomaly | ( | QString | theDiffImageFile | ) |
Get a list of all the anomalies.
An anomaly is a rendered difference file where there is some red pixel content (indicating a render check mismatch), but where the output was still acceptible. If the render diff matches one of these anomalies we will still consider it to be acceptible.
Definition at line 70 of file qgsrenderchecker.cpp.
References controlImagePath(), imageToHash(), mControlName, mExpectedImageFile, and mReport.
Referenced by compareImages().
|
inline |
Definition at line 47 of file qgsrenderchecker.h.
|
inline |
Definition at line 53 of file qgsrenderchecker.h.
|
inline |
Definition at line 52 of file qgsrenderchecker.h.
|
inline |
Definition at line 46 of file qgsrenderchecker.h.
bool QgsRenderChecker::runTest | ( | QString | theTestName, |
unsigned int | theMismatchCount = 0 |
||
) |
Test using renderer to generate the image to be compared.
theTestName | - to be used as the basis for writing a file to e.g. /tmp/theTestName.png |
theMismatchCount | - defaults to 0 - the number of pixels that are allowed to be different from the control image. In some cases rendering may be non-deterministic. This parameter allows you to account for that by providing a tolerance. |
Definition at line 121 of file qgsrenderchecker.cpp.
References compareImages(), QgsMapRenderer::extent(), QgsMapRenderer::mapUnitsPerPixel(), mElapsedTime, mExpectedImageFile, mMatchTarget, mpMapRenderer, mRenderedImageFile, mReport, qgsDoubleToString(), QgsMapRenderer::render(), QgsMapRenderer::setOutputSize(), QgsRectangle::xMinimum(), and QgsRectangle::yMaximum().
void QgsRenderChecker::setControlName | ( | const QString | theName | ) |
Base directory name for the control image (with control image path suffixed) the path to the image will be constructed like this: controlImagePath + '/' + mControlName + '/' + mControlName + '.png'.
Definition at line 50 of file qgsrenderchecker.cpp.
References controlImagePath(), mControlName, and mExpectedImageFile.
|
inline |
Prefix where the control images are kept.
This will be appended to controlImagePath
Definition at line 65 of file qgsrenderchecker.h.
|
inline |
Definition at line 56 of file qgsrenderchecker.h.
|
inline |
Definition at line 70 of file qgsrenderchecker.h.
|
inline |
Definition at line 69 of file qgsrenderchecker.h.
|
private |
Definition at line 108 of file qgsrenderchecker.h.
Referenced by isKnownAnomaly(), and setControlName().
|
private |
Definition at line 115 of file qgsrenderchecker.h.
Referenced by controlImagePath().
|
private |
Definition at line 112 of file qgsrenderchecker.h.
Referenced by compareImages(), and runTest().
|
private |
Definition at line 113 of file qgsrenderchecker.h.
Referenced by compareImages().
|
private |
Definition at line 107 of file qgsrenderchecker.h.
Referenced by compareImages(), isKnownAnomaly(), runTest(), and setControlName().
|
private |
Definition at line 111 of file qgsrenderchecker.h.
Referenced by compareImages(), and runTest().
|
private |
Definition at line 110 of file qgsrenderchecker.h.
Referenced by compareImages().
|
private |
Definition at line 114 of file qgsrenderchecker.h.
Referenced by runTest().
|
private |
Definition at line 109 of file qgsrenderchecker.h.
Referenced by compareImages(), and runTest().
|
private |
Definition at line 106 of file qgsrenderchecker.h.
Referenced by compareImages(), isKnownAnomaly(), and runTest().