Skip to content
Permalink
Browse files
-Updated Contrast Enhancement test
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@9238 c8812cc2-4d05-0410-92ff-de0c093fc19c
  • Loading branch information
ersts committed Sep 1, 2008
1 parent 89d03eb commit 0c64e3264c06cfe95cd2f48eddd93424d34831b6
Showing with 30 additions and 6 deletions.
  1. +30 −6 tests/src/core/testcontrastenhancements.cpp
@@ -23,6 +23,7 @@
#include <qgscliptominmaxenhancement.h>
#include <qgscontrastenhancement.h>
#include <qgslinearminmaxenhancement.h>
#include <qgslinearminmaxenhancementwithclip.h>

/** \ingroup UnitTests
* This is a unit test for the ContrastEnhancements contrast enhancement classes.
@@ -36,7 +37,8 @@ class TestContrastEnhancements: public QObject
void init() {};// will be called before each testfunction is executed.
void cleanup() {};// will be called after every testfunction.

void minMaxEnhancementTest();
void clipMinMaxEnhancementTest();
void linearMinMaxEnhancementWithClipTest();
void linearMinMaxEnhancementTest();
private:
QString mReport;
@@ -63,20 +65,42 @@ void TestContrastEnhancements::cleanupTestCase()
}


void TestContrastEnhancements::minMaxEnhancementTest()
void TestContrastEnhancements::clipMinMaxEnhancementTest()
{
//Clips 0 < x < 10, 240 < X < 256
//Stretch no stretch is applied
QgsClipToMinMaxEnhancement myEnhancement(QgsContrastEnhancement::QGS_Byte, 10.0, 240.0);
// Original pixel value 0.0 Should be out of range thus clipped
QVERIFY(!myEnhancement.isValueInDisplayableRange(0.0));
QVERIFY(10.0 == myEnhancement.enhanceValue(0.0)) ;
QVERIFY(250.0 == myEnhancement.enhanceValue(240.0)) ;
//Original pixel value of 10.0 should be scaled to 10.0
QVERIFY(10.0 == myEnhancement.enhanceValue(10.0)) ;
//Original pixel value of 240 should be scaled to 240
QVERIFY(240.0 == myEnhancement.enhanceValue(240.0)) ;
}

void TestContrastEnhancements::linearMinMaxEnhancementWithClipTest()
{
//First clips 0 < x < 10, 240 < X < 256
//Then stretch 10 = 0, 240 = 255 linearly distribute values 10 -> 240 between 0 -> 255
QgsLinearMinMaxEnhancementWithClip myEnhancement(QgsContrastEnhancement::QGS_Byte, 10.0, 240.0);
// Original pixel value 0.0 Should be out of range thus clipped
QVERIFY(!myEnhancement.isValueInDisplayableRange(0.0));
//Original pixel value of 10.0 should be scaled to 0.0
QVERIFY(0.0 == myEnhancement.enhanceValue(10.0)) ;
//Original pixel value of 240 should be scaled to 255
QVERIFY(255.0 == myEnhancement.enhanceValue(240.0)) ;
}

void TestContrastEnhancements::linearMinMaxEnhancementTest()
{
//Stretch 10 = 0, 240 = 255 linearly distribute values 10 -> 240 between 0 -> 255
QgsLinearMinMaxEnhancement myEnhancement(QgsContrastEnhancement::QGS_Byte, 10.0, 240.0);
//0 should be scaled to 10 and not clipped
QVERIFY(myEnhancement.isValueInDisplayableRange(0.0));
QVERIFY(10.0 == myEnhancement.enhanceValue(0.0)) ;
QVERIFY(250.0 == myEnhancement.enhanceValue(240.0)) ;
//Original pixel value of 10.0 should be scaled to 0.0
QVERIFY(0.0 == myEnhancement.enhanceValue(10.0)) ;
//Original pixel value of 240 should be scaled to 255
QVERIFY(255.0 == myEnhancement.enhanceValue(240.0)) ;
}
QTEST_MAIN( TestContrastEnhancements )
#include "moc_testcontrastenhancements.cxx"

0 comments on commit 0c64e32

Please sign in to comment.