Sha256: 0fdbd087788bb4bfd2023eafc6313275a5118b8a786ac91d53dac5a2114f89e3

Contents?: true

Size: 671 Bytes

Versions: 12

Compression:

Stored size: 671 Bytes

Contents

# encoding: UTF-8

require 'vines'
require 'minitest/autorun'

class TokenBucketTest < MiniTest::Unit::TestCase
  def test_init
    assert_raises(ArgumentError) { Vines::TokenBucket.new(0, 1) }
    assert_raises(ArgumentError) { Vines::TokenBucket.new(1, 0) }
    assert_raises(ArgumentError) { Vines::TokenBucket.new(-1, 1) }
    assert_raises(ArgumentError) { Vines::TokenBucket.new(1, -1) }
  end

  def test_take
    bucket = Vines::TokenBucket.new(10, 1)
    assert_raises(ArgumentError) { bucket.take(-1) }
    assert !bucket.take(11)
    assert bucket.take(10)
    assert !bucket.take(1)
    sleep(1)
    assert bucket.take(1)
    assert !bucket.take(1)
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
vines-0.4.5 test/token_bucket_test.rb
vines-0.4.4 test/token_bucket_test.rb
vines-0.4.3 test/token_bucket_test.rb
vines-0.4.2 test/token_bucket_test.rb
vines-0.4.1 test/token_bucket_test.rb
vines-0.4.0 test/token_bucket_test.rb
vines-0.3.2 test/token_bucket_test.rb
vines-0.3.1 test/token_bucket_test.rb
vines-0.3.0 test/token_bucket_test.rb
vines-0.2.1 test/token_bucket_test.rb
vines-0.2.0 test/token_bucket_test.rb
vines-0.1.1 test/token_bucket_test.rb