# Copyright: Copyright (c) 2004 Nicolas Despres. All rights reserved. # Author: Nicolas Despres . # License: Gnu General Public License. # $LastChangedBy: ertai $ # $Id: queue.rb 53 2004-12-02 22:24:03Z ertai $ require 'thread' class Queue alias put push alias get pop end # class Queue # # Unit test suite # if defined? TEST_MODE or $0 == __FILE__ require 'test/unit/ui/yaml/testrunner' class QueueTest < Test::Unit::TestCase # # tests # def test_simple q = Queue.new thr1 = Thread.new do while q.empty? do end assert_equal(2, q.size) assert_equal(2, q.length) assert_equal('hello', q.get) assert_equal('world', q.get) assert(q.empty?) end thr2 = Thread.new do sleep(0.2) q.put('hello') q.put('world') end thr1.join thr2.join end end # class QueueTest end