Sha256: 49854a02be3757a2449062ae41b54cac855bbc13745906fc99e2d6be89aff555

Contents?: true

Size: 1.31 KB

Versions: 7

Compression:

Stored size: 1.31 KB

Contents

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

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
god-0.13.4 test/test_conditions_tries.rb
god-0.13.3 test/test_conditions_tries.rb
god-0.13.2 test/test_conditions_tries.rb
god-0.13.1 test/test_conditions_tries.rb
god-0.13.0 test/test_conditions_tries.rb
god-0.12.1 test/test_conditions_tries.rb
god-0.12.0 test/test_conditions_tries.rb