Class: PropCheck::Property::Shrinker
- Inherits:
-
Object
- Object
- PropCheck::Property::Shrinker
- Defined in:
- lib/prop_check/property/shrinker.rb
Class Method Summary collapse
Instance Method Summary collapse
- #call(&block) ⇒ Object
-
#initialize(bindings_tree, io, hooks, config) ⇒ Shrinker
constructor
A new instance of Shrinker.
Constructor Details
#initialize(bindings_tree, io, hooks, config) ⇒ Shrinker
Returns a new instance of Shrinker.
3 4 5 6 7 8 9 10 11 12 |
# File 'lib/prop_check/property/shrinker.rb', line 3 def initialize(bindings_tree, io, hooks, config) @problem_child = bindings_tree @io = io @siblings = @problem_child.children.lazy @parent_siblings = nil @problem_exception = nil @shrink_steps = 0 @hooks = hooks @config = config end |
Class Method Details
.call(bindings_tree, io, hooks, config, &block) ⇒ Object
14 15 16 17 18 |
# File 'lib/prop_check/property/shrinker.rb', line 14 def self.call(bindings_tree, io, hooks, config, &block) self .new(bindings_tree, io, hooks, config) .call(&block) end |
Instance Method Details
#call(&block) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/prop_check/property/shrinker.rb', line 20 def call(&block) @io.puts 'Shrinking...' if @config.verbose shrink(&block) if @shrink_steps >= @config.max_shrink_steps [@problem_child.root, @problem_exception, @shrink_steps] end |