1 #include "TestPseudoRandom.h" 2 TestPseudoRandom()3TestPseudoRandom::TestPseudoRandom(){;} 4 ~TestPseudoRandom()5TestPseudoRandom::~TestPseudoRandom(){;} 6 7 run()8void TestPseudoRandom::run(){ 9 testPseudoRandom(); 10 testSetSeed(); 11 testGetPseudoRandom(); 12 } 13 14 testPseudoRandom()15void TestPseudoRandom::testPseudoRandom(){ 16 PseudoRandomTestsOnly x; 17 double number = x.getPseudoRandom(); 18 _test(number == 0.0); 19 } 20 testGetPseudoRandom()21void TestPseudoRandom::testGetPseudoRandom(){ 22 23 /* first number should be 0 */ 24 PseudoRandomTestsOnly x; 25 double number = x.getPseudoRandom(); 26 _test(number == 0.0); 27 28 /* 2nd number should be 0.001 */ 29 number = x.getPseudoRandom(); 30 _test(fabs(number-0.001) < 0.0001); 31 32 /* 3rd number should be 0.002 */ 33 number = x.getPseudoRandom(); 34 _test(fabs(number-0.002) < 0.0001); 35 36 /* 4th number should be 0.003 */ 37 number = x.getPseudoRandom(); 38 _test(fabs(number-0.003) < 0.0001); 39 40 /* new number should be 0.998 */ 41 x.setSeed(998); 42 number = x.getPseudoRandom(); 43 _test(fabs(number-0.998) < 0.0001); 44 45 /* 2nd number should be 0.999 */ 46 number = x.getPseudoRandom(); 47 _test(fabs(number-0.999) < 0.0001); 48 49 /* 3rd number should be 0.0 */ 50 number = x.getPseudoRandom(); 51 _test(fabs(number-0.0) < 0.0001); 52 53 /* 4th number should be 0.001 */ 54 number = x.getPseudoRandom(); 55 _test(fabs(number-0.001) < 0.0001); 56 57 /* 5th number should be 0.002 */ 58 number = x.getPseudoRandom(); 59 _test(fabs(number-0.002) < 0.0001); 60 61 } 62 63 testSetSeed()64void TestPseudoRandom::testSetSeed() { 65 66 67 /* first number should be 0 */ 68 PseudoRandomTestsOnly x; 69 double number = x.getPseudoRandom(); 70 _test(number == 0.0); 71 72 /* 2nd number should be 0.001 */ 73 number = x.getPseudoRandom(); 74 _test(fabs(number-0.001) < 0.0001); 75 76 77 /* new number should be 0.500 */ 78 x.setSeed(500); 79 number = x.getPseudoRandom(); 80 _test(fabs(number - 0.500) < 0.0001); 81 82 /* 2nd number should be 0.501 */ 83 number = x.getPseudoRandom(); 84 _test(fabs(number-.501) < 0.0001); 85 86 /* new number should be 0.999 */ 87 x.setSeed(999); 88 number = x.getPseudoRandom(); 89 _test(fabs(number - 0.999) < 0.0001); 90 91 /* 2nd number should be 0.000 */ 92 number = x.getPseudoRandom(); 93 _test(fabs(number - 0.0) < 0.0001); 94 } 95