Sha256: 2eda411fc466a607714551b49ed7e6327bd5e0df0f59efa2b0e094aa6495905f
Contents?: true
Size: 1.21 KB
Versions: 7
Compression:
Stored size: 1.21 KB
Contents
require File.dirname(__FILE__) + '/helper' class TestTrigger < Test::Unit::TestCase def setup Trigger.reset end # base case def test_should_have_empty_triggers assert_equal({}, Trigger.triggers) end # register def test_register_should_add_condition_to_triggers c = Condition.new c.watch = stub(:name => 'foo') Trigger.register(c) assert_equal({'foo' => [c]}, Trigger.triggers) end def test_register_should_add_condition_to_triggers_twice watch = stub(:name => 'foo') c = Condition.new c.watch = watch Trigger.register(c) c2 = Condition.new c2.watch = watch Trigger.register(c2) assert_equal({'foo' => [c, c2]}, Trigger.triggers) end # deregister def test_deregister_should_remove_condition_from_triggers c = Condition.new c.watch = stub(:name => 'foo') Trigger.register(c) Trigger.deregister(c) assert_equal({}, Trigger.triggers) end # broadcast def test_broadcast_should_call_process_on_each_condition c = Condition.new c.watch = stub(:name => 'foo') Trigger.register(c) c.expects(:process).with(:state_change, [:up, :start]) Trigger.broadcast(c.watch, :state_change, [:up, :start]) end end
Version data entries
7 entries across 7 versions & 1 rubygems