1 #include "ArbitraryRandom.h"
2 
3 #include "rapidcheck/gen/Numeric.h"
4 
5 // TODO clean up, formalize
6 
7 namespace rc {
8 
9 template struct Arbitrary<Random>;
10 
11 namespace test {
12 
trulyArbitraryRandom()13 Gen<Random> trulyArbitraryRandom() {
14   return gen::map(
15       gen::pair(gen::arbitrary<Random>(), gen::inRange<int>(0, 10000)),
16       [](std::pair<Random, int> &&p) {
17         auto nexts = p.second;
18         while (nexts-- > 0) {
19           p.first.next();
20         }
21         return p.first;
22       });
23 }
24 
25 } // namespace test
26 } // namespace rc
27