Sha256: 857a7b1c568e1f2c3863d7042e4df481feb22cc386d168c08bc745e217b7adb5

Contents?: true

Size: 1.77 KB

Versions: 14

Compression:

Stored size: 1.77 KB

Contents

require_relative '../../test_helper'

class TransitionEqualityTest < StateMachinesTest
  def setup
    @klass = Class.new

    @machine = StateMachines::Machine.new(@klass)
    @machine.state :parked, :idling
    @machine.event :ignite

    @object = @klass.new
    @object.state = 'parked'
    @transition = StateMachines::Transition.new(@object, @machine, :ignite, :parked, :idling)
  end

  def test_should_be_equal_with_same_properties
    transition = StateMachines::Transition.new(@object, @machine, :ignite, :parked, :idling)
    assert_equal transition, @transition
  end

  def test_should_not_be_equal_with_different_machines
    machine = StateMachines::Machine.new(@klass, :status, namespace: :other)
    machine.state :parked, :idling
    machine.event :ignite
    transition = StateMachines::Transition.new(@object, machine, :ignite, :parked, :idling)

    refute_equal transition, @transition
  end

  def test_should_not_be_equal_with_different_objects
    transition = StateMachines::Transition.new(@klass.new, @machine, :ignite, :parked, :idling)
    refute_equal transition, @transition
  end

  def test_should_not_be_equal_with_different_event_names
    @machine.event :park
    transition = StateMachines::Transition.new(@object, @machine, :park, :parked, :idling)
    refute_equal transition, @transition
  end

  def test_should_not_be_equal_with_different_from_state_names
    @machine.state :first_gear
    transition = StateMachines::Transition.new(@object, @machine, :ignite, :first_gear, :idling)
    refute_equal transition, @transition
  end

  def test_should_not_be_equal_with_different_to_state_names
    @machine.state :first_gear
    transition = StateMachines::Transition.new(@object, @machine, :ignite, :idling, :first_gear)
    refute_equal transition, @transition
  end
end

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
state_machines-0.5.0 test/unit/transition/transition_equality_test.rb
solidus_backend-1.0.0.pre3 vendor/bundle/gems/state_machines-0.2.2/test/unit/transition/transition_equality_test.rb
solidus_backend-1.0.0.pre2 vendor/bundle/gems/state_machines-0.2.2/test/unit/transition/transition_equality_test.rb
solidus_backend-1.0.0.pre vendor/bundle/gems/state_machines-0.2.2/test/unit/transition/transition_equality_test.rb
state_machines-0.4.0 test/unit/transition/transition_equality_test.rb
state_machines-0.3.0 test/unit/transition/transition_equality_test.rb
state_machines-0.2.2 test/unit/transition/transition_equality_test.rb
state_machines-0.2.1 test/unit/transition/transition_equality_test.rb
state_machines-0.2.0 test/unit/transition/transition_equality_test.rb
state_machines-0.1.4 test/unit/transition/transition_equality_test.rb
state_machines-0.1.3 test/unit/transition/transition_equality_test.rb
state_machines-0.1.2 test/unit/transition/transition_equality_test.rb
state_machines-0.1.1 test/unit/transition/transition_equality_test.rb
state_machines-0.1.0 test/unit/transition/transition_equality_test.rb