Sha256: 422d70711dc12a343247ca36568e822f8bd975e58f7756129b82a467afb1754a
Contents?: true
Size: 914 Bytes
Versions: 1
Compression:
Stored size: 914 Bytes
Contents
require 'test/unit' require 'mega/coroutine' class TC_Coroutine < Test::Unit::TestCase def test_run assert_nothing_raised { count = 100 input = (1..count).map { (rand * 10000).round.to_f / 100 } @producer = Coroutine.new do |me| loop do 1.upto(6) do me[:last_input] = input.shift me.resume(@printer) end input.shift # discard every seventh input number end end @printer = Coroutine.new do |me| loop do 1.upto(8) do me.resume(@producer) if @producer[:last_input] @producer[:last_input] = nil end me.resume(@controller) end end end @controller = Coroutine.new do |me| until input.empty? do me.resume(@printer) end end @controller.run } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mega-0.3.1 | test/tc_coroutine.rb |