[cig-commits] r20431 - in cs/spatialdata/trunk/tests/libtests/spatialdb: . data

brad at geodynamics.org brad at geodynamics.org
Thu Jun 28 15:15:18 PDT 2012


Author: brad
Date: 2012-06-28 15:15:18 -0700 (Thu, 28 Jun 2012)
New Revision: 20431

Modified:
   cs/spatialdata/trunk/tests/libtests/spatialdb/TestGeoProjGridDB.cc
   cs/spatialdata/trunk/tests/libtests/spatialdb/TestGeoProjGridDBVolume3D.cc
   cs/spatialdata/trunk/tests/libtests/spatialdb/TestGeoProjGridDBVolume3D.hh
   cs/spatialdata/trunk/tests/libtests/spatialdb/data/GeoProjGridDBTestDataVolume3D.cc
Log:
More work on C++ unit tests for GeoProjGridDB.

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/TestGeoProjGridDB.cc
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/TestGeoProjGridDB.cc	2012-06-28 21:35:59 UTC (rev 20430)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/TestGeoProjGridDB.cc	2012-06-28 22:15:18 UTC (rev 20431)
@@ -193,19 +193,58 @@
 // Populate database with data.
 void
 spatialdata::spatialdb::TestGeoProjGridDB::_setupDB(GeoProjGridDB* const db,
-						  const GeoProjGridDBTestData& data)
+						    const GeoProjGridDBTestData& data)
 { // _setupDB
-#if 0
-  dbData->allocate(data.numLocs, data.numVals, data.spaceDim,
-		   data.dataDim);
-  dbData->data(data.dbData, data.numLocs, data.numVals);
-  dbData->coordinates(data.dbCoords, data.numLocs, data.spaceDim);
-  dbData->names(const_cast<const char**>(data.names), data.numVals);
-  dbData->units(const_cast<const char**>(data.units), data.numVals);
+  CPPUNIT_ASSERT(db);
+  CPPUNIT_ASSERT(data.numVals > 0);
 
-  db->_data = dbData;
+  delete[] db->_x; db->_x = 0;
+  delete[] db->_y; db->_y = 0;
+  delete[] db->_z; db->_z = 0;
+  delete[] db->_data; db->_data = 0;
+  delete[] db->_names; db->_names = 0;
+  delete[] db->_units; db->_units = 0;
+
+  int numLocs = 1;
+  if (data.numX > 1) {
+    numLocs *= data.numX;
+    db->_x = new double[data.numX];
+    for (int i=0; i < data.numX; ++i) {
+      db->_x[i] = data.dbX[i];
+    } // for
+  } // if
+  if (data.numY > 1) {
+    numLocs *= data.numY;
+    db->_y = new double[data.numY];
+    for (int i=0; i < data.numY; ++i) {
+      db->_y[i] = data.dbY[i];
+    } // for
+  } // if
+  if (data.numZ > 1) {
+    numLocs *= data.numZ;
+    db->_z = new double[data.numZ];
+    for (int i=0; i < data.numZ; ++i) {
+      db->_z[i] = data.dbZ[i];
+    } // for
+  } // if
+
+  db->_data = (numLocs > 0) ? new double[numLocs*data.numVals] : 0;
+  for (int i=0; i < numLocs*data.numVals; ++i) {
+    db->_data[i] = data.dbData[i];
+  } // for
+
+  db->_names = (data.numVals > 0) ? new std::string[data.numVals] : 0;
+  for (int i=0; i < data.numVals; ++i) {
+    db->_names[i] = data.names[i];
+  } // for
+
+  db->_units = (data.numVals > 0) ? new std::string[data.numVals] : 0;
+  for (int i=0; i < data.numVals; ++i) {
+    db->_units[i] = data.units[i];
+  } // for
+
   db->_cs = new spatialdata::geocoords::CSCart();
-#endif
+  db->_cs->setSpaceDim(data.spaceDim);
 } // _setupDB
 
 // ----------------------------------------------------------------------
@@ -236,6 +275,7 @@
   
   const int locSize = spaceDim + numVals;
   spatialdata::geocoords::CSCart csCart;
