mocha 0.10.5 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. data/COPYING.rdoc +1 -1
  2. data/README.rdoc +6 -4
  3. data/RELEASE.rdoc +12 -0
  4. data/Rakefile +29 -60
  5. data/doc/Mocha.html +112 -0
  6. data/doc/Mocha/API.html +898 -0
  7. data/doc/Mocha/ClassMethods.html +246 -0
  8. data/doc/Mocha/Configuration.html +471 -0
  9. data/doc/Mocha/Expectation.html +2570 -0
  10. data/doc/Mocha/Mock.html +830 -0
  11. data/doc/Mocha/ObjectMethods.html +668 -0
  12. data/doc/Mocha/ParameterMatchers.html +2715 -0
  13. data/doc/Mocha/ParameterMatchers/AllOf.html +137 -0
  14. data/doc/Mocha/ParameterMatchers/AnyOf.html +137 -0
  15. data/doc/Mocha/ParameterMatchers/AnyParameters.html +136 -0
  16. data/doc/Mocha/ParameterMatchers/Anything.html +136 -0
  17. data/doc/Mocha/ParameterMatchers/Base.html +419 -0
  18. data/doc/Mocha/ParameterMatchers/Equals.html +137 -0
  19. data/doc/Mocha/ParameterMatchers/HasEntries.html +137 -0
  20. data/doc/Mocha/ParameterMatchers/HasEntry.html +137 -0
  21. data/doc/Mocha/ParameterMatchers/HasKey.html +137 -0
  22. data/doc/Mocha/ParameterMatchers/HasValue.html +137 -0
  23. data/doc/Mocha/ParameterMatchers/Includes.html +137 -0
  24. data/doc/Mocha/ParameterMatchers/InstanceOf.html +137 -0
  25. data/doc/Mocha/ParameterMatchers/IsA.html +136 -0
  26. data/doc/Mocha/ParameterMatchers/KindOf.html +137 -0
  27. data/doc/Mocha/ParameterMatchers/Not.html +137 -0
  28. data/doc/Mocha/ParameterMatchers/Optionally.html +136 -0
  29. data/doc/Mocha/ParameterMatchers/QueryStringMatches.html +136 -0
  30. data/doc/Mocha/ParameterMatchers/RegexpMatches.html +137 -0
  31. data/doc/Mocha/ParameterMatchers/RespondsWith.html +137 -0
  32. data/doc/Mocha/ParameterMatchers/YamlEquivalent.html +137 -0
  33. data/doc/Mocha/Sequence.html +133 -0
  34. data/doc/Mocha/StateMachine.html +510 -0
  35. data/doc/Mocha/StateMachine/State.html +125 -0
  36. data/doc/Mocha/StateMachine/StatePredicate.html +125 -0
  37. data/doc/Mocha/StubbingError.html +134 -0
  38. data/doc/Mocha/UnexpectedInvocation.html +124 -0
  39. data/doc/_index.html +481 -0
  40. data/doc/class_list.html +47 -0
  41. data/doc/css/common.css +1 -0
  42. data/doc/css/full_list.css +55 -0
  43. data/doc/css/style.css +322 -0
  44. data/doc/file.COPYING.html +72 -0
  45. data/doc/file.MIT-LICENSE.html +86 -0
  46. data/doc/file.README.html +153 -0
  47. data/doc/file.RELEASE.html +933 -0
  48. data/doc/file.misc.html +108 -0
  49. data/doc/file.mocha.html +90 -0
  50. data/doc/file.stubba.html +129 -0
  51. data/doc/file_list.html +67 -0
  52. data/doc/frames.html +13 -0
  53. data/doc/index.html +153 -0
  54. data/doc/js/app.js +205 -0
  55. data/doc/js/full_list.js +173 -0
  56. data/doc/js/jquery.js +16 -0
  57. data/doc/method_list.html +510 -0
  58. data/doc/top-level-namespace.html +105 -0
  59. data/lib/mocha/any_instance_method.rb +16 -11
  60. data/lib/mocha/api.rb +120 -106
  61. data/lib/mocha/argument_iterator.rb +6 -6
  62. data/lib/mocha/backtrace_filter.rb +1 -1
  63. data/lib/mocha/cardinality.rb +21 -21
  64. data/lib/mocha/central.rb +8 -8
  65. data/lib/mocha/change_state_side_effect.rb +5 -5
  66. data/lib/mocha/class_method.rb +14 -19
  67. data/lib/mocha/configuration.rb +47 -37
  68. data/lib/mocha/deprecation.rb +8 -8
  69. data/lib/mocha/exception_raiser.rb +7 -7
  70. data/lib/mocha/expectation.rb +173 -77
  71. data/lib/mocha/expectation_error.rb +2 -2
  72. data/lib/mocha/expectation_list.rb +11 -11
  73. data/lib/mocha/in_state_ordering_constraint.rb +5 -5
  74. data/lib/mocha/inspect.rb +8 -8
  75. data/lib/mocha/instance_method.rb +1 -17
  76. data/lib/mocha/integration.rb +9 -9
  77. data/lib/mocha/integration/mini_test/assertion_counter.rb +9 -9
  78. data/lib/mocha/integration/mini_test/exception_translation.rb +6 -6
  79. data/lib/mocha/integration/mini_test/version_13.rb +6 -6
  80. data/lib/mocha/integration/mini_test/version_140.rb +6 -6
  81. data/lib/mocha/integration/mini_test/version_141.rb +6 -6
  82. data/lib/mocha/integration/mini_test/version_142_to_172.rb +7 -7
  83. data/lib/mocha/integration/mini_test/version_200.rb +7 -7
  84. data/lib/mocha/integration/test_unit/assertion_counter.rb +10 -10
  85. data/lib/mocha/integration/test_unit/gem_version_200.rb +6 -6
  86. data/lib/mocha/integration/test_unit/gem_version_201_to_202.rb +6 -6
  87. data/lib/mocha/integration/test_unit/ruby_version_185_and_below.rb +6 -6
  88. data/lib/mocha/integration/test_unit/ruby_version_186_and_above.rb +6 -6
  89. data/lib/mocha/is_a.rb +1 -1
  90. data/lib/mocha/logger.rb +6 -6
  91. data/lib/mocha/method_matcher.rb +7 -7
  92. data/lib/mocha/mock.rb +85 -48
  93. data/lib/mocha/mockery.rb +47 -33
  94. data/lib/mocha/module_method.rb +2 -2
  95. data/lib/mocha/multiple_yields.rb +9 -9
  96. data/lib/mocha/names.rb +18 -18
  97. data/lib/mocha/no_yields.rb +7 -7
  98. data/lib/mocha/object.rb +104 -75
  99. data/lib/mocha/parameter_matchers.rb +3 -3
  100. data/lib/mocha/parameter_matchers/all_of.rb +22 -12
  101. data/lib/mocha/parameter_matchers/any_of.rb +23 -12
  102. data/lib/mocha/parameter_matchers/any_parameters.rb +15 -8
  103. data/lib/mocha/parameter_matchers/anything.rb +20 -11
  104. data/lib/mocha/parameter_matchers/base.rb +35 -27
  105. data/lib/mocha/parameter_matchers/equals.rb +23 -12
  106. data/lib/mocha/parameter_matchers/has_entries.rb +22 -12
  107. data/lib/mocha/parameter_matchers/has_entry.rb +31 -13
  108. data/lib/mocha/parameter_matchers/has_key.rb +21 -11
  109. data/lib/mocha/parameter_matchers/has_value.rb +21 -11
  110. data/lib/mocha/parameter_matchers/includes.rb +15 -5
  111. data/lib/mocha/parameter_matchers/instance_of.rb +23 -12
  112. data/lib/mocha/parameter_matchers/is_a.rb +23 -12
  113. data/lib/mocha/parameter_matchers/kind_of.rb +23 -12
  114. data/lib/mocha/parameter_matchers/not.rb +22 -12
  115. data/lib/mocha/parameter_matchers/object.rb +5 -3
  116. data/lib/mocha/parameter_matchers/optionally.rb +24 -12
  117. data/lib/mocha/parameter_matchers/query_string.rb +14 -3
  118. data/lib/mocha/parameter_matchers/regexp_matches.rb +21 -11
  119. data/lib/mocha/parameter_matchers/responds_with.rb +17 -6
  120. data/lib/mocha/parameter_matchers/yaml_equivalent.rb +16 -6
  121. data/lib/mocha/parameters_matcher.rb +8 -8
  122. data/lib/mocha/pretty_parameters.rb +7 -7
  123. data/lib/mocha/return_values.rb +11 -11
  124. data/lib/mocha/sequence.rb +23 -14
  125. data/lib/mocha/single_return_value.rb +7 -7
  126. data/lib/mocha/single_yield.rb +9 -9
  127. data/lib/mocha/standalone.rb +1 -1
  128. data/lib/mocha/state_machine.rb +61 -46
  129. data/lib/mocha/stubbing_error.rb +8 -5
  130. data/lib/mocha/thrower.rb +2 -2
  131. data/lib/mocha/unexpected_invocation.rb +9 -6
  132. data/lib/mocha/version.rb +1 -1
  133. data/lib/mocha/yield_parameters.rb +10 -10
  134. data/lib/mocha_standalone.rb +1 -1
  135. data/mocha.gemspec +4 -7
  136. data/test/acceptance/acceptance_test_helper.rb +10 -10
  137. data/test/acceptance/api_test.rb +20 -20
  138. data/test/acceptance/bug_18914_test.rb +12 -12
  139. data/test/acceptance/bug_21465_test.rb +6 -6
  140. data/test/acceptance/bug_21563_test.rb +5 -5
  141. data/test/acceptance/exception_rescue_test.rb +1 -1
  142. data/test/acceptance/expected_invocation_count_test.rb +17 -17
  143. data/test/acceptance/failure_messages_test.rb +13 -13
  144. data/test/acceptance/minitest_test.rb +39 -39
  145. data/test/acceptance/mocha_example_test.rb +26 -26
  146. data/test/acceptance/mocha_test_result_test.rb +13 -13
  147. data/test/acceptance/mock_test.rb +5 -5
  148. data/test/acceptance/mock_with_initializer_block_test.rb +5 -5
  149. data/test/acceptance/mocked_methods_dispatch_test.rb +4 -4
  150. data/test/acceptance/multiple_expectations_failure_message_test.rb +2 -2
  151. data/test/acceptance/optional_parameters_test.rb +5 -5
  152. data/test/acceptance/parameter_matcher_test.rb +18 -18
  153. data/test/acceptance/partial_mocks_test.rb +9 -9
  154. data/test/acceptance/raise_exception_test.rb +1 -1
  155. data/test/acceptance/return_value_test.rb +5 -5
  156. data/test/acceptance/sequence_test.rb +29 -29
  157. data/test/acceptance/states_test.rb +17 -17
  158. data/test/acceptance/stub_any_instance_method_test.rb +13 -13
  159. data/test/acceptance/stub_class_method_defined_on_active_record_association_proxy_test.rb +7 -7
  160. data/test/acceptance/stub_everything_test.rb +5 -5
  161. data/test/acceptance/stub_instance_method_defined_on_singleton_class_test.rb +1 -1
  162. data/test/acceptance/stub_module_method_test.rb +17 -17
  163. data/test/acceptance/stub_test.rb +5 -5
  164. data/test/acceptance/stubba_example_test.rb +24 -24
  165. data/test/acceptance/stubba_test_result_test.rb +11 -11
  166. data/test/acceptance/stubbing_error_backtrace_test.rb +6 -6
  167. data/test/acceptance/stubbing_frozen_object_test.rb +88 -0
  168. data/test/acceptance/stubbing_method_unnecessarily_test.rb +9 -9
  169. data/test/acceptance/stubbing_nil_test.rb +59 -0
  170. data/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +13 -13
  171. data/test/acceptance/stubbing_non_existent_class_method_test.rb +15 -15
  172. data/test/acceptance/stubbing_non_existent_instance_method_test.rb +14 -14
  173. data/test/acceptance/stubbing_non_public_any_instance_method_test.rb +13 -13
  174. data/test/acceptance/stubbing_non_public_class_method_test.rb +12 -12
  175. data/test/acceptance/stubbing_non_public_instance_method_test.rb +12 -12
  176. data/test/acceptance/stubbing_on_non_mock_object_test.rb +9 -9
  177. data/test/acceptance/stubbing_same_class_method_on_parent_and_child_classes_test.rb +35 -0
  178. data/test/acceptance/throw_test.rb +1 -1
  179. data/test/deprecation_disabler.rb +1 -1
  180. data/test/execution_point.rb +7 -7
  181. data/test/method_definer.rb +1 -1
  182. data/test/mini_test_result.rb +21 -21
  183. data/test/simple_counter.rb +5 -5
  184. data/test/test_helper.rb +1 -1
  185. data/test/test_runner.rb +22 -24
  186. data/test/test_unit_result.rb +20 -0
  187. data/test/unit/any_instance_method_test.rb +28 -32
  188. data/test/unit/array_inspect_test.rb +3 -3
  189. data/test/unit/backtrace_filter_test.rb +3 -3
  190. data/test/unit/cardinality_test.rb +12 -12
  191. data/test/unit/central_test.rb +18 -18
  192. data/test/unit/change_state_side_effect_test.rb +12 -12
  193. data/test/unit/class_method_test.rb +33 -91
  194. data/test/unit/date_time_inspect_test.rb +4 -4
  195. data/test/unit/exception_raiser_test.rb +5 -5
  196. data/test/unit/expectation_list_test.rb +7 -7
  197. data/test/unit/expectation_test.rb +66 -66
  198. data/test/unit/hash_inspect_test.rb +4 -4
  199. data/test/unit/in_state_ordering_constraint_test.rb +13 -13
  200. data/test/unit/method_matcher_test.rb +3 -3
  201. data/test/unit/mock_test.rb +40 -40
  202. data/test/unit/mockery_test.rb +25 -25
  203. data/test/unit/multiple_yields_test.rb +2 -2
  204. data/test/unit/no_yields_test.rb +2 -2
  205. data/test/unit/object_inspect_test.rb +4 -4
  206. data/test/unit/object_test.rb +15 -15
  207. data/test/unit/parameter_matchers/all_of_test.rb +6 -6
  208. data/test/unit/parameter_matchers/any_of_test.rb +6 -6
  209. data/test/unit/parameter_matchers/anything_test.rb +5 -5
  210. data/test/unit/parameter_matchers/has_entries_test.rb +10 -10
  211. data/test/unit/parameter_matchers/has_entry_test.rb +13 -13
  212. data/test/unit/parameter_matchers/has_key_test.rb +11 -11
  213. data/test/unit/parameter_matchers/has_value_test.rb +12 -12
  214. data/test/unit/parameter_matchers/includes_test.rb +4 -4
  215. data/test/unit/parameter_matchers/not_test.rb +6 -6
  216. data/test/unit/parameter_matchers/regexp_matches_test.rb +9 -9
  217. data/test/unit/parameter_matchers/responds_with_test.rb +6 -6
  218. data/test/unit/parameter_matchers/stub_matcher.rb +4 -4
  219. data/test/unit/parameter_matchers/yaml_equivalent_test.rb +6 -6
  220. data/test/unit/parameters_matcher_test.rb +16 -16
  221. data/test/unit/return_values_test.rb +5 -5
  222. data/test/unit/sequence_test.rb +10 -10
  223. data/test/unit/single_return_value_test.rb +3 -3
  224. data/test/unit/single_yield_test.rb +2 -2
  225. data/test/unit/state_machine_test.rb +19 -19
  226. data/test/unit/string_inspect_test.rb +2 -2
  227. data/test/unit/thrower_test.rb +1 -1
  228. data/test/unit/yield_parameters_test.rb +11 -11
  229. metadata +113 -101
