class StateMachineChecker::RspecMatchers::SatisfyMatcher
Attributes
formula[R]
instance_generator[R]
result[R]
Public Class Methods
new(formula)
click to toggle source
# File lib/state_machine_checker/rspec_matchers.rb, line 12 def initialize(formula) @formula = formula end
Public Instance Methods
description()
click to toggle source
# File lib/state_machine_checker/rspec_matchers.rb, line 16 def description "satisfy \"#{formula}\"" end
diffable?()
click to toggle source
# File lib/state_machine_checker/rspec_matchers.rb, line 20 def diffable? false end
failure_message()
click to toggle source
# File lib/state_machine_checker/rspec_matchers.rb, line 30 def failure_message <<~MESSAGE Expected state machine for #{machine_name} to satisfy "#{formula}" but it does not. Counterexample: #{result.counterexample} MESSAGE end
failure_message_when_negated()
click to toggle source
# File lib/state_machine_checker/rspec_matchers.rb, line 37 def failure_message_when_negated <<~MESSAGE Expected state machine for #{machine_name} not to satisfy "#{formula}" but it does. Witness: #{result.witness} MESSAGE end
matches?(instance_generator)
click to toggle source
# File lib/state_machine_checker/rspec_matchers.rb, line 24 def matches?(instance_generator) @instance_generator = instance_generator @result = check_satisfied(formula, instance_generator) @result.satisfied? end
supports_block_expectations?()
click to toggle source
# File lib/state_machine_checker/rspec_matchers.rb, line 44 def supports_block_expectations? true end
Private Instance Methods
machine_name()
click to toggle source
# File lib/state_machine_checker/rspec_matchers.rb, line 52 def machine_name # TODO: This assumes state_machines gem klass = instance_generator.call.class gem_machine = klass.state_machine "#{klass}##{gem_machine.name}" end