Sha256: 5e6a8a1cf91f12e30669b7fe2e1289d305964eec924b27e42bb71ed3c23a6855

Contents?: true

Size: 1.37 KB

Versions: 1

Compression:

Stored size: 1.37 KB

Contents

#
# Testing OpenWFE
#
# John Mettraux at openwfe.org
#
# Sun Oct 29 15:41:44 JST 2006
#
# Kita Yokohama
#

require 'rubygems'

require 'test/unit'

require 'openwfe/engine/engine'
require 'openwfe/def'
require 'openwfe/participants/storeparticipants'


class ConcurrenceAndParticipantTest < Test::Unit::TestCase

    def setup
        @engine = OpenWFE::Engine.new({ 
            :definition_in_launchitem_allowed => true })
    end

    #def teardown
    #end

    #
    # concurrence test

    class Hpc0 < OpenWFE::ProcessDefinition
        concurrence do
            #participant :alice
            #participant :bob
            alice
            bob
        end
    end

    def test_hpc_0

        @hpAlice = OpenWFE::HashParticipant.new
        @hpBob = OpenWFE::HashParticipant.new

        @engine.register_participant :alice, @hpAlice
        @engine.register_participant :bob, @hpBob

        @engine.launch Hpc0

        sleep 0.100

        assert_equal @hpAlice.size, 1
        assert_equal @hpBob.size, 1
    end

    def test_1

        @engine.register_participant :alice do |workitem|
            puts "alice in"
            sleep 0.100
            puts "alice out"
        end
        @engine.register_participant :bob do |workitem|
            puts "bob in"
            sleep 0.100
            puts "bob out"
        end

        @engine.launch Hpc0

        sleep 2
    end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruote-0.9.18 test/concurrence_test.rb