@@ -3,7 +3,7 @@ require File.expand_path('../../test_helper', __FILE__)
3
3
  require 'mocha/multiple_yields'
4
4
 
5
5
  class MultipleYieldsTest < Test::Unit::TestCase
6
-
6
+
7
7
  include Mocha
8
8
 
9
9
  def test_should_provide_parameters_for_multiple_yields_in_single_invocation
@@ -14,5 +14,5 @@ class MultipleYieldsTest < Test::Unit::TestCase
14
14
  end
15
15
  assert_equal [[1, 2, 3], [4, 5]], parameter_groups
16
16
  end
17
-
17
+
18
18
  end
@@ -3,7 +3,7 @@ require File.expand_path('../../test_helper', __FILE__)
3
3
  require 'mocha/no_yields'
4
4
 
5
5
  class NoYieldsTest < Test::Unit::TestCase
6
-
6
+
7
7
  include Mocha
8
8
 
9
9
  def test_should_provide_parameters_for_no_yields_in_single_invocation
@@ -14,5 +14,5 @@ class NoYieldsTest < Test::Unit::TestCase
14
14
  end
15
15
  assert_equal [], parameter_groups
16
16
  end
17
-
17
+
18
18
  end
@@ -3,7 +3,7 @@ require 'mocha/inspect'
3
3
  require 'method_definer'
