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()13Gen<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