X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDRO_tests%2FTestViewer.h;h=fd470bbd78976b2b1fa3bf90e5bae2bc8e8979e9;hb=15aed67b5f26dad1f17035be35bcd570e947158c;hp=6817a7f64691102c78ccc2c9ecb2b00b80e00ac1;hpb=28012b449f8c4c88f107c2ea3ba1e36c2bfddbd1;p=modules%2Fhydro.git diff --git a/src/HYDRO_tests/TestViewer.h b/src/HYDRO_tests/TestViewer.h index 6817a7f6..fd470bbd 100644 --- a/src/HYDRO_tests/TestViewer.h +++ b/src/HYDRO_tests/TestViewer.h @@ -24,6 +24,8 @@ class OCCViewer_ViewWindow; class TopoDS_Shape; class QString; class QColor; +class QImage; +class Handle_AIS_InteractiveContext; class Handle_AIS_InteractiveObject; class Handle_Aspect_ColorScale; @@ -33,22 +35,29 @@ public: static OCCViewer_ViewManager* viewManager(); static OCCViewer_Viewer* viewer(); static OCCViewer_ViewWindow* viewWindow(); + static Handle_AIS_InteractiveContext context(); + static void eraseAll( bool isUpdate ); static void show( const Handle_AIS_InteractiveObject& theObject, int theMode, int theSelectionMode, bool isFitAll, const char* theKey ); - static void show( const TopoDS_Shape& theShape, int theMode, bool isFitAll, const QColor& theColor ); - static void show( const TopoDS_Shape& theShape, int theMode, bool isFitAll, const char* theKey ); - static bool AssertImages( QString& theMessage ); + static void show( const TopoDS_Shape& theShape, int theMode, bool isFitAll, const QColor& theColor, + int theUIANb = 10, int theVIANb = 10); + static void show( const TopoDS_Shape& theShape, int theMode, bool isFitAll, const char* theKey, + int theUIANb = 10, int theVIANb = 10); + static bool AssertImages( QString& theMessage, const QImage* = 0, const char* theCase = 0 ); static QColor GetColor(int i); - static Handle_Aspect_ColorScale showColorScale( bool ); + static Handle_Aspect_ColorScale colorScale(); + static void showColorScale( bool ); + static bool ColorScaleIsDisplayed(); static void select( int theViewX, int theViewY ); static bool areScriptsEqual( const QString& theBaseName, bool isExpectedUtf8, bool isActualUtf8, - int theLinesToOmit ); + int theLinesToOmit, + QString& theMsg ); private: static OCCViewer_ViewManager* myViewManager; @@ -61,6 +70,18 @@ private: QString aMessage; \ if( !TestViewer::AssertImages( aMessage ) ) \ { \ + TestViewer::showColorScale( false ); \ + std::string aMessageStl = aMessage.toStdString(); \ + CPPUNIT_FAIL( aMessageStl.c_str() ); \ + } \ + } \ + +#define CPPUNIT_ASSERT_IMAGES2( theImage, theCase ) \ + { \ + QString aMessage; \ + if( !TestViewer::AssertImages( aMessage, theImage, theCase ) ) \ + { \ + TestViewer::showColorScale( false ); \ std::string aMessageStl = aMessage.toStdString(); \ CPPUNIT_FAIL( aMessageStl.c_str() ); \ } \ @@ -70,10 +91,16 @@ private: isExpectedUtf8, \ isActualUtf8, \ theLinesToOmit ) \ - if( !TestViewer::areScriptsEqual( theBaseName, \ - isExpectedUtf8, \ - isActualUtf8, \ - theLinesToOmit ) ) \ - CPPUNIT_FAIL( "Scripts are not equal" ); \ - + { \ + QString aMsg; \ + if( !TestViewer::areScriptsEqual( \ + theBaseName, isExpectedUtf8, \ + isActualUtf8, theLinesToOmit, aMsg ) ) \ + { \ + std::string aStlMsg = "Scripts are not equal: " + \ + aMsg.toStdString(); \ + CPPUNIT_FAIL( aStlMsg ); \ + } \ + } \ + \