4
4
 
5
5
  class ObjectInspectTest < Test::Unit::TestCase
6
-
6
+
7
7
  def test_should_return_default_string_representation_of_object_not_including_instance_variables
8
8
  object = Object.new
9
9
  class << object
@@ -13,7 +13,7 @@ class ObjectInspectTest < Test::Unit::TestCase
13
13
  assert_match Regexp.new("^#<Object:0x[0-9A-Fa-f]{1,8}.*>$"), object.mocha_inspect
14
14
  assert_no_match(/instance_variable/, object.mocha_inspect)
15
15
  end
16
-
16
+
17
17
  def test_should_return_customized_string_representation_of_object
18
18
  object = Object.new
19
19
  class << object
@@ -21,7 +21,7 @@ class ObjectInspectTest < Test::Unit::TestCase
21
21
  end
22
22
  assert_equal 'custom_inspect', object.mocha_inspect
23
23
  end
24
-
24
+
25
25
  def test_should_use_underscored_id_instead_of_object_id_or_id_so_that_they_can_be_stubbed
26
26
  calls = []
27
27
  object = Object.new
@@ -34,5 +34,5 @@ class ObjectInspectTest < Test::Unit::TestCase
34
34
 
35
35
  assert_equal [:__id__], calls.uniq
36
36
  end
