class MachineWithStaticInitialStateTest
Public Class Methods
new(attributes = {})
click to toggle source
Calls superclass method
# File test/unit/machine_test.rb, line 296 def initialize(attributes = {}) self.state = 'idling' super() end
Public Instance Methods
setup()
click to toggle source
# File test/unit/machine_test.rb, line 266 def setup @klass = Class.new @machine = StateMachine::Machine.new(@klass, :initial => :parked) end
test_should_be_included_in_known_states()
click to toggle source
# File test/unit/machine_test.rb, line 319 def test_should_be_included_in_known_states assert_equal [:parked], @machine.states.keys end
test_should_have_an_initial_state()
click to toggle source
# File test/unit/machine_test.rb, line 275 def test_should_have_an_initial_state object = @klass.new assert_equal 'parked', @machine.initial_state(object).value end
test_should_not_have_dynamic_initial_state()
click to toggle source
# File test/unit/machine_test.rb, line 271 def test_should_not_have_dynamic_initial_state assert !@machine.dynamic_initial_state? end
test_should_set_initial_on_state_object()
click to toggle source
# File test/unit/machine_test.rb, line 286 def test_should_set_initial_on_state_object assert @machine.state(:parked).initial end
test_should_set_initial_state_on_created_object()
click to toggle source
# File test/unit/machine_test.rb, line 290 def test_should_set_initial_state_on_created_object assert_equal 'parked', @klass.new.state end
test_should_set_initial_state_prior_to_initialization()
click to toggle source
# File test/unit/machine_test.rb, line 305 def test_should_set_initial_state_prior_to_initialization base = Class.new do attr_accessor :state_on_init def initialize self.state_on_init = state end end klass = Class.new(base) machine = StateMachine::Machine.new(klass, :initial => :parked) assert_equal 'parked', klass.new.state_on_init end
test_should_still_set_initial_state_even_if_not_empty()
click to toggle source
# File test/unit/machine_test.rb, line 294 def test_should_still_set_initial_state_even_if_not_empty @klass.class_eval do def initialize(attributes = {}) self.state = 'idling' super() end end object = @klass.new assert_equal 'parked', object.state end
test_should_write_to_attribute_when_initializing_state()
click to toggle source
# File test/unit/machine_test.rb, line 280 def test_should_write_to_attribute_when_initializing_state object = @klass.allocate @machine.initialize_state(object) assert_equal 'parked', object.state end