Sha256: 39ffdd1657649a9fe7c70661f994c3353c105dcf2027bac903bb802490f5cf6f

Contents?: true

Size: 780 Bytes

Versions: 5

Compression:

Stored size: 780 Bytes

Contents

require 'test_helper'

module Tins
  class LimitedTest < Test::Unit::TestCase
    def test_limited
      count = {}
      limited = Tins::Limited.new(5)
      5.times do
        limited.execute do
          count[Thread.current] = true
          sleep 1
        end
      end
      until count.size >= 5
        sleep 0.1
      end
      assert_equal 5, count.keys.uniq.size
      assert_equal 5, limited.wait.size
    end

    def test_process
      count = {}
      Tins::Limited.new(5).process do |limited|
        5.times do
          limited.execute do
            count[Thread.current] = true
            sleep 1
          end
        end
        until count.size >= 5
          sleep 0.1
        end
        assert_equal 5, count.keys.uniq.size
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
tins-1.37.1 tests/limited_test.rb
tins-1.37.0 tests/limited_test.rb
tins-1.36.1 tests/limited_test.rb
tins-1.36.0 tests/limited_test.rb
tins-1.35.0 tests/limited_test.rb