37
-
37
+
38
38
  end
@@ -5,9 +5,9 @@ require 'mocha/mock'
5
5
  require 'method_definer'
6
6
 
7
7
  class ObjectTest < Test::Unit::TestCase
8
-
8
+
9
9
  include Mocha
10
-
10
+
11
11
  def test_should_build_mocha_referring_to_self
12
12
  instance = Object.new
13
13
  mocha = instance.mocha
@@ -15,64 +15,64 @@ class ObjectTest < Test::Unit::TestCase
15
15
  assert mocha.is_a?(Mock)
16
16
  assert_equal instance.mocha_inspect, mocha.mocha_inspect
17
17
  end
18
-
18
+
19
19
  def test_should_reuse_existing_mocha
20
20
  instance = Object.new
21
21
  mocha_1 = instance.mocha
22
22
  mocha_2 = instance.mocha
23
23
  assert_equal mocha_1, mocha_2
24
24
  end
25
-
25
+
26
26
  def test_should_reset_mocha
27
27
  instance = Object.new
28
28
  assert_nil instance.reset_mocha
29
29
  end
30
-
30
+
31
31
  def test_should_build_any_instance_object
32
32
  klass = Class.new
33
33
  any_instance = klass.any_instance
34
34
  assert_not_nil any_instance
