// MCTrackMaker_t.cpp #include "MCTrackMaker.h" #include #include #include "trfbase/VTrack.h" #include "trfutil/RandomRegistry.h" #include "trfutil/trfstream.h" using std::cout; using std::cerr; using std::endl; using std::string; using namespace trf; //********************************************************************** int main( ) { string component = "MCTrackMaker"; string ok_prefix = component + " (I): "; string error_prefix = component + " test (E): "; cout << ok_prefix << "-------- Testing component " + component + ". --------" << endl; // Make sure assert is enabled. bool assert_flag = false; assert ( ( assert_flag = true, assert_flag ) ); if ( ! assert_flag ) { cerr << "Assert is disabled" << endl; return 1; } //******************************************************************** cout << trf_format; cout << ok_prefix << "Test constructor." << endl; MCTrackMaker maker; cout << maker << endl; //******************************************************************** cout << ok_prefix << "Register generators." << endl; RandomRegistry reg; maker.register_generators(reg); int state = reg.record(); assert( state == 0 ); assert( reg.get_generator_count() == 1 ); //******************************************************************** cout << ok_prefix << "Test generation." << endl; VTrack trv1 = *maker.new_track(); VTrack trv2 = *maker.new_track(); VTrack trv3 = *maker.new_track(); cout << maker << endl; cout << trv1 << endl; cout << trv2 << endl; cout << trv3 << endl; assert( trv1 == trv1 ); assert( trv1 != trv2 ); //******************************************************************** cout << ok_prefix << "Reset generators." << endl; reg.set(0); VTrack trv4 = *maker.new_track(); assert( trv4 == trv1 ); //******************************************************************** cout << ok_prefix << "------------- All tests passed. -------------" << endl; return 0; //******************************************************************** }