class MachineWithoutInitializationTest

Public Class Methods

new(attributes = {}) click to toggle source
Calls superclass method
# File test/unit/machine_test.rb, line 237
def initialize(attributes = {})
  attributes.each {|attr, value| send("#{attr}=", value)}
  super()
end

Public Instance Methods

setup() click to toggle source
# File test/unit/machine_test.rb, line 235
def setup
  @klass = Class.new do
    def initialize(attributes = {})
      attributes.each {|attr, value| send("#{attr}=", value)}
      super()
    end
  end
  
  @machine = StateMachine::Machine.new(@klass, :initial => :parked, :initialize => false)
end
test_should_not_have_an_initial_state() click to toggle source
# File test/unit/machine_test.rb, line 246
def test_should_not_have_an_initial_state
  object = @klass.new
  assert_nil object.state
end
test_should_still_allow_manual_initialization() click to toggle source
# File test/unit/machine_test.rb, line 251
def test_should_still_allow_manual_initialization
  @klass.class_eval do
    def initialize(attributes = {})
      attributes.each {|attr, value| send("#{attr}=", value)}
      super()
      initialize_state_machines
    end
  end
  
  object = @klass.new
  assert_equal 'parked', object.state
end