class MachineWithEventsWithTransitionsTest
Public Instance Methods
setup()
click to toggle source
# File test/unit/machine_test.rb, line 2363 def setup @klass = Class.new @machine = StateMachine::Machine.new(@klass, :initial => :parked) @event = @machine.event(:ignite) do transition :parked => :idling transition :stalled => :idling end end
test_should_have_events()
click to toggle source
# File test/unit/machine_test.rb, line 2372 def test_should_have_events assert_equal [@event], @machine.events.to_a end
test_should_not_duplicate_states_defined_in_multiple_event_transitions()
click to toggle source
# File test/unit/machine_test.rb, line 2380 def test_should_not_duplicate_states_defined_in_multiple_event_transitions @machine.event :park do transition :idling => :parked end assert_equal [:parked, :idling, :stalled], @machine.states.map {|state| state.name} end
test_should_track_state_from_new_events()
click to toggle source
# File test/unit/machine_test.rb, line 2388 def test_should_track_state_from_new_events @machine.event :shift_up do transition :idling => :first_gear end assert_equal [:parked, :idling, :stalled, :first_gear], @machine.states.map {|state| state.name} end
test_should_track_states_defined_in_event_transitions()
click to toggle source
# File test/unit/machine_test.rb, line 2376 def test_should_track_states_defined_in_event_transitions assert_equal [:parked, :idling, :stalled], @machine.states.map {|state| state.name} end