X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDRO_tests%2FTestViewer.h;h=af8400f01c16f9b6b8985762fa20d5269e9a58a0;hb=1ad3406d04aa81800693d6811c7c36e87e0c95c1;hp=c7be51fb9439f8fbf7d05c6342194005763bd1b6;hpb=ddf528f437c4f5493ec604d79025fa2d8add1e74;p=modules%2Fhydro.git diff --git a/src/HYDRO_tests/TestViewer.h b/src/HYDRO_tests/TestViewer.h index c7be51fb..af8400f0 100644 --- a/src/HYDRO_tests/TestViewer.h +++ b/src/HYDRO_tests/TestViewer.h @@ -18,38 +18,54 @@ #pragma once +#include + class OCCViewer_ViewManager; class OCCViewer_Viewer; -class OCCViewer_ViewWindow; +class OCCViewer_ViewFrame; class TopoDS_Shape; class QString; class QColor; -class Handle_AIS_InteractiveObject; -class Handle_Aspect_ColorScale; +class QImage; +class AIS_InteractiveObject; +class AIS_ColorScale; class TestViewer { public: static OCCViewer_ViewManager* viewManager(); static OCCViewer_Viewer* viewer(); - static OCCViewer_ViewWindow* viewWindow(); + static OCCViewer_ViewFrame* viewWindow(); + static Handle(AIS_InteractiveContext) context(); - static void show( const Handle_AIS_InteractiveObject& theObject, + static void eraseAll( bool isUpdate, bool eraseStructures = false ); + 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, bool swapRGB = true ); static QColor GetColor(int i); - static Handle_Aspect_ColorScale showColorScale( bool ); + static Handle(AIS_ColorScale) colorScale(); + static void showColorScale( bool ); + static bool ColorScaleIsDisplayed(); static void select( int theViewX, int theViewY ); - static bool areScriptsEqual( const QString& theBaseName ); + static bool areScriptsEqual( const QString& theBaseName, + bool isExpectedUtf8, + bool isActualUtf8, + int theLinesToOmit, + QString& theMsg ); + + static void setKey( const QString& ); + static void fitAll(); private: static OCCViewer_ViewManager* myViewManager; - static OCCViewer_ViewWindow* myViewWindow; + static OCCViewer_ViewFrame* myViewWindow; static QString myKey; }; @@ -58,13 +74,48 @@ 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() ); \ } \ } \ -#define CPPUNIT_ASSERT_SCRIPTS_EQUAL( theBaseName ) \ - if( !TestViewer::areScriptsEqual( theBaseName ) ) \ - CPPUNIT_FAIL( "Scripts are not equal" ); \ +#define CPPUNIT_ASSERT_IMAGES3( theImage, theCase, theSwapRGB ) \ + { \ + QString aMessage; \ + if( !TestViewer::AssertImages( aMessage, theImage, theCase, theSwapRGB ) ) \ + { \ + TestViewer::showColorScale( false ); \ + std::string aMessageStl = aMessage.toStdString(); \ + CPPUNIT_FAIL( aMessageStl.c_str() ); \ + } \ + } +#define CPPUNIT_ASSERT_SCRIPTS_EQUAL( theBaseName, \ + isExpectedUtf8, \ + isActualUtf8, \ + theLinesToOmit ) \ + { \ + QString aMsg; \ + if( !TestViewer::areScriptsEqual( \ + theBaseName, isExpectedUtf8, \ + isActualUtf8, theLinesToOmit, aMsg ) ) \ + { \ + std::string aStlMsg = "Scripts are not equal: " + \ + aMsg.toStdString(); \ + CPPUNIT_FAIL( aStlMsg ); \ + } \ + } \ + \