35
35
  assert any_instance.is_a?(Class::AnyInstance)
36
36
  end
37
-
37
+
38
38
  def test_should_return_same_any_instance_object
39
39
  klass = Class.new
40
40
  any_instance_1 = klass.any_instance
41
41
  any_instance_2 = klass.any_instance
42
42
  assert_equal any_instance_1, any_instance_2
43
43
  end
44
-
44
+
45
45
  def test_should_use_stubba_instance_method_for_object
46
46
  assert_equal Mocha::InstanceMethod, Object.new.stubba_method
47
47
  end
48
-
48
+
49
49
  def test_should_use_stubba_module_method_for_module
50
50
  assert_equal Mocha::ModuleMethod, Module.new.stubba_method
51
51
  end
52
-
52
+
53
53
  def test_should_use_stubba_class_method_for_class
54
54
  assert_equal Mocha::ClassMethod, Class.new.stubba_method
55
55
  end
56
-
56
+
57
57
  def test_should_use_stubba_class_method_for_any_instance
58
58
  assert_equal Mocha::AnyInstanceMethod, Class::AnyInstance.new(nil).stubba_method
59
59
  end
60
-
60
+
61
61
  def test_should_stub_self_for_object
62
62
  object = Object.new
63
63
  assert_equal object, object.stubba_object
64
64
  end
65
-
65
+
66
66
  def test_should_stub_self_for_module
67
67
  mod = Module.new
68
68
  assert_equal mod, mod.stubba_object
69
69
  end
70
-
70
+
71
71
  def test_should_stub_self_for_class
72
72
  klass = Class.new
73
73
  assert_equal klass, klass.stubba_object
74
74
  end
75
-
75
+
76
76
  def test_should_stub_relevant_class_for_any_instance
77
77
  klass = Class.new
78
78
  any_instance = Class::AnyInstance.new(klass)
@@ -83,5 +83,5 @@ class ObjectTest < Test::Unit::TestCase
83
83
  object = Object.new
84
84
  assert_raise(Mocha::ExpectationError) { object.expects(:the_spanish_inquisition) }
85
85
  end
86
-
86
+
87
87
  end
@@ -5,22 +5,22 @@ require 'mocha/inspect'
5
5
  require 'stub_matcher'
6
6
 
7
7
  class AllOfTest < Test::Unit::TestCase
8
-
8
+
9
9
  include Mocha::ParameterMatchers
10
-
10
+
11
11
  def test_should_match_if_all_matchers_match
12
12
  matcher = all_of(Stub::Matcher.new(true), Stub::Matcher.new(true), Stub::Matcher.new(true))
13
13
  assert matcher.matches?(['any_old_value'])
14
14
  end
15
-
15
+
16
16
  def test_should_not_match_if_any_matcher_does_not_match
17
17
  matcher = all_of(Stub::Matcher.new(true), Stub::Matcher.new(false), Stub::Matcher.new(true))
18
18
  assert !matcher.matches?(['any_old_value'])
19
19
  end
20
-
20
+
21
21
  def test_should_describe_matcher
