class MachineWithStatesTest
Public Instance Methods
setup()
click to toggle source
# File test/unit/machine_test.rb, line 2010 def setup @klass = Class.new @machine = StateMachine::Machine.new(@klass) @parked, @idling = @machine.state :parked, :idling @object = @klass.new end
test_should_allow_human_state_name_lookup()
click to toggle source
# File test/unit/machine_test.rb, line 2030 def test_should_allow_human_state_name_lookup assert_equal 'parked', @klass.human_state_name(:parked) end
test_should_allow_state_lookup_by_name()
click to toggle source
# File test/unit/machine_test.rb, line 2022 def test_should_allow_state_lookup_by_name assert_equal @parked, @machine.states[:parked] end
test_should_allow_state_lookup_by_value()
click to toggle source
# File test/unit/machine_test.rb, line 2026 def test_should_allow_state_lookup_by_value assert_equal @parked, @machine.states['parked', :value] end
test_should_have_states()
click to toggle source
# File test/unit/machine_test.rb, line 2018 def test_should_have_states assert_equal [nil, :parked, :idling], @machine.states.map {|state| state.name} end
test_should_not_use_custom_matcher()
click to toggle source
# File test/unit/machine_test.rb, line 2043 def test_should_not_use_custom_matcher assert_nil @parked.matcher end
test_should_raise_exception_if_invalid_option_specified()
click to toggle source
# File test/unit/machine_test.rb, line 2047 def test_should_raise_exception_if_invalid_option_specified exception = assert_raise(ArgumentError) {@machine.state(:first_gear, :invalid => true)} assert_equal 'Invalid key(s): invalid', exception.message end
test_should_raise_exception_on_invalid_human_state_name_lookup()
click to toggle source
# File test/unit/machine_test.rb, line 2034 def test_should_raise_exception_on_invalid_human_state_name_lookup exception = assert_raise(IndexError) {@klass.human_state_name(:invalid)} assert_equal ':invalid is an invalid name', exception.message end
test_should_use_stringified_name_for_value()
click to toggle source
# File test/unit/machine_test.rb, line 2039 def test_should_use_stringified_name_for_value assert_equal 'parked', @parked.value end