/test/unit/invalid_transition_test.rb
Ruby | 77 lines | 59 code | 18 blank | 0 comment | 0 complexity | 99d4bbf40416b0b0897d41c5c029c8b7 MD5 | raw file
- require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
- class InvalidTransitionTest < Test::Unit::TestCase
- def setup
- @klass = Class.new
- @machine = StateMachine::Machine.new(@klass)
- @state = @machine.state :parked
- @machine.event :ignite
-
- @object = @klass.new
- @object.state = 'parked'
-
- @invalid_transition = StateMachine::InvalidTransition.new(@object, @machine, :ignite)
- end
-
- def test_should_have_an_object
- assert_equal @object, @invalid_transition.object
- end
-
- def test_should_have_a_machine
- assert_equal @machine, @invalid_transition.machine
- end
-
- def test_should_have_an_event
- assert_equal :ignite, @invalid_transition.event
- end
-
- def test_should_have_a_qualified_event
- assert_equal :ignite, @invalid_transition.qualified_event
- end
-
- def test_should_have_a_from_value
- assert_equal 'parked', @invalid_transition.from
- end
-
- def test_should_have_a_from_name
- assert_equal :parked, @invalid_transition.from_name
- end
-
- def test_should_have_a_qualified_from_name
- assert_equal :parked, @invalid_transition.qualified_from_name
- end
-
- def test_should_generate_a_message
- assert_equal 'Cannot transition state via :ignite from :parked', @invalid_transition.message
- end
- end
- class InvalidTransitionWithNamespaceTest < Test::Unit::TestCase
- def setup
- @klass = Class.new
- @machine = StateMachine::Machine.new(@klass, :namespace => 'alarm')
- @state = @machine.state :active
- @machine.event :disable
-
- @object = @klass.new
- @object.state = 'active'
-
- @invalid_transition = StateMachine::InvalidTransition.new(@object, @machine, :disable)
- end
-
- def test_should_have_an_event
- assert_equal :disable, @invalid_transition.event
- end
-
- def test_should_have_a_qualified_event
- assert_equal :disable_alarm, @invalid_transition.qualified_event
- end
-
- def test_should_have_a_from_name
- assert_equal :active, @invalid_transition.from_name
- end
-
- def test_should_have_a_qualified_from_name
- assert_equal :alarm_active, @invalid_transition.qualified_from_name
- end
- end