1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
|
require File.join(File.dirname(__FILE__), "acceptance_test_helper")
require 'mocha'
class ParameterMatcherTest < Test::Unit::TestCase
include AcceptanceTest
def setup
setup_acceptance_test
end
def teardown
teardown_acceptance_test
end
def test_should_match_hash_parameter_with_specified_key
test_result = run_test do
mock = mock()
mock.expects(:method).with(has_key(:key_1))
mock.method(:key_1 => 'value_1', :key_2 => 'value_2')
end
assert_passed(test_result)
end
def test_should_not_match_hash_parameter_with_specified_key
test_result = run_test do
mock = mock()
mock.expects(:method).with(has_key(:key_1))
mock.method(:key_2 => 'value_2')
end
assert_failed(test_result)
end
def test_should_match_hash_parameter_with_specified_value
test_result = run_test do
mock = mock()
mock.expects(:method).with(has_value('value_1'))
mock.method(:key_1 => 'value_1', :key_2 => 'value_2')
end
assert_passed(test_result)
end
def test_should_not_match_hash_parameter_with_specified_value
test_result = run_test do
mock = mock()
mock.expects(:method).with(has_value('value_1'))
mock.method(:key_2 => 'value_2')
end
assert_failed(test_result)
end
def test_should_match_hash_parameter_with_specified_key_value_pair
test_result = run_test do
mock = mock()
mock.expects(:method).with(has_entry(:key_1, 'value_1'))
mock.method(:key_1 => 'value_1', :key_2 => 'value_2')
end
assert_passed(test_result)
end
def test_should_not_match_hash_parameter_with_specified_key_value_pair
test_result = run_test do
mock = mock()
mock.expects(:method).with(has_entry(:key_1, 'value_2'))
mock.method(:key_1 => 'value_1', :key_2 => 'value_2')
end
assert_failed(test_result)
end
def test_should_match_hash_parameter_with_specified_hash_entry
test_result = run_test do
mock = mock()
mock.expects(:method).with(has_entry(:key_1 => 'value_1'))
mock.method(:key_1 => 'value_1', :key_2 => 'value_2')
end
assert_passed(test_result)
end
def test_should_not_match_hash_parameter_with_specified_hash_entry
test_result = run_test do
mock = mock()
mock.expects(:method).with(has_entry(:key_1 => 'value_2'))
mock.method(:key_1 => 'value_1', :key_2 => 'value_2')
end
assert_failed(test_result)
end
def test_should_match_hash_parameter_with_specified_entries
test_result = run_test do
mock = mock()
mock.expects(:method).with(has_entries(:key_1 => 'value_1', :key_2 => 'value_2'))
mock.method(:key_1 => 'value_1', :key_2 => 'value_2', :key_3 => 'value_3')
end
assert_passed(test_result)
end
def test_should_not_match_hash_parameter_with_specified_entries
test_result = run_test do
mock = mock()
mock.expects(:method).with(has_entries(:key_1 => 'value_1', :key_2 => 'value_2'))
mock.method(:key_1 => 'value_1', :key_2 => 'value_3')
end
assert_failed(test_result)
end
def test_should_match_parameter_that_matches_regular_expression
test_result = run_test do
mock = mock()
mock.expects(:method).with(regexp_matches(/meter/))
mock.method('this parameter should match')
end
assert_passed(test_result)
end
def test_should_not_match_parameter_that_does_not_match_regular_expression
test_result = run_test do
mock = mock()
mock.expects(:method).with(regexp_matches(/something different/))
mock.method('this parameter should not match')
end
assert_failed(test_result)
end
def test_should_match_hash_parameter_with_specified_entries_using_nested_matchers
test_result = run_test do
mock = mock()
mock.expects(:method).with(has_entries(:key_1 => regexp_matches(/value_1/), kind_of(Symbol) => 'value_2'))
mock.method(:key_1 => 'value_1', :key_2 => 'value_2', :key_3 => 'value_3')
end
assert_passed(test_result)
end
def test_should_not_match_hash_parameter_with_specified_entries_using_nested_matchers
test_result = run_test do
mock = mock()
mock.expects(:method).with(has_entries(:key_1 => regexp_matches(/value_1/), kind_of(String) => 'value_2'))
mock.method(:key_1 => 'value_2', :key_2 => 'value_3')
end
assert_failed(test_result)
end
def test_should_match_parameter_that_matches_any_value
test_result = run_test do
mock = mock()
mock.expects(:method).with(any_of('value_1', 'value_2')).times(2)
mock.method('value_1')
mock.method('value_2')
end
assert_passed(test_result)
end
def test_should_not_match_parameter_that_does_not_match_any_value
test_result = run_test do
mock = mock()
mock.expects(:method).with(any_of('value_1', 'value_2'))
mock.method('value_3')
end
assert_failed(test_result)
end
def test_should_match_parameter_that_matches_all_values
test_result = run_test do
mock = mock()
mock.expects(:method).with(all_of('value_1', 'value_1'))
mock.method('value_1')
end
assert_passed(test_result)
end
def test_should_not_match_parameter_that_does_not_match_all_values
test_result = run_test do
mock = mock()
mock.expects(:method).with(all_of('value_1', 'value_2'))
mock.method('value_1')
end
assert_failed(test_result)
end
end
|