Sha256: 3bbea92fc4ac6ccc88fea416971a369977090f0d3bfeb90cbafac30c8a4140b2

Contents?: true

Size: 870 Bytes

Versions: 8

Compression:

Stored size: 870 Bytes

Contents

# frozen_string_literal: true

RSpec.describe Mutant::Actor::Sender do
  let(:object) { described_class.new(condition_variable, mutex, messages) }

  let(:condition_variable) { instance_double(ConditionVariable) }
  let(:mutex)              { instance_double(Mutex)             }
  let(:messages)           { instance_double(Array)             }
  let(:type)               { instance_double(Symbol)            }
  let(:payload)            { instance_double(Object)            }
  let(:_message)           { message(type, payload)             }

  describe '#call' do
    subject { object.call(_message) }

    before do
      expect(mutex).to receive(:synchronize).ordered.and_yield
      expect(messages).to receive(:<<).with(_message).ordered
      expect(condition_variable).to receive(:signal).ordered
    end

    it_should_behave_like 'a command method'
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
mutant-0.8.24 spec/unit/mutant/actor/sender_spec.rb
mutant-0.8.23 spec/unit/mutant/actor/sender_spec.rb
mutant-0.8.22 spec/unit/mutant/actor/sender_spec.rb
mutant-0.8.21 spec/unit/mutant/actor/sender_spec.rb
mutant-0.8.20 spec/unit/mutant/actor/sender_spec.rb
mutant-0.8.19 spec/unit/mutant/actor/sender_spec.rb
mutant-0.8.18 spec/unit/mutant/actor/sender_spec.rb
mutant-0.8.17 spec/unit/mutant/actor/sender_spec.rb