22
22
  matcher = all_of(Stub::Matcher.new(true), Stub::Matcher.new(false), Stub::Matcher.new(true))
23
23
  assert_equal 'all_of(matcher(true), matcher(false), matcher(true))', matcher.mocha_inspect
24
24
  end
25
-
26
- end
25
+
26
+ end
@@ -5,22 +5,22 @@ require 'mocha/inspect'
5
5
  require 'stub_matcher'
6
6
 
7
7
  class AnyOfTest < Test::Unit::TestCase
8
-
8
+
9
9
  include Mocha::ParameterMatchers
10
-
10
+
11
11
  def test_should_match_if_any_matchers_match
12
12
  matcher = any_of(Stub::Matcher.new(false), Stub::Matcher.new(true), Stub::Matcher.new(false))
13
13
  assert matcher.matches?(['any_old_value'])
14
14
  end
15
-
15
+
16
16
  def test_should_not_match_if_no_matchers_match
17
17
  matcher = any_of(Stub::Matcher.new(false), Stub::Matcher.new(false), Stub::Matcher.new(false))
18
18
  assert !matcher.matches?(['any_old_value'])
19
19
  end
20
-
20
+
21
21
  def test_should_describe_matcher
22
22
  matcher = any_of(Stub::Matcher.new(false), Stub::Matcher.new(true), Stub::Matcher.new(false))
23
23
  assert_equal 'any_of(matcher(false), matcher(true), matcher(false))', matcher.mocha_inspect
24
24
  end
25
-
26
- end
25
+
26
+ end
@@ -4,18 +4,18 @@ require 'mocha/parameter_matchers/anything'
4
4
  require 'mocha/inspect'
5
5
 
6
6
  class AnythingTest < Test::Unit::TestCase
7
-
7
+
8
8
  include Mocha::ParameterMatchers
9
-
9
+
10
10
  def test_should_match_anything
11
11
  matcher = anything
12
12
  assert matcher.matches?([:something])
13
13
  assert matcher.matches?([{'x' => 'y'}])
14
14
  end
15
-
15
+
16
16
  def test_should_describe_matcher
17
17
  matcher = anything
18
18
  assert_equal "anything", matcher.mocha_inspect
19
19
  end
20
-
21
- end
20
+
21
+ end
@@ -5,19 +5,19 @@ require 'mocha/parameter_matchers/object'
5
5
  require 'mocha/inspect'
6
6
 
7
7
  class HasEntriesTest < Test::Unit::TestCase
8
-
8
+
9
9
  include Mocha::ParameterMatchers
10
-
10
+
11
11
  def test_should_match_hash_including_specified_entries
12
12
  matcher = has_entries(:key_1 => 'value_1', :key_2 => 'value_2')
13
13
  assert matcher.matches?([{ :key_1 => 'value_1', :key_2 => 'value_2', :key_3 => 'value_3' }])
14
14
  end
15
-
15
+
16
16
  def test_should_not_match_hash_not_including_specified_entries
17
17
  matcher = has_entries(:key_1 => 'value_2', :key_2 => 'value_2', :key_3 => 'value_3')
18
18
  assert !matcher.matches?([{ :key_1 => 'value_1', :key_2 => 'value_2' }])
19
19
  end
20
-
20
+
21
21
  def test_should_describe_matcher
22
22
  matcher = has_entries(:key_1 => 'value_1', :key_2 => 'value_2')
23
23
  description = matcher.mocha_inspect
@@ -27,25 +27,25 @@ class HasEntriesTest < Test::Unit::TestCase
27
27
  assert_equal 'value_1', entries[:key_1]
28
28
  assert_equal 'value_2', entries[:key_2]
29
29
  end
30
-
30
+
31
31
  def test_should_match_hash_including_specified_entries_with_nested_key_matchers
32
32
  matcher = has_entries(equals(:key_1) => 'value_1', equals(:key_2) => 'value_2')
33
33
  assert matcher.matches?([{ :key_1 => 'value_1', :key_2 => 'value_2', :key_3 => 'value_3' }])
34
34
  end
35
-
35
+
36
36
  def test_should_not_match_hash_not_including_specified_entries_with_nested_key_matchers
37
37
  matcher = has_entries(equals(:key_1) => 'value_2', equals(:key_2) => 'value_2', equals(:key_3) => 'value_3')
38
38
  assert !matcher.matches?([{ :key_1 => 'value_1', :key_2 => 'value_2' }])
39
39
  end
40
-
40
+
41
41
  def test_should_match_hash_including_specified_entries_with_nested_value_matchers
42
42
  matcher = has_entries(:key_1 => equals('value_1'), :key_2 => equals('value_2'))
