diff options
Diffstat (limited to 'Library/Homebrew/test/test_compiler_queue.rb')
| -rw-r--r-- | Library/Homebrew/test/test_compiler_queue.rb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Library/Homebrew/test/test_compiler_queue.rb b/Library/Homebrew/test/test_compiler_queue.rb new file mode 100644 index 000000000..6dee1ab37 --- /dev/null +++ b/Library/Homebrew/test/test_compiler_queue.rb @@ -0,0 +1,38 @@ +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 |
