1 #include "TestPseudoRandom.h"
2 
TestPseudoRandom()3 TestPseudoRandom::TestPseudoRandom(){;}
4 
~TestPseudoRandom()5 TestPseudoRandom::~TestPseudoRandom(){;}
6 
7 
run()8 void TestPseudoRandom::run(){
9 	testPseudoRandom();
10 	testSetSeed();
11 	testGetPseudoRandom();
12 }
13 
14 
testPseudoRandom()15 void TestPseudoRandom::testPseudoRandom(){
16 	PseudoRandomTestsOnly x;
17 	double number = x.getPseudoRandom();
18 	_test(number == 0.0);
19 }
20 
testGetPseudoRandom()21 void 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()64 void 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