43
43
  assert matcher.matches?([{ :key_1 => 'value_1', :key_2 => 'value_2', :key_3 => 'value_3' }])
44
44
  end
45
-
45
+
46
46
  def test_should_not_match_hash_not_including_specified_entries_with_nested_value_matchers
47
47
  matcher = has_entries(:key_1 => equals('value_2'), :key_2 => equals('value_2'), :key_3 => equals('value_3'))
48
48
  assert !matcher.matches?([{ :key_1 => 'value_1', :key_2 => 'value_2' }])
49
49
  end
50
-
51
- end
50
+
51
+ end
@@ -6,59 +6,59 @@ require 'mocha/parameter_matchers/equals'
6
6
  require 'mocha/inspect'
7
7
 
8
8
  class HasEntryTest < Test::Unit::TestCase
9
-
9
+
10
10
  include Mocha::ParameterMatchers
11
-
11
+
12
12
  def test_should_match_hash_including_specified_key_value_pair
13
13
  matcher = has_entry(:key_1, 'value_1')
14
14
  assert matcher.matches?([{ :key_1 => 'value_1', :key_2 => 'value_2' }])
15
15
  end
16
-
16
+
17
17
  def test_should_not_match_hash_not_including_specified_key_value_pair
18
18
  matcher = has_entry(:key_1, 'value_2')
19
19
  assert !matcher.matches?([{ :key_1 => 'value_1', :key_2 => 'value_2' }])
20
20
  end
21
-
21
+
22
22
  def test_should_match_hash_including_specified_entry
23
23
  matcher = has_entry(:key_1 => 'value_1')
24
24
  assert matcher.matches?([{ :key_1 => 'value_1', :key_2 => 'value_2' }])
25
25
  end
26
-
26
+
27
27
  def test_should_not_match_hash_not_including_specified_entry
28
28
  matcher = has_entry(:key_1 => 'value_2')
29
29
  assert !matcher.matches?([{ :key_1 => 'value_1', :key_2 => 'value_2' }])
30
30
  end
31
-
31
+
32
32
  def test_should_describe_matcher_with_key_value_pair
33
33
  matcher = has_entry(:key_1, 'value_1')
34
34
  assert_equal "has_entry(:key_1 => 'value_1')", matcher.mocha_inspect
35
35
  end
36
-
36
+
37
37
  def test_should_describe_matcher_with_entry
38
38
  matcher = has_entry(:key_1 => 'value_1')
39
39
  assert_equal "has_entry(:key_1 => 'value_1')", matcher.mocha_inspect
40
40
  end
41
-
41
+
42
42
  def test_should_match_hash_including_specified_entry_with_nested_key_matcher
43
43
  matcher = has_entry(equals(:key_1) => 'value_1')
44
44
  assert matcher.matches?([{ :key_1 => 'value_1', :key_2 => 'value_2' }])
45
45
  end
46
-
46
+
47
47
  def test_should_match_hash_including_specified_entry_with_nested_value_matcher
48
48
  matcher = has_entry(:key_1 => equals('value_1'))
49
49
  assert matcher.matches?([{ :key_1 => 'value_1', :key_2 => 'value_2' }])
50
50
  end
51
-
51
+
52
52
  def test_should_not_match_hash_not_including_specified_entry_with_nested_key_matcher
53
53
  matcher = has_entry(equals(:key_1) => 'value_2')
54
54
  assert !matcher.matches?([{ :key_1 => 'value_1', :key_2 => 'value_2' }])
55
55
  end
56
-
56
+
57
57
  def test_should_not_match_hash_not_including_specified_entry_with_nested_value_matcher
58
58
  matcher = has_entry(:key_1 => equals('value_2'))
59
59
  assert !matcher.matches?([{ :key_1 => 'value_1', :key_2 => 'value_2' }])
60
60
  end
61
-
61
+
62
62
  def test_should_not_match_object_that_doesnt_respond_to_keys
63
63
  matcher = has_entry(:key_1 => equals('value_2'))
64
64
  object = Class.new do
@@ -68,7 +68,7 @@ class HasEntryTest < Test::Unit::TestCase
68
68
  end.new
69
69
  assert !matcher.matches?([object])
70
70
  end
71
-
71
+
72
72
  def test_should_not_match_object_that_doesnt_respond_to_square_bracket
73
73
  matcher = has_entry(:key_1 => equals('value_2'))
74
74
  object = Class.new do
@@ -5,51 +5,51 @@ require 'mocha/parameter_matchers/object'
5
5
  require 'mocha/inspect'
6
6
 
