Sha256: 3c6254e2c6dcfdb5e02555db4de0d5bf33c60eb8e2602a7e6b8e6cb586e0cdd4

Contents?: true

Size: 1.27 KB

Versions: 3

Compression:

Stored size: 1.27 KB

Contents

require 'test_helper'

class TransitionTest < Test::Unit::TestCase
  context 'Initializer' do
    
    
    should 'require name, from and to' do
      bli_state = FSM::State.new('bli')
      blo_state = FSM::State.new('blo')
      assert_raise(ArgumentError) do
        FSM::Transition.new(nil, nil, nil)
      end
      assert_raise(ArgumentError) do
        FSM::Transition.new(:name, nil, nil)
      end
      assert_raise(ArgumentError) do
        FSM::Transition.new(nil, bli_state, nil)
      end
      assert_raise(ArgumentError) do
        FSM::Transition.new(nil, nil, blo_state)
      end
      assert_raise(ArgumentError) do
        FSM::Transition.new(:name, bli_state, nil)
      end
      assert_raise(ArgumentError) do
        FSM::Transition.new(nil, blo_state, blo_state)
      end
      assert_raise(ArgumentError) do
        FSM::Transition.new(:name, nil, bli_state)
      end
      
      FSM::Transition.new(:name, bli_state, blo_state)
    end
    
    should 'allow only valid options' do
      bli_state = FSM::State.new('bli')
      blo_state = FSM::State.new('blo')
      assert_raise(ArgumentError) do
        FSM::Transition.new(:name, bli_state, blo_state, :foo => 12)
      end
      FSM::Transition.new(:name, bli_state, blo_state, :event => :some)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
simplificator-fsm-0.2.2 test/transition_test.rb
simplificator-fsm-0.2.3 test/transition_test.rb
simplificator-fsm-0.2.4 test/transition_test.rb