Salome HOME
Correction for hydro_test
[modules/hydro.git] / src / HYDRO_tests / test_HYDROData_Bathymetry.cxx
index 45a8e2563fcec7fce8dd0f0101201ec2b181e01b..a243d1aef5e46137bc2367792ea9532e0491815f 100644 (file)
@@ -32,6 +32,7 @@
 #include <gp_Pnt2d.hxx>
 
 const double EPS = 1E-4;
+extern QString TMP_DIR;
 
 void generateOne( QTextStream& theStream,
                   double theFirstX, double theFirstY,
@@ -45,7 +46,7 @@ void generateOne( QTextStream& theStream,
   {
     double anX = theFirstX * (1-t) + theLastX * t;
     double anY = theFirstY * (1-t) + theLastY * t;
-    double aZ = aStepZ * aStepZ + sin( (float)rand() );
+    double aZ = aStepZ * aStepZ + sin( 10*t );
     theStream << anX << " " << anY << " " << aZ << " \n";
 
     aStepZ += 0.2;
@@ -61,7 +62,6 @@ bool test_HYDROData_Bathymetry::createTestFile( const QString& theFileName )
   {
     QTextStream anOutStream( &aTmpFile );
 
-    srand( 4587 );
     generateOne( anOutStream, 0, 5, 0, -5 );
     generateOne( anOutStream, 10, 5, 10, -5 );
     generateOne( anOutStream, 20, 5, 20, -5 );
@@ -117,43 +117,43 @@ bool test_HYDROData_Bathymetry::createTestFile( const QString& theFileName )
 
 void test_HYDROData_Bathymetry::testFileImport()
 {
-  Handle(HYDROData_Document) aDoc = HYDROData_Document::Document( 1 );
+  Handle(HYDROData_Document) aDoc = HYDROData_Document::Document();
 
   Handle(HYDROData_Bathymetry) aBathymetry = 
     Handle(HYDROData_Bathymetry)::DownCast( aDoc->CreateObject( KIND_BATHYMETRY ) );
 
-  QString aFileName = QDir::tempPath() + QDir::separator() + "test.xyz";
+  QString aFileName = TMP_DIR + QDir::separator() + "test.xyz";
   if ( !createTestFile( aFileName ) )
     return; // No file has been created
 
-  CPPUNIT_ASSERT( aBathymetry->ImportFromFile( aFileName.toStdString().c_str() ) );
+  CPPUNIT_ASSERT( aBathymetry->ImportFromFiles( QStringList(aFileName)) );
 
   HYDROData_Bathymetry::AltitudePoints anAltitudePoints = aBathymetry->GetAltitudePoints();
-  CPPUNIT_ASSERT_EQUAL( 2300, anAltitudePoints.Length() );
+  CPPUNIT_ASSERT_EQUAL( 2300, (int)anAltitudePoints.size() );
 
   gp_XY aTestPoint( 1, 1 );
-  double anAltitude = aBathymetry->GetAltitudeForPoint( aTestPoint );
-  CPPUNIT_ASSERT_DOUBLES_EQUAL( 0.9755, anAltitude, EPS );
+  double anAltitude = aBathymetry->GetAltitudeForPoint( aTestPoint, 1 );
+  CPPUNIT_ASSERT_DOUBLES_EQUAL( 0.2432, anAltitude, EPS );
 
   aTestPoint = gp_XY( 0.5, 0.5 );
-  anAltitude = aBathymetry->GetAltitudeForPoint( aTestPoint );
-  CPPUNIT_ASSERT_DOUBLES_EQUAL(  0.0147, anAltitude, EPS );
+  anAltitude = aBathymetry->GetAltitudeForPoint( aTestPoint, 1 );
+  CPPUNIT_ASSERT_DOUBLES_EQUAL( -0.591602, anAltitude, EPS );
 
   aTestPoint = gp_XY( 1.5, 1 );
-  anAltitude = aBathymetry->GetAltitudeForPoint( aTestPoint );
-  CPPUNIT_ASSERT_DOUBLES_EQUAL( 0.9534, anAltitude, EPS );
+  anAltitude = aBathymetry->GetAltitudeForPoint( aTestPoint, 1 );
+  CPPUNIT_ASSERT_DOUBLES_EQUAL( 0.2432, anAltitude, EPS );
 
   aTestPoint = gp_XY( 1.5, 0.7 );
-  anAltitude = aBathymetry->GetAltitudeForPoint( aTestPoint );
-  CPPUNIT_ASSERT_DOUBLES_EQUAL( 1.5032, anAltitude, EPS );
+  anAltitude = aBathymetry->GetAltitudeForPoint( aTestPoint, 1 );
+  CPPUNIT_ASSERT_DOUBLES_EQUAL( -0.591602, anAltitude, EPS );
 
   aTestPoint = gp_XY( 1.5, -0.7 );
-  anAltitude = aBathymetry->GetAltitudeForPoint( aTestPoint );
-  CPPUNIT_ASSERT_DOUBLES_EQUAL( 6.3088, anAltitude, EPS );
+  anAltitude = aBathymetry->GetAltitudeForPoint( aTestPoint, 1 );
+  CPPUNIT_ASSERT_DOUBLES_EQUAL( -0.271267, anAltitude, EPS );
 
   aTestPoint = gp_XY( 2, 3.5 );
-  anAltitude = aBathymetry->GetAltitudeForPoint( aTestPoint );
-  CPPUNIT_ASSERT_DOUBLES_EQUAL( 11.090, anAltitude, EPS );
+  anAltitude = aBathymetry->GetAltitudeForPoint( aTestPoint, 1 );
+  CPPUNIT_ASSERT_DOUBLES_EQUAL( 13.9454, anAltitude, EPS );
 
   aDoc->Close();
 }
@@ -161,21 +161,21 @@ void test_HYDROData_Bathymetry::testFileImport()
 
 void test_HYDROData_Bathymetry::testCopy()
 {
-  Handle(HYDROData_Document) aDoc = HYDROData_Document::Document(1);
+  Handle(HYDROData_Document) aDoc = HYDROData_Document::Document();
   
   Handle(HYDROData_Bathymetry) aBathymetry1 = 
     Handle(HYDROData_Bathymetry)::DownCast( aDoc->CreateObject( KIND_BATHYMETRY ) );
 
-  QString aFileName = QDir::tempPath() + QDir::separator() + "test.xyz";
+  QString aFileName = TMP_DIR + QDir::separator() + "test.xyz";
 
   bool anIsFileCreated = createTestFile( aFileName );
   
   if ( anIsFileCreated )
   {
-    CPPUNIT_ASSERT( aBathymetry1->ImportFromFile( aFileName.toStdString().c_str() ) );
+    CPPUNIT_ASSERT( aBathymetry1->ImportFromFiles( QStringList(aFileName ) ) );
 
     HYDROData_Bathymetry::AltitudePoints anAltitudePoints = aBathymetry1->GetAltitudePoints();
-    CPPUNIT_ASSERT_EQUAL( 2300, anAltitudePoints.Length() );
+    CPPUNIT_ASSERT_EQUAL( 2300, (int)anAltitudePoints.size() );
   }
 
   Handle(HYDROData_Bathymetry) aBathymetry2 = 
@@ -186,7 +186,7 @@ void test_HYDROData_Bathymetry::testCopy()
   if ( anIsFileCreated )
   {
     HYDROData_Bathymetry::AltitudePoints anAltitudePoints = aBathymetry2->GetAltitudePoints();
-    CPPUNIT_ASSERT_EQUAL( 2300, anAltitudePoints.Length() );
+    CPPUNIT_ASSERT_EQUAL( 2300, (int)anAltitudePoints.size() );
   }
 
   aDoc->Close();