Sha256: e4eaae17355c2adcda7b3a15c6f57abd9b6b2a7ced41183fd450a569b51f465d

Contents?: true

Size: 836 Bytes

Versions: 4

Compression:

Stored size: 836 Bytes

Contents

# encoding: utf-8

require 'spec_helper'

RSpec.describe FiniteMachine::EventsChain, '.choice_transition?' do

  it "checks if transition has many branches" do
    transition_a = double(:transition_a, matches?: true)
    transition_b = double(:transition_b, matches?: true)

    events_chain = described_class.new
    events_chain.add(:go, transition_a)
    events_chain.add(:go, transition_b)

    expect(events_chain.choice_transition?(:go, :green)).to eq(true)
  end

  it "checks that transition has no branches" do
    transition_a = double(:transition_a, matches?: false)
    transition_b = double(:transition_b, matches?: true)

    events_chain = described_class.new
    events_chain.add(:go, transition_a)
    events_chain.add(:go, transition_b)

    expect(events_chain.choice_transition?(:go, :green)).to eq(false)
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
finite_machine-0.11.3 spec/unit/events_chain/choice_transition_spec.rb
finite_machine-0.11.2 spec/unit/events_chain/choice_transition_spec.rb
finite_machine-0.11.1 spec/unit/events_chain/choice_transition_spec.rb
finite_machine-0.11.0 spec/unit/events_chain/choice_transition_spec.rb