class PathWithAvailableTransitionsAfterReachingTargetTest

Public Instance Methods

setup() click to toggle source
# File test/unit/path_test.rb, line 363
def setup
  @klass = Class.new
  @machine = StateMachine::Machine.new(@klass)
  @machine.state :parked, :idling
  @machine.event :ignite do
    transition :parked => :idling
  end
  @machine.event :shift_up do
    transition :parked => :first_gear
  end
  @machine.event :park do
    transition [:idling, :first_gear] => :parked
  end
  
  @object = @klass.new
  @object.state = 'parked'
  
  @path = StateMachine::Path.new(@object, @machine, :target => :parked)
  @path.concat([
    @ignite_transition = StateMachine::Transition.new(@object, @machine, :ignite, :parked, :idling),
    @park_transition = StateMachine::Transition.new(@object, @machine, :park, :idling, :parked)
  ])
end
test_should_be_able_to_walk() click to toggle source
# File test/unit/path_test.rb, line 391
def test_should_be_able_to_walk
  paths = []
  @path.walk {|path| paths << path}
  assert_equal [
    [@ignite_transition, @park_transition, StateMachine::Transition.new(@object, @machine, :shift_up, :parked, :first_gear)]
  ], paths
end
test_should_be_complete() click to toggle source
# File test/unit/path_test.rb, line 387
def test_should_be_complete
  assert_equal true, @path.complete?
end