Salome HOME
Correction for hydro_test
[modules/hydro.git] / src / HYDRO_tests / test_HYDROData_Image.cxx
index ddeeeb87193851436a5a3e33b695b811eb95fd73..bcea756c4fa66a36590dd8fbc5ab8ddd16897d25 100644 (file)
 
 #include <HYDROData_Document.h>
 #include <HYDROData_Image.h>
+#include <TestViewer.h>
 #include <QPainter>
+#include <QImage>
+
+extern QString REF_DATA_PATH;
 
 static QImage TestImage() {
   QImage aPic(50, 40, QImage::Format_RGB32);
@@ -35,7 +39,7 @@ static QImage TestImage() {
 
 void test_HYDROData_Image::testQImage()
 {
-  Handle(HYDROData_Document) aDoc = HYDROData_Document::Document(1);
+  Handle(HYDROData_Document) aDoc = HYDROData_Document::Document();
 
   Handle(HYDROData_Image) anImage = 
     Handle(HYDROData_Image)::DownCast(aDoc->CreateObject(KIND_IMAGE));
@@ -57,7 +61,7 @@ void test_HYDROData_Image::testQImage()
 
 void test_HYDROData_Image::testTrsf()
 {
-  Handle(HYDROData_Document) aDoc = HYDROData_Document::Document(1);
+  Handle(HYDROData_Document) aDoc = HYDROData_Document::Document();
 
   Handle(HYDROData_Image) anImage = 
     Handle(HYDROData_Image)::DownCast(aDoc->CreateObject(KIND_IMAGE));
@@ -82,7 +86,7 @@ void test_HYDROData_Image::testTrsf()
 
 void test_HYDROData_Image::testReferences()
 {
-  Handle(HYDROData_Document) aDoc = HYDROData_Document::Document(1);
+  Handle(HYDROData_Document) aDoc = HYDROData_Document::Document();
 
   Handle(HYDROData_Image) anImage1 = 
     Handle(HYDROData_Image)::DownCast(aDoc->CreateObject(KIND_IMAGE));
@@ -133,7 +137,7 @@ void test_HYDROData_Image::testReferences()
 
 void test_HYDROData_Image::testCopy()
 {
-  Handle(HYDROData_Document) aDoc = HYDROData_Document::Document(1);
+  Handle(HYDROData_Document) aDoc = HYDROData_Document::Document();
 
   Handle(HYDROData_Image) anImage1 = 
     Handle(HYDROData_Image)::DownCast(aDoc->CreateObject(KIND_IMAGE));
@@ -164,3 +168,48 @@ void test_HYDROData_Image::testCopy()
 
   aDoc->Close();
 }
+
+void test_HYDROData_Image::test_static_loadECW()
+{
+  QImage ecwImage;
+  HYDROData_Image::ECW_FileInfo* ECWInfo = new HYDROData_Image::ECW_FileInfo;
+  QString refECWPath = REF_DATA_PATH + "/01-2009-0865-6525-LA93.ecw";    
+  QString refPNGPath = REF_DATA_PATH + "/01-2009-0865-6525-LA93.png";
+  //
+  CPPUNIT_ASSERT ( HYDROData_Image::OpenECW(refECWPath.toLatin1().data(), ecwImage, ECWInfo) );
+  CPPUNIT_ASSERT_EQUAL (10000, ECWInfo->myXSize);
+  CPPUNIT_ASSERT_EQUAL (10000, ECWInfo->myYSize);
+  CPPUNIT_ASSERT_DOUBLES_EQUAL (0.5, ECWInfo->myCellIncrementX, 0.0001);
+  CPPUNIT_ASSERT_DOUBLES_EQUAL (-0.5, ECWInfo->myCellIncrementY, 0.0001);  
+  CPPUNIT_ASSERT_DOUBLES_EQUAL (865000, ECWInfo->myOriginX, 0.0001);
+  CPPUNIT_ASSERT_DOUBLES_EQUAL (6525000, ECWInfo->myOriginY, 0.0001);  
+  //QImage pngImage(refPNGPath);
+  //CPPUNIT_ASSERT( ecwImage == pngImage);
+}
+
+void test_HYDROData_Image::test_loadECW()
+{
+  QImage ecwImage;
+  QString refECWPath = REF_DATA_PATH + "/01-2009-0865-6525-LA93.ecw";    
+  QString refPNGPath = REF_DATA_PATH + "/01-2009-0865-6525-LA93.png";
+  //
+  Handle(HYDROData_Document) aDoc = HYDROData_Document::Document();
+  Handle(HYDROData_Image) ecwHImage = Handle(HYDROData_Image)::DownCast(aDoc->CreateObject(KIND_IMAGE));
+  //
+  CPPUNIT_ASSERT (ecwHImage->LoadImageECW(refECWPath));
+  //QImage pngImage(refPNGPath);
+  //CPPUNIT_ASSERT( ecwHImage->Image() == pngImage);
+
+  aDoc->Close();
+}
+
+
+void test_HYDROData_Image::testDiff()
+{
+  QImage im1, im2;
+  im1.load( REF_DATA_PATH + "/LandCover_Triangles.png" );
+  im2.load( REF_DATA_PATH + "/LandCover_Triangles_Split.png" );
+
+  QImage im3 = TestViewer::diff( im1, im2 );
+  CPPUNIT_ASSERT_IMAGES3( &im3, "diff_image", false );
+}