class MachineWithEventsTest

Public Instance Methods

setup() click to toggle source
# File test/unit/machine_test.rb, line 2247
def setup
  @klass = Class.new
  @machine = StateMachine::Machine.new(@klass)
end
test_should_allow_human_state_name_lookup() click to toggle source
# File test/unit/machine_test.rb, line 2280
def test_should_allow_human_state_name_lookup
  @machine.event(:ignite)
  assert_equal 'ignite', @klass.human_state_event_name(:ignite)
end
test_should_be_aliased_as_on() click to toggle source
# File test/unit/machine_test.rb, line 2270
def test_should_be_aliased_as_on
  event = @machine.on(:ignite) {}
  assert_equal :ignite, event.name
end
test_should_create_event_with_given_name() click to toggle source
# File test/unit/machine_test.rb, line 2256
def test_should_create_event_with_given_name
  event = @machine.event(:ignite) {}
  assert_equal :ignite, event.name
end
test_should_evaluate_block_within_event_context() click to toggle source
# File test/unit/machine_test.rb, line 2261
def test_should_evaluate_block_within_event_context
  responded = false
  @machine.event :ignite do
    responded = respond_to?(:transition)
  end
  
  assert responded
end
test_should_have_events() click to toggle source
# File test/unit/machine_test.rb, line 2275
def test_should_have_events
  event = @machine.event(:ignite)
  assert_equal [event], @machine.events.to_a
end
test_should_raise_exception_on_invalid_human_state_event_name_lookup() click to toggle source
# File test/unit/machine_test.rb, line 2285
def test_should_raise_exception_on_invalid_human_state_event_name_lookup
  exception = assert_raise(IndexError) {@klass.human_state_event_name(:invalid)}
  assert_equal ':invalid is an invalid name', exception.message
end
test_should_return_the_created_event() click to toggle source
# File test/unit/machine_test.rb, line 2252
def test_should_return_the_created_event
  assert_instance_of StateMachine::Event, @machine.event(:ignite)
end