Class: TestFiber
- Defined in:
- lib/ruby19/tmm1-fiber18-a37a4c3/test/test_fiber.rb
Instance Method Summary collapse
Instance Method Details
#test_many_fibers ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/ruby19/tmm1-fiber18-a37a4c3/test/test_fiber.rb', line 31 def test_many_fibers max = 10000 assert_equal(max, max.times{ Fiber.new{} }) assert_equal(max, max.times{|i| Fiber.new{ }.resume } ) end |
#test_normal ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/ruby19/tmm1-fiber18-a37a4c3/test/test_fiber.rb', line 6 def test_normal f = Fiber.current assert_equal(:ok2, Fiber.new{|e| assert_equal(:ok1, e) Fiber.yield :ok2 }.resume(:ok1) ) assert_equal([:a, :b], Fiber.new{|a, b| [a, b]}.resume(:a, :b)) end |
#test_term ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/ruby19/tmm1-fiber18-a37a4c3/test/test_fiber.rb', line 17 def test_term assert_equal(:ok, Fiber.new{:ok}.resume) assert_equal([:a, :b, :c, :d, :e], Fiber.new{ Fiber.new{ Fiber.new{ Fiber.new{ [:a] }.resume + [:b] }.resume + [:c] }.resume + [:d] }.resume + [:e]) end |