Method: PropCheck::Generators.integer
- Defined in:
- lib/prop_check/generators.rb
.integer ⇒ Object
A random integer which scales with size. Integers start small (around 0) and become more extreme (both higher and lower, negative) when size increases.
Shrinks to integers closer to zero.
>> Generators.integer.call(size: 2, rng: Random.new(42))
=> 1
>> Generators.integer.call(size: 10000, rng: Random.new(42))
=> 5795
>> r = Random.new(42); Generators.integer.sample(size: 20000, rng: r)
=> [-4205, -19140, 18158, -8716, -13735, -3150, 17194, 1962, -3977, -18315]
83 84 85 86 87 88 89 90 |
# File 'lib/prop_check/generators.rb', line 83 def integer Generator.new do |size:, rng:, **| ensure_proper_size!(size) val = rng.rand(-size..size) LazyTree.new(val, integer_shrink(val)) end end |