// RandomSimulator_t.cpp #include "RandomSimulatorTest.h" #include "RandomRegistry.h" #include #include #include #include using std::string; using std::vector; using std::cout; using std::cerr; using std::endl; //********************************************************************** int main( ) { string component = "RandomSimulator"; 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 << ok_prefix << "Construct generators and simulator." << endl; double min = 2.0; double max = 5.0; long seed1 = 246813579L; long seed2 = 987654321L; long seed3 = 135724689L; RandomGeneratorTest rgen1(min,max,seed1); RandomGeneratorTest rgen2(min,max,seed2); RandomGeneratorTest rgen3(min,max,seed3); cout << "Generators:" << endl; cout << rgen1 << endl; cout << rgen2 << endl; cout << rgen3 << endl; RandomSimulatorTest rsim(rgen1,rgen2,rgen3); cout << "Simulator:" << endl; cout << rsim << endl; // save initial values ValueList values0; values0.push_back( rgen1.flat() ); values0.push_back( rgen2.flat() ); values0.push_back( rgen3.flat() ); ValueList values1; values1.push_back( rgen1.flat() ); values1.push_back( rgen2.flat() ); values1.push_back( rgen3.flat() ); int nval = 3; assert( values0.size() == nval ); assert( values1.size() == nval ); //******************************************************************** cout << ok_prefix << "Construct registry." << endl; RandomRegistry reg; rsim.register_generators(reg); int rec = reg.record(); //******************************************************************** cout << ok_prefix << "Check initial generators." << endl; RandomSimulator::GeneratorList gens = rsim.get_generators(); assert( gens.size() == nval ); ValueList values = rsim.generate_values(); int i; for ( i=0; i