+  csCart.setSpaceDim(spaceDim);
   for (int iQuery=0; iQuery < numQueries; ++iQuery) {
     const double* coords = &queryData[iQuery*locSize];
     const double* valsE = &queryData[iQuery*locSize+spaceDim];

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/TestGeoProjGridDBVolume3D.cc
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/TestGeoProjGridDBVolume3D.cc	2012-06-28 21:35:59 UTC (rev 20430)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/TestGeoProjGridDBVolume3D.cc	2012-06-28 22:15:18 UTC (rev 20431)
@@ -16,19 +16,19 @@
 
 #include <portinfo>
 
-#include "TestSimpleDBVolume3D.hh" // Implementation of class methods
+#include "TestGeoProjGridDBVolume3D.hh" // Implementation of class methods
 
-#include "data/SimpleDBTestDataVolume3D.hh"
+#include "data/GeoProjGridDBTestDataVolume3D.hh"
 
 // ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( spatialdata::spatialdb::TestSimpleDBVolume3D );
+CPPUNIT_TEST_SUITE_REGISTRATION( spatialdata::spatialdb::TestGeoProjGridDBVolume3D );
 
 // ----------------------------------------------------------------------
 // Test queryLinear()
 void
-spatialdata::spatialdb::TestSimpleDBVolume3D::testQueryLinear(void)
+spatialdata::spatialdb::TestGeoProjGridDBVolume3D::testQueryLinear(void)
 { // testQueryLinear
-  SimpleDBTestDataVolume3D data;
+  GeoProjGridDBTestDataVolume3D data;
 
   _testQueryLinear(data);
 } // testQueryLinear
@@ -36,9 +36,9 @@
 // ----------------------------------------------------------------------
 // Test queryNearest()
 void
-spatialdata::spatialdb::TestSimpleDBVolume3D::testQueryNearest(void)
+spatialdata::spatialdb::TestGeoProjGridDBVolume3D::testQueryNearest(void)
 { // testQueryNearest
-  SimpleDBTestDataVolume3D data;
+  GeoProjGridDBTestDataVolume3D data;
 
   _testQueryNearest(data);
 } // testQueryNearest

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/TestGeoProjGridDBVolume3D.hh
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/TestGeoProjGridDBVolume3D.hh	2012-06-28 21:35:59 UTC (rev 20430)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/TestGeoProjGridDBVolume3D.hh	2012-06-28 22:15:18 UTC (rev 20431)
@@ -14,34 +14,36 @@
 // ----------------------------------------------------------------------
 //
 
-/** @file tests/libtests/spatialdb/TestSimpleDBVolume3D.hh
+/** @file tests/libtests/spatialdb/TestGeoProjGridDBVolume3D.hh
  *
- * @brief C++ TestSimpleDBVolume3D object
+ * @brief C++ TestGeoProjGridDBVolume3D object
  *
- * C++ unit testing for SimpleDB. This object tests the volumetric
+ * C++ unit testing for GeoProjGridDB. This object tests the volumetric
  * interpolation.
  */
 
-#if !defined(spatialdata_spatialdb_testsimpledbvolume3d_hh)
-#define spatialdata_spatialdb_testsimpledbvolume3d_hh
+#if !defined(spatialdata_spatialdb_testgeoprojgriddbvolume3d_hh)
+#define spatialdata_spatialdb_testgeoprojgriddbvolume3d_hh
 
-#include "TestSimpleDB.hh" // ISA TestSimpleDB
+#include "TestGeoProjGridDB.hh" // ISA TestGeoProjGridDB
 
 /// Namespace for spatial package
 namespace spatialdata {
   namespace spatialdb {
-    class TestSimpleDBVolume3D;
+    class TestGeoProjGridDBVolume3D;
   } // spatialdb
 } // spatialdata
 
-/// C++ unit testing for SimpleDB
-class spatialdata::spatialdb::TestSimpleDBVolume3D : public TestSimpleDB
-{ // class TestSimpleDBVolume3D
+/// C++ unit testing for GeoProjGridDB
+class spatialdata::spatialdb::TestGeoProjGridDBVolume3D : public TestGeoProjGridDB
+{ // class TestGeoProjGridDBVolume3D
 
   // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestSimpleDBVolume3D );
+  CPPUNIT_TEST_SUITE( TestGeoProjGridDBVolume3D );
+
   CPPUNIT_TEST( testQueryNearest );
   CPPUNIT_TEST( testQueryLinear );
+
   CPPUNIT_TEST_SUITE_END();
 
   // PUBLIC METHODS /////////////////////////////////////////////////////
@@ -53,9 +55,9 @@
   /// Test queryLinear()
   void testQueryLinear(void);
 
-}; // class TestSimpleDBVolume3D
+}; // class TestGeoProjGridDBVolume3D
 
-#endif // spatialdata_spatialdb_testsimpledbvolume3d_hh
+#endif // spatialdata_spatialdb_testgeoprojgriddbvolume3d_hh
 
 
 // End of file 

Modified: cs/spatialdata/trunk/tests/libtests/spatialdb/data/GeoProjGridDBTestDataVolume3D.cc
===================================================================
--- cs/spatialdata/trunk/tests/libtests/spatialdb/data/GeoProjGridDBTestDataVolume3D.cc	2012-06-28 21:35:59 UTC (rev 20430)
+++ cs/spatialdata/trunk/tests/libtests/spatialdb/data/GeoProjGridDBTestDataVolume3D.cc	2012-06-28 22:15:18 UTC (rev 20431)
@@ -16,8 +16,8 @@
 
 #include "GeoProjGridDBTestDataVolume3D.hh"
 
-const int spatialdata::spatialdb::GeoProjGridDBTestDataVolume3D::_numX = 2;
-const int spatialdata::spatialdb::GeoProjGridDBTestDataVolume3D::_numY = 3;
+const int spatialdata::spatialdb::GeoProjGridDBTestDataVolume3D::_numX = 3;
+const int spatialdata::spatialdb::GeoProjGridDBTestDataVolume3D::_numY = 2;
 const int spatialdata::spatialdb::GeoProjGridDBTestDataVolume3D::_numZ = 4;
 
 const int spatialdata::spatialdb::GeoProjGridDBTestDataVolume3D::_spaceDim = 3;
@@ -29,16 +29,16 @@
 const int spatialdata::spatialdb::GeoProjGridDBTestDataVolume3D::_numQueries = 5;
 
 const double spatialdata::spatialdb::GeoProjGridDBTestDataVolume3D::_dbX[_numX] = {
-  0.0, 0.0,
+  -3.0, 1.0, 2.0,
 };
 const double spatialdata::spatialdb::GeoProjGridDBTestDataVolume3D::_dbY[_numY] = {
-  0.0, 0.0, 0.0,
+  2.0, 4.0,
 };
 const double spatialdata::spatialdb::GeoProjGridDBTestDataVolume3D::_dbZ[_numZ] = {
-  0.0, 0.0, 0.0, 0.0,
+  -0.5, 0.0, 1.0, 4.0,
 };
 
-const double spatialdata::spatialdb::GeoProjGridDBTestDataVolume3D::_dbData[] = {
+const double spatialdata::spatialdb::GeoProjGridDBTestDataVolume3D::_dbData[_numX*_numY*_numZ*_numVals] = {
   1.00000000e-01,  1.10000000e+00,
   3.00000000e-01,  3.30000000e+00,
   2.00000000e-01,  2.20000000e+00,
@@ -47,16 +47,32 @@
   3.00000000e-01,  3.20000000e+00,
   7.00000000e-01,  5.20000000e+00,
   5.00000000e-01,  4.60000000e+00,
+  0.00000000e-01,  1.20000000e+00,
+  1.00000000e-01,  3.40000000e+00,
+  2.00000000e-01,  2.10000000e+00,
+  6.00000000e-01,  1.40000000e+00,
+  9.00000000e-01,  4.70000000e+00,
+  4.00000000e-01,  3.30000000e+00,
+  7.00000000e-01,  5.50000000e+00,
+  6.00000000e-01,  4.70000000e+00,
+  5.00000000e-01,  1.60000000e+00,
+  3.00000000e-01,  3.30000000e+00,
+  8.00000000e-01,  2.80000000e+00,
+  3.00000000e-01,  1.50000000e+00,
+  7.00000000e-01,  4.80000000e+00,
+  4.00000000e-01,  3.40000000e+00,
+  3.00000000e-01,  5.70000000e+00,
+  4.00000000e-01,  4.50000000e+00,
 };
 
 const char* spatialdata::spatialdb::GeoProjGridDBTestDataVolume3D::_names[] = {
-"One",
-"Two",
+  "One",
+  "Two",
 };
 
 const char* spatialdata::spatialdb::GeoProjGridDBTestDataVolume3D::_units[] = {
-"m",
-"m",
+  "m",
+  "cm",
 };
 
 const double spatialdata::spatialdb::GeoProjGridDBTestDataVolume3D::_queryNearest[] = {



More information about the CIG-COMMITS mailing list