Sha256: 5799cb489d8d23479f06a8c180a72813949f2346abcffe7ce4a1f15b2b1ef511

Contents?: true

Size: 903 Bytes

Versions: 119

Compression:

Stored size: 903 Bytes

Contents

require "#{File.dirname(__FILE__)}/spec_helper"

describe 'Syncronously sending to an Actor' do  
  it 'passes in each message received and preserves order' do
    local do |port, stream, actor|
      unify port, Dataflow::Port.new(stream)
      unify actor, Dataflow::Actor.new { 3.times { port.send receive } }
      actor.send 1
      actor.send 2
      stream.take(2).should == [1, 2]
      actor.send 3
      stream.take(3).should == [1, 2, 3]
    end
  end
end

describe 'Asyncronously sending to an Actor' do
  it 'passes in each message received and preserves order' do
    local do |port, stream, actor|
      unify port, Dataflow::Port.new(stream)
      unify actor, Dataflow::Actor.new { 3.times { port.send receive } }
      Thread.new {actor.send 2}
      Thread.new {actor.send 8}
      Thread.new {actor.send 1024}
      stream.take(3).sort.should == [2, 8, 1024]      
    end
  end
end

Version data entries

119 entries across 119 versions & 3 rubygems

Version Path
engineyard-serverside-2.0.4 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-1.6.5 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-2.0.3 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-2.0.2 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-2.0.1 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-2.0.0 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-2.0.0.rc1 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-2.0.0.pre5 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-2.0.0.pre4 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-2.0.0.pre3 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-2.0.0.pre2 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-2.0.0.pre1 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-1.7.0.pre2 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-1.6.4 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-1.6.4.pre6 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-1.6.4.pre5 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-1.6.4.pre4 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-1.6.4.pre3 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-1.6.4.pre2 lib/vendor/dataflow/spec/actor_spec.rb
engineyard-serverside-1.6.4.pre lib/vendor/dataflow/spec/actor_spec.rb