/test/test_conditions_tries.rb
Ruby | 67 lines | 47 code | 15 blank | 5 comment | 0 complexity | 89c766113ec6fde4dee9161ba5898238 MD5 | raw file
Possible License(s): MIT
- require File.dirname(__FILE__) + '/helper'
- class TestConditionsTries < Test::Unit::TestCase
- # valid?
- def test_valid_should_return_false_if_times_not_set
- c = Conditions::Tries.new
- c.watch = stub(:name => 'foo')
- assert !c.valid?
- end
- end
- class TestConditionsTries < Test::Unit::TestCase
- def setup
- @c = Conditions::Tries.new
- @c.times = 3
- @c.prepare
- end
- # prepare
- def test_prepare_should_create_timeline
- assert_equal 3, @c.instance_variable_get(:@timeline).instance_variable_get(:@max_size)
- end
- # test
- def test_test_should_return_true_if_called_three_times_within_one_second
- assert !@c.test
- assert !@c.test
- assert @c.test
- end
- # reset
- def test_test_should_return_false_on_fourth_call_if_called_three_times_within_one_second
- 3.times { @c.test }
- @c.reset
- assert !@c.test
- end
- end
- class TestConditionsTriesWithin < Test::Unit::TestCase
- def setup
- @c = Conditions::Tries.new
- @c.times = 3
- @c.within = 1.seconds
- @c.prepare
- end
- # test
- def test_test_should_return_true_if_called_three_times_within_one_second
- assert !@c.test
- assert !@c.test
- assert @c.test
- end
- def test_test_should_return_false_if_called_three_times_within_two_seconds
- assert !@c.test
- assert !@c.test
- assert sleep(1.1)
- assert !@c.test
- end
- end