Sha256: a0068b9d942ae40c95596edb23545201e45b08e69f08f60b345d08e0f1a9a21d
Contents?: true
Size: 1.99 KB
Versions: 1
Compression:
Stored size: 1.99 KB
Contents
require 'test/unit' require 'rubygems' require 'reactor' require 'helpers' require 'dummy_parser' # Test case for the <tt>ChainReaction::Reaction</tt> class. class TestReactor < Test::Unit::TestCase include ChainReactor::TestHelpers def test_address_not_allowed_by_default reactor = ChainReactor::Reactor.new get_logger assert_equal false, reactor.address_allowed?('192.168.0.1') end def test_adding_reaction_makes_address_allowable reactor = ChainReactor::Reactor.new get_logger reactor.add(['127.0.0.1'],{parser: :dummy},Proc.new {}) assert reactor.address_allowed? '127.0.0.1' end def test_react_raises_error reactor = ChainReactor::Reactor.new get_logger assert_raises RuntimeError, 'Address is not allowed' do reactor.react('127.0.0.1',{parser: :dummy}) end end def test_react_calls_block reactor = ChainReactor::Reactor.new get_logger block = Proc.new { |d| 'block has been called' } reactor.add(['127.0.0.1'],{parser: :dummy},block) reactions = reactor.reactions_for('127.0.0.1') reactor.react('127.0.0.1','This is a string') assert_equal 'block has been called', reactions[0].previous_result end def test_react_calls_multiple_blocks reactor = ChainReactor::Reactor.new get_logger block1 = Proc.new { |d| 'block1' } block2 = Proc.new { |d| 'block2' } reactor.add(['127.0.0.1'],{parser: :dummy},block1) reactor.add(['127.0.0.1'],{parser: :dummy},block2) reactor.react('127.0.0.1','This is a string') reactions = reactor.reactions_for('127.0.0.1') assert_equal 'block1', reactions[0].previous_result assert_equal 'block2', reactions[1].previous_result end def test_react_catches_exceptions reactor = ChainReactor::Reactor.new get_logger block = Proc.new { |d| raise 'Block has been called' } reactor.add(['127.0.0.1'],{parser: :dummy},block) reactor.reactions_for('127.0.0.1') assert_nothing_raised do reactor.react('127.0.0.1','This is a string') end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
chain-reactor-0.2.0 | test/test_reactor.rb |