Sha256: 14b3be9f816e8de492960eb675b249c9c307bfcb471ec5ce3a6464d7dd60195d
Contents?: true
Size: 1.43 KB
Versions: 4
Compression:
Stored size: 1.43 KB
Contents
#-- # ============================================================================= # Copyright (c) 2004, Jamis Buck (jgb3@email.byu.edu) # All rights reserved. # # This source file is distributed as part of the Needle dependency injection # library for Ruby. This file (and the library as a whole) may be used only as # allowed by either the BSD license, or the Ruby license (or, by association # with the Ruby license, the GPL). See the "doc" subdirectory of the Needle # distribution for the texts of these licenses. # ----------------------------------------------------------------------------- # needle website : http://needle.rubyforge.org # project website: http://rubyforge.org/projects/needle # ============================================================================= #++ $:.unshift "../../lib" require "needle/lifecycle/threaded" require "test/unit" class TC_Lifecycle_Threaded < Test::Unit::TestCase def setup mock = Struct.new( :fullname ).new( "test" ) @counter = 0 @element = Needle::Lifecycle::Threaded.new( mock ) @element.succ = Proc.new { @counter += 1 } end def test_single_thread @element.call @element.call @element.call assert_equal 1, @counter end def test_multi_thread threads = [] threads << Thread.new { @element.call } threads << Thread.new { @element.call } threads << Thread.new { @element.call } threads.each { |t| t.join } assert_equal 3, @counter end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
needle-0.9.0 | test/lifecycle/tc_threaded.rb |
needle-1.0.0 | test/lifecycle/tc_threaded.rb |
needle-1.1.0 | test/lifecycle/tc_threaded.rb |
needle-0.6.0 | test/lifecycle/tc_threaded.rb |