7
7
  class HasKeyTest < Test::Unit::TestCase
8
-
8
+
9
9
  include Mocha::ParameterMatchers
10
-
10
+
11
11
  def test_should_match_hash_including_specified_key
12
12
  matcher = has_key(:key_1)
13
13
  assert matcher.matches?([{ :key_1 => 1, :key_2 => 2 }])
14
14
  end
15
-
15
+
16
16
  def test_should_not_match_hash_not_including_specified_key
17
17
  matcher = has_key(:key_1)
18
18
  assert !matcher.matches?([{ :key_2 => 2 }])
19
19
  end
20
-
20
+
21
21
  def test_should_describe_matcher
22
22
  matcher = has_key(:key)
23
23
  assert_equal 'has_key(:key)', matcher.mocha_inspect
24
24
  end
25
-
25
+
26
26
  def test_should_match_hash_including_specified_key_with_nested_key_matcher
27
27
  matcher = has_key(equals(:key_1))
28
28
  assert matcher.matches?([{ :key_1 => 1, :key_2 => 2 }])
29
29
  end
30
-
30
+
31
31
  def test_should_not_match_hash_not_including_specified_key_with_nested_key_matcher
32
32
  matcher = has_key(equals(:key_1))
33
33
  assert !matcher.matches?([{ :key_2 => 2 }])
34
34
  end
35
-
35
+
36
36
  def test_should_not_raise_error_on_empty_arguments
37
37
  matcher = has_key(:key)
38
38
  assert_nothing_raised { matcher.matches?([]) }
39
39
  end
40
-
40
+
41
41
  def test_should_not_match_on_empty_arguments
42
42
  matcher = has_key(:key)
43
43
  assert !matcher.matches?([])
44
44
  end
45
-
45
+
46
46
  def test_should_not_raise_error_on_argument_that_does_not_respond_to_keys
47
47
  matcher = has_key(:key)
48
48
  assert_nothing_raised { matcher.matches?([:key]) }
49
49
  end
50
-
50
+
51
51
  def test_should_not_match_on_argument_that_does_not_respond_to_keys
52
52
  matcher = has_key(:key)
53
53
  assert !matcher.matches?([:key])
54
54
  end
55
- end
55
+ end
@@ -6,52 +6,52 @@ require 'mocha/parameter_matchers/equals'
6
6
  require 'mocha/inspect'
7
7
 
8
8
  class HasValueTest < Test::Unit::TestCase
9
-
9
+
10
10
  include Mocha::ParameterMatchers
11
-
11
+
12
12
  def test_should_match_hash_including_specified_value
13
13
  matcher = has_value('value_1')
14
14
  assert matcher.matches?([{ :key_1 => 'value_1', :key_2 => 'value_2' }])
15
15
  end
16
-
16
+
17
17
  def test_should_not_match_hash_not_including_specified_value
18
18
  matcher = has_value('value_1')
19
19
  assert !matcher.matches?([{ :key_2 => 'value_2' }])
20
20
  end
21
-
21
+
22
22
  def test_should_describe_matcher
23
23
  matcher = has_value('value_1')
24
24
  assert_equal "has_value('value_1')", matcher.mocha_inspect
25
25
  end
26
-
26
+
27
27
  def test_should_match_hash_including_specified_value_with_nested_value_matcher
28
28
  matcher = has_value(equals('value_1'))
29
29
  assert matcher.matches?([{ :key_1 => 'value_1', :key_2 => 'value_2' }])
30
30
  end
31
-
31
+
32
32
  def test_should_not_match_hash_not_including_specified_value_with_nested_value_matcher
33
33
  matcher = has_value(equals('value_1'))
34
34
  assert !matcher.matches?([{ :key_2 => 'value_2' }])
35
35
  end
36
-
36
+
37
37
  def test_should_not_raise_error_on_empty_arguments
38
38
  matcher = has_value('value_1')
39
39
  assert_nothing_raised { matcher.matches?([]) }
40
40
  end
41
-
41
+
42
42
  def test_should_not_match_empty_arguments
43
43
  matcher = has_value('value_1')
44
44
  assert !matcher.matches?([])
45
45
  end
46
-
46
+
47
47
  def test_should_not_raise_error_on_argument_that_does_not_respond_to_values
48
48
  matcher = has_value('value_1')
49
49
  assert_nothing_raised { matcher.matches?(['value_1']) }
50
50
  end
51
-
51
+
52
52
  def test_should_not_match_on_argument_that_does_not_respond_to_values
53
53
  matcher = has_value('value_1')
54
54
  assert !matcher.matches?(['value_1'])
55
55
  end
56
-
57
- end
56
+
57
+ end