Method: PropCheck::Generators.tuple

Defined in:
lib/prop_check/generators.rb

.tuple(*generators) ⇒ Object

Generates an array containing always exactly one value from each of the passed generators, in the same order as specified:

Shrinks element generators, one at a time (trying last one first).

>> Generators.tuple(Generators.integer, Generators.real_float).call(size: 10, rng: Random.new(42))
=> [-4, 13.0]


318
319
320
321
322
323
324
# File 'lib/prop_check/generators.rb', line 318

def tuple(*generators)
  Generator.new do |**kwargs|
    LazyTree.zip(generators.map do |generator|
      generator.generate(**kwargs)
    end)
  end
end