class TransitionCollectionTest

Public Instance Methods

test_should_raise_exception_if_invalid_option_specified() click to toggle source
# File test/unit/transition_collection_test.rb, line 4
def test_should_raise_exception_if_invalid_option_specified
  exception = assert_raise(ArgumentError) {StateMachine::TransitionCollection.new([], :invalid => true)}
  
end
test_should_raise_exception_if_multiple_transitions_for_same_attribute_specified() click to toggle source
# File test/unit/transition_collection_test.rb, line 9
def test_should_raise_exception_if_multiple_transitions_for_same_attribute_specified
  @klass = Class.new
  
  @machine = StateMachine::Machine.new(@klass, :initial => :parked)
  @machine.state :parked, :idling
  @machine.event :ignite
  
  @object = @klass.new
  
  exception = assert_raise(ArgumentError) do
    StateMachine::TransitionCollection.new([
      StateMachine::Transition.new(@object, @machine, :ignite, :parked, :idling),
      StateMachine::Transition.new(@object, @machine, :ignite, :parked, :idling)
    ])
  end
  assert_equal 'Cannot perform multiple transitions in parallel for the same state machine attribute', exception.message
end