Sha256: 70bc777346dcf91bd785410add8d0ad46112621982a6b37ea86a3b62f0d0185e

Contents?: true

Size: 1.01 KB

Versions: 6

Compression:

Stored size: 1.01 KB

Contents

require 'integration_helper'

module GameMachine
  describe "basic" do 
    let(:client) {Client.new(:seed01)}

    describe "sending messages to remote actors" do
      it "distributed messaging should return answer" do
         e = entity.clone
        10.times do |i|
          ref = GameSystems::LocalEcho.find_distributed(i.to_s, 'DistributedLocalEcho')
          returned_entity = ref.send_message(e, :blocking => true, :timeout => 1000)
          returned_entity.get_id.should == e.id
        end
      end
    end

    describe "stress test" do
      it "distributed stress" do
        e = entity.clone
        measure(10,100000) do
          Thread.current['ref'] ||= GameSystems::LocalEcho.find_distributed(rand(100).to_s,'DistributedLocalEcho')
          returned_entity = Thread.current['ref'].send_message(e, :blocking => true, :timeout => 1000)
          if returned_entity 
            returned_entity.id.should == e.id
          else
            puts 'Timeout'
          end
        end
      end
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
game_machine-1.0.4 integration_tests/distributed_spec.rb
game_machine-1.0.2 integration_tests/distributed_spec.rb
game_machine-0.0.11 integration_tests/distributed_spec.rb
game_machine-0.0.10 integration_tests/distributed_spec.rb
game_machine-0.0.9 integration_tests/distributed_spec.rb
game_machine-0.0.8 integration_tests/distributed_spec.rb