Print

Print


Commit in lcio/src/cpp/src/TESTS on MAIN
tutil.h+33-161.1 -> 1.2
added template operator() for convenient tests

lcio/src/cpp/src/TESTS
tutil.h 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- tutil.h	4 Jun 2008 17:32:23 -0000	1.1
+++ tutil.h	4 Jun 2008 20:11:18 -0000	1.2
@@ -3,22 +3,39 @@
 #include <sstream>
 
 class TEST{
-
+  
 public:
-
-    TEST( const std::string& tname, std::ostream& stream=std::cout ): _testname(tname), _out(stream){
-        _out << std::endl << "[" << _testname << "] ";
-        _out << "TEST_BEGIN ******************************" << std::endl << std::endl;
-    }
-
-    ~TEST(){
-        _out << std::endl << "[" << _testname << "] ";
-        _out << "TEST_PASSED ******************************" << std::endl << std::endl;
-    }
-
-    void LOG( const std::string& msg ){
-        _out << "[" << _testname << "] LOG: " << msg << std::endl;
-    }
+  
+  TEST( const std::string& tname, std::ostream& stream=std::cout ): _testname(tname), _out(stream){
+    _out << std::endl << "[" << _testname << "] ";
+    _out << "TEST_BEGIN ******************************" << std::endl << std::endl;
+  }
+  
+  ~TEST(){
+    _out << std::endl << "[" << _testname << "] ";
+    _out << "TEST_PASSED ******************************" << std::endl << std::endl;
+  }
+  
+  void LOG( const std::string& msg ){
+    _out << "[" << _testname << "] LOG: " << msg << std::endl;
+  }
+  
+  template <class V1, class V2 >
+  void operator()(const V1& v1, const V2& v2 , const std::string name ) {
+    
+    if ( ! (v1 == v2)  ) {
+      
+      std::stringstream sstr ;
+      sstr << "  " << name<< " : [" << v1 << "] != [" << v2 <<"]" ;
+      FAILED( sstr.str() ) ;
+    } 
+    return ;
+  }
+
+//   void operator()(bool cond, const std::string msg) {
+//     if ( ! cond ) FAILED( msg ) ;
+//     return ;
+//   } 
 
     void FAILED( const std::string& msg ){
         
@@ -32,7 +49,7 @@
         _out << errmsg.str();
 
         // also send error to stderr
-        std::cerr << errmsg.str();
+        //std::cerr << errmsg.str();
 
         // abort program
         exit(1);
CVSspam 0.2.8