Method: PropCheck::Generators.integer

Defined in:
lib/prop_check/generators.rb

.integerObject

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