Sha256: 138a67a1792d2b3cbee1b6d23ebf4b1caa648ba4792d89ed087270ae5e6af0e4

Contents?: true

Size: 1.18 KB

Versions: 14

Compression:

Stored size: 1.18 KB

Contents

require_relative '../../test_helper'

class MachineWithExistingMachinesWithSameAttributesOnOwnerSubclassTest < StateMachinesTest
  def setup
    @klass = Class.new
    @machine = StateMachines::Machine.new(@klass, initial: :parked)
    @second_machine = StateMachines::Machine.new(@klass, :public_state, initial: :idling, attribute: :state)

    @subclass = Class.new(@klass)
    @object = @subclass.new
  end

  def test_should_not_copy_sibling_machines_to_subclass_after_initialization
    @subclass.state_machine(:state) {}
    assert_equal @klass.state_machine(:public_state), @subclass.state_machine(:public_state)
  end

  def test_should_copy_sibling_machines_to_subclass_after_new_state
    subclass_machine = @subclass.state_machine(:state) {}
    subclass_machine.state :first_gear
    refute_equal @klass.state_machine(:public_state), @subclass.state_machine(:public_state)
  end

  def test_should_copy_new_states_to_sibling_machines
    subclass_machine = @subclass.state_machine(:state) {}
    @first_gear = subclass_machine.state :first_gear

    second_subclass_machine = @subclass.state_machine(:public_state)
    assert_equal @first_gear, second_subclass_machine.state(:first_gear)
  end
end

Version data entries

14 entries across 14 versions & 2 rubygems

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