test/unit/pigeon_queue_test.rb in pigeon-0.4.1 vs test/unit/pigeon_queue_test.rb in pigeon-0.4.2

- old
+ new

@@ -2,23 +2,29 @@ class PigeonQueueTest < Test::Unit::TestCase class TaggedTask < Pigeon::Task attr_accessor :tag - def initialize(engine, tag) - super(engine) + def initialize(tag, options = nil) + super(options) @tag = tag end def inspect "<#{@tag}>" end end - def engine - @engine ||= Pigeon::Engine.new + def setup + @engine = Pigeon::Engine.new + + Pigeon::Engine.register_engine(@engine) end + + def teardown + Pigeon::Engine.unregister_engine(@engine) + end def test_empty_state queue = Pigeon::Queue.new assert_equal 0, queue.length @@ -28,11 +34,11 @@ end def test_cycling queue = Pigeon::Queue.new - task = Pigeon::Task.new(engine) + task = Pigeon::Task.new assert_equal task, queue << task assert queue.peek assert_equal 1, queue.length @@ -48,11 +54,11 @@ def test_filtering queue = Pigeon::Queue.new tasks = (0..9).to_a.collect do |n| - queue << TaggedTask.new(engine, n) + queue << TaggedTask.new(n) end assert_equal (0..9).to_a, tasks.to_a.collect(&:tag) assert_equal tasks[0], queue.peek @@ -81,11 +87,11 @@ assert_equal nil, queue.peek(:over_7) assert_equal 0, queue.length(:over_7) assert_equal true, queue.empty?(:over_7) - new_task = queue << TaggedTask.new(engine, 10) + new_task = queue << TaggedTask.new(10) assert_equal new_task, queue.peek(:over_7) assert_equal 1, queue.length(:over_7) assert_equal false, queue.empty?(:over_7) @@ -98,11 +104,11 @@ def test_observe queue = Pigeon::Queue.new tasks = (0..9).to_a.collect do |n| - queue << TaggedTask.new(engine, n) + queue << TaggedTask.new(n) end queue.filter(:odd) do |task| task.tag % 2 == 1 end @@ -119,15 +125,15 @@ queue.observe(:odd) do |task| added_odd = task end - queue << TaggedTask.new(engine, 10) + queue << TaggedTask.new(10) assert_equal nil, added_odd - odd_1 = queue << TaggedTask.new(engine, 11) + odd_1 = queue << TaggedTask.new(11) assert_equal odd_1, added_odd claimed_task = nil has_run = false @@ -142,17 +148,17 @@ assert_equal false, has_run assert_equal nil, claimed_task assert_equal 7, queue.length assert_equal 1, queue.length(:odd) - queue << TaggedTask.new(engine, 12) + queue << TaggedTask.new(12) assert_equal nil, claimed_task assert_equal 8, queue.length assert_equal 1, queue.length(:odd) - odd_2 = queue << TaggedTask.new(engine, 13) + odd_2 = queue << TaggedTask.new(13) # Adding a task that matches the filter triggers the callback. assert_equal odd_2, claimed_task assert_equal true, has_run @@ -160,16 +166,16 @@ queue.pull(:odd) claimed_task = nil has_run = false - queue << TaggedTask.new(engine, 14) + queue << TaggedTask.new(14) assert_equal nil, claimed_task assert_equal false, has_run - odd_2 = queue << TaggedTask.new(engine, 15) + odd_2 = queue << TaggedTask.new(15) assert_equal odd_2, claimed_task assert_equal true, has_run assert_equal 8, queue.length @@ -181,14 +187,14 @@ queue.observe do |task| if (task.tag < 10) queue.claim(task) - queue << TaggedTask.new(engine, task.tag + 1) + queue << TaggedTask.new(task.tag + 1) end end - queue << TaggedTask.new(engine, 0) + queue << TaggedTask.new(0) assert queue.peek assert_equal 10, queue.peek.tag assert_equal 1, queue.length assert queue.peek