1 require File.dirname(__FILE__) + '/helper'
3 class TestTimer < Test::Unit::TestCase
8 def test_new_timer_should_have_no_events
9 assert_equal 0, @t.events.size
12 def test_register_should_queue_event
13 Time.stubs(:now).returns(0)
16 @t.register(w, stub(:interval => 20), nil)
18 assert_equal 1, @t.events.size
19 assert_equal w, @t.events.first.watch
22 def test_timer_should_remove_expired_events
23 @t.register(nil, stub(:interval => 0), nil)
25 assert_equal 0, @t.events.size
28 def test_timer_should_remove_only_expired_events
29 @t.register(nil, stub(:interval => 0), nil)
30 @t.register(nil, stub(:interval => 1000), nil)
32 assert_equal 1, @t.events.size
35 def test_timer_should_sort_timer_events
36 @t.register(nil, stub(:interval => 1000), nil)
37 @t.register(nil, stub(:interval => 800), nil)
38 @t.register(nil, stub(:interval => 900), nil)
39 @t.register(nil, stub(:interval => 100), nil)
41 assert_equal [100, 800, 900, 1000], @t.events.map { |x| x.condition.interval }