class MachineWithEventMatchersTest

Public Instance Methods

setup() click to toggle source
# File test/unit/machine_test.rb, line 2324
def setup
  @klass = Class.new
  @machine = StateMachine::Machine.new(@klass)
end
test_should_empty_array_for_all_matcher() click to toggle source
# File test/unit/machine_test.rb, line 2329
def test_should_empty_array_for_all_matcher
  assert_equal [], @machine.event(StateMachine::AllMatcher.instance)
end
test_should_eval_context_for_matching_events() click to toggle source
# File test/unit/machine_test.rb, line 2347
def test_should_eval_context_for_matching_events
  contexts_run = []
  @machine.event(StateMachine::BlacklistMatcher.new([:park])) { contexts_run << self.name }
  
  @machine.event :park
  assert_equal [], contexts_run
  
  @machine.event :ignite
  assert_equal [:ignite], contexts_run
  
  @machine.event :shift_up, :shift_down
  assert_equal [:ignite, :shift_up, :shift_down], contexts_run
end
test_should_not_allow_configurations() click to toggle source
# File test/unit/machine_test.rb, line 2337
def test_should_not_allow_configurations
  exception = assert_raise(ArgumentError) { @machine.event(StateMachine::BlacklistMatcher.new([:park]), :human_name => 'Park') }
  assert_equal 'Cannot configure events when using matchers (using {:human_name=>"Park"})', exception.message
end
test_should_return_referenced_events_for_blacklist_matcher() click to toggle source
# File test/unit/machine_test.rb, line 2333
def test_should_return_referenced_events_for_blacklist_matcher
  assert_instance_of StateMachine::Event, @machine.event(StateMachine::BlacklistMatcher.new([:park]))
end
test_should_track_referenced_events() click to toggle source
# File test/unit/machine_test.rb, line 2342
def test_should_track_referenced_events
  event = @machine.event(StateMachine::BlacklistMatcher.new([:park]))
  assert_equal [:park], @machine.events.map {|event| event.name}
end