Salome HOME
minor code review
[modules/hydro.git] / src / HYDRO_tests / test_Overview.cxx
index d52f7b76cbe01e504303baf56ef425c45eece252..6da12ce1be13b4a391e0abea94d7fec13f3af5d1 100644 (file)
@@ -37,7 +37,7 @@ HYDROGUI_Overview* test_Overview::myOverview = 0;
   {                                                                      \
     QString aMessage;                                                    \
     QImage aDump = dumpViews();                                          \
-    if( !TestViewer::AssertImages( aMessage, &aDump, theCase ) )         \
+    if( !TestViewer::AssertImages( aMessage, &aDump, theCase, false ) )  \
     {                                                                    \
       TestViewer::showColorScale( false );                               \
       std::string aMessageStl = aMessage.toStdString();                  \
@@ -57,7 +57,7 @@ QImage test_Overview::dumpViews()
   QImage aMain = TestViewer::viewWindow()->getView(OCCViewer_ViewFrame::MAIN_VIEW)->dumpView();
   QImage anOverview = myOverview->dump();
 
-  aMain = aMain.rgbSwapped();            //PATCH for image came from OCCT dump
+  aMain = aMain.rgbSwapped();              //PATCH for image came from OCCT dump
   //anOverview = anOverview.rgbSwapped();  //overview dump already normalizes the image, the line is not necessary!!!
 
   int w1 = aMain.width();
@@ -96,6 +96,7 @@ void test_Overview::create()
   myOverview->show();
   myOverview->setMainView( TestViewer::viewWindow() );
   TestViewer::viewWindow()->setGeometry( 400, 100, 800, 800 );
+  TestViewer::viewWindow()->onTopView();
   myOverview->setGeometry( 100, 100, 200, 200 );
 
   isPassed = true;
@@ -111,6 +112,7 @@ void test_Overview::showShape()
   BRep_Builder B;
   TopoDS_Shape shape;
   std::string fname = (REF_DATA_PATH + "/test_zone.brep").toStdString();
+  std::cout << "Loading shape: " << fname << std::endl;
   BRepTools::Read( shape, fname.c_str(), B );
   TestViewer::show( shape, AIS_Shaded, true, 0x03399FF );
   
@@ -138,6 +140,7 @@ void fitAllWithRestore( OCCViewer_ViewPort3d* vp )
 void test_Overview::test_default()
 {
   create();
+  //QTest::qWait( 50000 );
   CPPUNIT_ASSERT_OVERVIEW( "overview_empty" );
 }
 
@@ -155,14 +158,15 @@ void test_Overview::test_actions_in_main()
 {
   create();
   showShape();
-
-  OCCViewer_ViewWindow* aMain = TestViewer::viewWindow()->getView( OCCViewer_ViewFrame::MAIN_VIEW );
-  OCCViewer_ViewPort3d* vp = aMain->getViewPort();
+  TestViewer::viewWindow()->onTopView();
 
   // 1. selection in main view
   QTest::mouseMove( TestViewer::viewWindow() );
   CPPUNIT_ASSERT_OVERVIEW( "overview_selection" );
 
+  OCCViewer_ViewWindow* aMain = TestViewer::viewWindow()->getView( OCCViewer_ViewFrame::MAIN_VIEW );
+  OCCViewer_ViewPort3d* vp = aMain->getViewPort();
+
   // 2. mouse wheel zoom
   QWheelEvent we( QPoint( 243, 416 ), 120*20, Qt::NoButton, Qt::NoModifier );
   qApp->sendEvent( vp, &we );
@@ -194,6 +198,42 @@ void test_Overview::test_actions_in_main()
   //QTest::qWait( 50000 );
 }
 
+void test_Overview::test_set_mainview_2_times()
+{
+  create();
+  showShape();
+  TestViewer::viewWindow()->onTopView();
+  QTest::mouseMove( TestViewer::viewWindow() );
+  
+  //QTest::qWait( 20000 );
+  CPPUNIT_ASSERT_OVERVIEW( "overview_selection" );
+
+  myOverview->setMainView( TestViewer::viewWindow() );
+  qApp->processEvents();
+
+  CPPUNIT_ASSERT_OVERVIEW( "overview_selection_a" );
+}
+
 void test_Overview::test_actions_in_overview()
 {
+  create();
+  showShape();
+  TestViewer::viewWindow()->onTopView();
+  QTest::mouseMove( TestViewer::viewWindow() );
+
+  OCCViewer_ViewWindow* aMain = TestViewer::viewWindow()->getView( OCCViewer_ViewFrame::MAIN_VIEW );
+  OCCViewer_ViewPort3d* vp = aMain->getViewPort();
+
+  QWheelEvent we( QPoint( 243, 416 ), 120*20, Qt::NoButton, Qt::NoModifier );
+  qApp->sendEvent( vp, &we );
+  qApp->processEvents();
+  CPPUNIT_ASSERT_OVERVIEW( "overview_zoomed_1" );
+
+  QTest::mouseMove( myOverview->getViewPort(false), QPoint( 150, 50 ) );
+  QTest::mouseClick( myOverview->getViewPort(false), Qt::LeftButton, Qt::KeyboardModifiers(), QPoint( 150, 50 ) );
+  qApp->processEvents();
+
+  CPPUNIT_ASSERT_OVERVIEW( "overview_drag" );
+
+  //QTest::qWait( 50000 );
 }