brew/Library/Homebrew/test/test_compiler_queue.rb

39 lines
771 B
Ruby
Raw Normal View History

require 'testing_env'
require 'compilers'
class CompilerQueueTests < Test::Unit::TestCase
FakeCompiler = Struct.new(:name, :priority)
def setup
@q = CompilerQueue.new
end
def test_shovel_returns_self
assert_same @q, (@q << Object.new)
end
def test_empty
assert @q.empty?
end
def test_queues_items
a = FakeCompiler.new(:foo, 0)
b = FakeCompiler.new(:bar, 0)
@q << a << b
assert_equal a, @q.pop
assert_equal b, @q.pop
assert_nil @q.pop
end
def test_pops_items_by_priority
a = FakeCompiler.new(:foo, 0)
b = FakeCompiler.new(:bar, 0.5)
c = FakeCompiler.new(:baz, 1)
@q << a << b << c
assert_equal c, @q.pop
assert_equal b, @q.pop
assert_equal a, @q.pop
assert_nil @q.pop
end
end