00001 00004 #ifndef _TESTFRAMEWORK_H 00005 #define _TESTFRAMEWORK_H 00006 00007 #ifndef _NO_CPPUNIT 00008 00009 #include <cppunit/ui/text/TestRunner.h> 00010 #include <cppunit/TestResult.h> 00011 #include <cppunit/TestResultCollector.h> 00012 #include <cppunit/extensions/HelperMacros.h> 00013 #include <cppunit/BriefTestProgressListener.h> 00014 #include <cppunit/extensions/TestFactoryRegistry.h> 00015 #include <cppunit/TextOutputter.h> 00016 #include "gridlabd.h" 00017 #include "test_callbacks.h" 00018 00019 TEST_CALLBACKS *local_callbacks; 00020 00021 class test_helper: public CppUnit::TestFixture 00022 { 00023 public: 00024 00025 static CLASS* get_class_by_name(char *name){ 00026 return local_callbacks->get_class_by_name(name); 00027 } 00028 00029 static TIMESTAMP get_global_clock(){ 00030 return local_callbacks->get_global_clock(); 00031 } 00032 00033 static TIMESTAMP myobject_sync(OBJECT *obj, TIMESTAMP ts,PASSCONFIG pass) 00034 { 00035 return local_callbacks->myobject_sync(obj,ts,pass); 00036 } 00037 00038 template <class T> static T *create_object(const char *classname) 00039 { 00040 CLASS *glclass = get_class_by_name((char *) classname); 00041 OBJECT *gl_obj = gl_create_object(glclass); 00042 T *obj = OBJECTDATA(gl_obj, T); 00043 obj->create(); 00044 return obj; 00045 } 00046 }; 00047 #endif 00048 #endif