rr 0.3.11 → 0.4.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 (150) hide show
  1. data/CHANGES +8 -3
  2. data/README +130 -39
  3. data/Rakefile +6 -5
  4. data/lib/rr.rb +8 -8
  5. data/lib/rr/adapters/rr_methods.rb +228 -0
  6. data/lib/rr/adapters/rspec.rb +1 -1
  7. data/lib/rr/adapters/test_unit.rb +1 -1
  8. data/lib/rr/double.rb +294 -89
  9. data/lib/rr/{scenario_creator.rb → double_creator.rb} +65 -66
  10. data/lib/rr/{scenario_definition.rb → double_definition.rb} +36 -36
  11. data/lib/rr/{scenario_definition_builder.rb → double_definition_builder.rb} +3 -3
  12. data/lib/rr/double_insertion.rb +132 -0
  13. data/lib/rr/{scenario_matches.rb → double_matches.rb} +2 -2
  14. data/lib/rr/{scenario_method_proxy.rb → double_method_proxy.rb} +2 -2
  15. data/lib/rr/errors/argument_equality_error.rb +3 -3
  16. data/lib/rr/errors/rr_error.rb +13 -13
  17. data/lib/rr/errors/scenario_definition_error.rb +3 -3
  18. data/lib/rr/errors/scenario_not_found_error.rb +3 -3
  19. data/lib/rr/errors/scenario_order_error.rb +3 -3
  20. data/lib/rr/errors/times_called_error.rb +3 -3
  21. data/lib/rr/expectations/any_argument_expectation.rb +1 -1
  22. data/lib/rr/expectations/argument_equality_expectation.rb +1 -1
  23. data/lib/rr/expectations/times_called_expectation.rb +1 -1
  24. data/lib/rr/hash_with_object_id_key.rb +1 -1
  25. data/lib/rr/space.rb +40 -40
  26. data/lib/rr/times_called_matchers/any_times_matcher.rb +13 -13
  27. data/lib/rr/times_called_matchers/at_least_matcher.rb +11 -11
  28. data/lib/rr/times_called_matchers/at_most_matcher.rb +16 -16
  29. data/lib/rr/times_called_matchers/integer_matcher.rb +13 -13
  30. data/lib/rr/times_called_matchers/non_terminal.rb +21 -21
  31. data/lib/rr/times_called_matchers/proc_matcher.rb +7 -7
  32. data/lib/rr/times_called_matchers/range_matcher.rb +14 -14
  33. data/lib/rr/times_called_matchers/terminal.rb +16 -16
  34. data/lib/rr/times_called_matchers/times_called_matcher.rb +32 -32
  35. data/spec/core_spec_suite.rb +18 -0
  36. data/{examples → spec}/environment_fixture_setup.rb +0 -1
  37. data/{examples/high_level_example.rb → spec/high_level_spec.rb} +11 -11
  38. data/spec/rr/adapters/rr_methods_argument_matcher_spec.rb +67 -0
  39. data/spec/rr/adapters/rr_methods_creator_spec.rb +365 -0
  40. data/spec/rr/adapters/rr_methods_space_spec.rb +134 -0
  41. data/spec/rr/adapters/rr_methods_spec_helper.rb +11 -0
  42. data/{examples/rr/extensions/instance_methods_times_matcher_example.rb → spec/rr/adapters/rr_methods_times_matcher_spec.rb} +4 -4
  43. data/spec/rr/double/double_insertion_bind_spec.rb +78 -0
  44. data/spec/rr/double/double_insertion_dispatching_spec.rb +221 -0
  45. data/spec/rr/double/double_insertion_has_original_method_spec.rb +56 -0
  46. data/spec/rr/double/double_insertion_register_scenario_spec.rb +24 -0
  47. data/spec/rr/double/double_insertion_reset_spec.rb +89 -0
  48. data/spec/rr/double/double_insertion_spec.rb +66 -0
  49. data/spec/rr/double/double_insertion_verify_spec.rb +23 -0
  50. data/spec/rr/double_creator_spec.rb +454 -0
  51. data/{examples/rr/scenario_definition_example.rb → spec/rr/double_definition_spec.rb} +143 -143
  52. data/spec/rr/double_method_proxy_spec.rb +71 -0
  53. data/spec/rr/double_spec.rb +654 -0
  54. data/spec/rr/errors/rr_error_spec.rb +65 -0
  55. data/spec/rr/expectations/any_argument_expectation_spec.rb +47 -0
  56. data/spec/rr/expectations/anything_argument_equality_expectation_spec.rb +38 -0
  57. data/spec/rr/expectations/argument_equality_expectation_spec.rb +58 -0
  58. data/spec/rr/expectations/boolean_argument_equality_expectation_spec.rb +53 -0
  59. data/spec/rr/expectations/duck_type_argument_equality_expectation_spec.rb +71 -0
  60. data/spec/rr/expectations/is_a_argument_equality_expectation_spec.rb +51 -0
  61. data/spec/rr/expectations/numeric_argument_equality_expectation_spec.rb +47 -0
  62. data/spec/rr/expectations/range_argument_equality_expectation_spec.rb +59 -0
  63. data/spec/rr/expectations/regexp_argument_equality_expectation_spec.rb +72 -0
  64. data/spec/rr/expectations/times_called_expectation/times_called_expectation_any_times_spec.rb +43 -0
  65. data/spec/rr/expectations/times_called_expectation/times_called_expectation_at_least_spec.rb +67 -0
  66. data/spec/rr/expectations/times_called_expectation/times_called_expectation_at_most_spec.rb +71 -0
  67. data/spec/rr/expectations/times_called_expectation/times_called_expectation_helper.rb +21 -0
  68. data/spec/rr/expectations/times_called_expectation/times_called_expectation_integer_spec.rb +103 -0
  69. data/spec/rr/expectations/times_called_expectation/times_called_expectation_proc_spec.rb +79 -0
  70. data/spec/rr/expectations/times_called_expectation/times_called_expectation_range_spec.rb +81 -0
  71. data/spec/rr/expectations/times_called_expectation/times_called_expectation_spec.rb +40 -0
  72. data/spec/rr/rspec/rspec_adapter_spec.rb +65 -0
  73. data/spec/rr/rspec/rspec_backtrace_tweaking_spec.rb +52 -0
  74. data/spec/rr/rspec/rspec_usage_spec.rb +67 -0
  75. data/spec/rr/space/hash_with_object_id_key_spec.rb +88 -0
  76. data/spec/rr/space/space_create_spec.rb +278 -0
  77. data/spec/rr/space/space_helper.rb +7 -0
  78. data/spec/rr/space/space_register_spec.rb +32 -0
  79. data/spec/rr/space/space_reset_spec.rb +131 -0
  80. data/spec/rr/space/space_spec.rb +32 -0
  81. data/spec/rr/space/space_verify_spec.rb +181 -0
  82. data/{examples → spec}/rr/test_unit/test_helper.rb +1 -1
  83. data/{examples → spec}/rr/test_unit/test_unit_backtrace_test.rb +0 -0
  84. data/{examples → spec}/rr/test_unit/test_unit_integration_test.rb +4 -4
  85. data/spec/rr/times_called_matchers/any_times_matcher_spec.rb +47 -0
  86. data/spec/rr/times_called_matchers/at_least_matcher_spec.rb +55 -0
  87. data/spec/rr/times_called_matchers/at_most_matcher_spec.rb +70 -0
  88. data/spec/rr/times_called_matchers/integer_matcher_spec.rb +70 -0
  89. data/spec/rr/times_called_matchers/proc_matcher_spec.rb +55 -0
  90. data/spec/rr/times_called_matchers/range_matcher_spec.rb +76 -0
  91. data/spec/rr/times_called_matchers/times_called_matcher_spec.rb +118 -0
  92. data/spec/rspec_spec_suite.rb +16 -0
  93. data/spec/spec_helper.rb +9 -0
  94. data/{examples/example_suite.rb → spec/spec_suite.rb} +3 -3
  95. data/{examples/test_unit_example_suite.rb → spec/test_unit_spec_suite.rb} +0 -0
  96. metadata +93 -93
  97. data/examples/core_example_suite.rb +0 -31
  98. data/examples/example_helper.rb +0 -9
  99. data/examples/rr/double/double_bind_example.rb +0 -70
  100. data/examples/rr/double/double_dispatching_example.rb +0 -236
  101. data/examples/rr/double/double_example.rb +0 -66
  102. data/examples/rr/double/double_has_original_method_example.rb +0 -56
  103. data/examples/rr/double/double_register_scenario_example.rb +0 -24
  104. data/examples/rr/double/double_reset_example.rb +0 -89
  105. data/examples/rr/double/double_verify_example.rb +0 -23
  106. data/examples/rr/errors/rr_error_example.rb +0 -65
  107. data/examples/rr/expectations/any_argument_expectation_example.rb +0 -52
  108. data/examples/rr/expectations/anything_argument_equality_expectation_example.rb +0 -38
  109. data/examples/rr/expectations/argument_equality_expectation_example.rb +0 -62
  110. data/examples/rr/expectations/boolean_argument_equality_expectation_example.rb +0 -48
  111. data/examples/rr/expectations/duck_type_argument_equality_expectation_example.rb +0 -67
  112. data/examples/rr/expectations/is_a_argument_equality_expectation_example.rb +0 -50
  113. data/examples/rr/expectations/numeric_argument_equality_expectation_example.rb +0 -46
  114. data/examples/rr/expectations/range_argument_equality_expectation_example.rb +0 -59
  115. data/examples/rr/expectations/regexp_argument_equality_expectation_example.rb +0 -67
  116. data/examples/rr/expectations/times_called_expectation/times_called_expectation_any_times_example.rb +0 -50
  117. data/examples/rr/expectations/times_called_expectation/times_called_expectation_at_least_example.rb +0 -73
  118. data/examples/rr/expectations/times_called_expectation/times_called_expectation_at_most_example.rb +0 -77
  119. data/examples/rr/expectations/times_called_expectation/times_called_expectation_example.rb +0 -42
  120. data/examples/rr/expectations/times_called_expectation/times_called_expectation_helper.rb +0 -20
  121. data/examples/rr/expectations/times_called_expectation/times_called_expectation_integer_example.rb +0 -111
  122. data/examples/rr/expectations/times_called_expectation/times_called_expectation_proc_example.rb +0 -88
  123. data/examples/rr/expectations/times_called_expectation/times_called_expectation_range_example.rb +0 -90
  124. data/examples/rr/extensions/instance_methods_argument_matcher_example.rb +0 -65
  125. data/examples/rr/extensions/instance_methods_creator_example.rb +0 -363
  126. data/examples/rr/extensions/instance_methods_example_helper.rb +0 -11
  127. data/examples/rr/extensions/instance_methods_space_example.rb +0 -122
  128. data/examples/rr/rspec/rspec_adapter_example.rb +0 -63
  129. data/examples/rr/rspec/rspec_backtrace_tweaking_example.rb +0 -36
  130. data/examples/rr/rspec/rspec_usage_example.rb +0 -65
  131. data/examples/rr/scenario_creator_example.rb +0 -459
  132. data/examples/rr/scenario_example.rb +0 -701
  133. data/examples/rr/scenario_method_proxy_example.rb +0 -71
  134. data/examples/rr/space/hash_with_object_id_key_example.rb +0 -86
  135. data/examples/rr/space/space_create_example.rb +0 -278
  136. data/examples/rr/space/space_example.rb +0 -29
  137. data/examples/rr/space/space_helper.rb +0 -7
  138. data/examples/rr/space/space_register_example.rb +0 -32
  139. data/examples/rr/space/space_reset_example.rb +0 -120
  140. data/examples/rr/space/space_verify_example.rb +0 -169
  141. data/examples/rr/times_called_matchers/any_times_matcher_example.rb +0 -63
  142. data/examples/rr/times_called_matchers/at_least_matcher_example.rb +0 -70
  143. data/examples/rr/times_called_matchers/at_most_matcher_example.rb +0 -85
  144. data/examples/rr/times_called_matchers/integer_matcher_example.rb +0 -91
  145. data/examples/rr/times_called_matchers/proc_matcher_example.rb +0 -77
  146. data/examples/rr/times_called_matchers/range_matcher_example.rb +0 -97
  147. data/examples/rr/times_called_matchers/times_called_matcher_example.rb +0 -53
  148. data/examples/rspec_example_suite.rb +0 -25
  149. data/lib/rr/extensions/instance_methods.rb +0 -228
  150. data/lib/rr/scenario.rb +0 -337
@@ -1,66 +0,0 @@
1
- require "examples/example_helper"
2
-
3
- module RR
4
- describe Double, :shared => true do
5
- it "sets up object and method_name" do
6
- @double.object.should === @object
7
- @double.method_name.should == @method_name.to_sym
8
- end
9
- end
10
-
11
- describe Double, "#initialize where method_name is a symbol" do
12
- it_should_behave_like "RR::Double"
13
-
14
- before do
15
- @space = Space.new
16
- @object = Object.new
17
- @method_name = :foobar
18
- @object.methods.should_not include(@method_name.to_s)
19
- @double = Double.new(@space, @object, @method_name)
20
- end
21
- end
22
-
23
- describe Double, "#initialize where method_name is a string" do
24
- it_should_behave_like "RR::Double"
25
-
26
- before do
27
- @space = Space.new
28
- @object = Object.new
29
- @method_name = 'foobar'
30
- @object.methods.should_not include(@method_name)
31
- @double = Double.new(@space, @object, @method_name)
32
- end
33
- end
34
-
35
- describe Double, "#initialize where method does not exist on object" do
36
- it_should_behave_like "RR::Double"
37
-
38
- before do
39
- @space = Space.new
40
- @object = Object.new
41
- @method_name = :foobar
42
- @object.methods.should_not include(@method_name.to_s)
43
- @double = Double.new(@space, @object, @method_name)
44
- end
45
-
46
- it "object does not have original method" do
47
- @double.object_has_original_method?.should be_false
48
- end
49
- end
50
-
51
- describe Double, "#initialize where method exists on object" do
52
- it_should_behave_like "RR::Double"
53
-
54
- before do
55
- @space = Space.new
56
- @object = Object.new
57
- @method_name = :to_s
58
- @object.methods.should include(@method_name.to_s)
59
- @double = Double.new(@space, @object, @method_name)
60
- end
61
-
62
- it "has a original_method" do
63
- @double.object_has_original_method?.should be_true
64
- end
65
- end
66
- end
@@ -1,56 +0,0 @@
1
- require "examples/example_helper"
2
-
3
- module RR
4
- describe Double, "#object_has_original_method?" do
5
- before do
6
- @space = Space.new
7
- @object = Object.new
8
- @method_name = :to_s
9
- @double = Double.new(@space, @object, @method_name)
10
- class << @double
11
- public :original_method_name
12
- end
13
- end
14
-
15
- it "returns true when method is still in object" do
16
- @double.bind
17
- @double.object_has_original_method?.should be_true
18
- end
19
-
20
- it "returns true when respond_to is true and methods include method" do
21
- @double.bind
22
- def @object.methods
23
- [:__rr_original_to_s]
24
- end
25
- def @object.respond_to?(value)
26
- true
27
- end
28
-
29
- @double.object_has_original_method?.should be_true
30
- end
31
-
32
- it "returns true when respond_to is true and methods do not include method" do
33
- @double.bind
34
- def @object.methods
35
- []
36
- end
37
- def @object.respond_to?(value)
38
- true
39
- end
40
-
41
- @double.object_has_original_method?.should be_true
42
- end
43
-
44
- it "returns false when respond_to is false and methods do not include method" do
45
- @double.bind
46
- def @object.methods
47
- []
48
- end
49
- def @object.respond_to?(value)
50
- false
51
- end
52
-
53
- @double.object_has_original_method?.should be_false
54
- end
55
- end
56
- end
@@ -1,24 +0,0 @@
1
- require "examples/example_helper"
2
-
3
- module RR
4
- describe Double, "#register_scenario" do
5
- before do
6
- @space = Space.new
7
- @object = Object.new
8
- @method_name = :foobar
9
- @object.methods.should_not include(@method_name.to_s)
10
- @double = Double.new(@space, @object, @method_name)
11
- def @double.scenarios
12
- @scenarios
13
- end
14
- end
15
-
16
- it "adds the scenario to the scenarios list" do
17
- scenario = Scenario.new(@space, @double, @space.scenario_definition)
18
-
19
- @double.scenarios.should_not include(scenario)
20
- @double.register_scenario scenario
21
- @double.scenarios.should include(scenario)
22
- end
23
- end
24
- end
@@ -1,89 +0,0 @@
1
- require "examples/example_helper"
2
-
3
- module RR
4
- describe Double, "#reset", :shared => true do
5
- it "cleans up by removing the __rr__method" do
6
- @double.bind
7
- @object.methods.should include("__rr__foobar")
8
-
9
- @double.reset
10
- @object.methods.should_not include("__rr__foobar")
11
- end
12
- end
13
-
14
- describe Double, "#reset when method does not exist" do
15
- it_should_behave_like "RR::Double#reset"
16
-
17
- before do
18
- @space = Space.new
19
- @object = Object.new
20
- @method_name = :foobar
21
- @object.methods.should_not include(@method_name.to_s)
22
- @double = Double.new(@space, @object, @method_name)
23
- end
24
-
25
- it "removes the method" do
26
- @double.bind
27
- @object.methods.should include(@method_name.to_s)
28
-
29
- @double.reset
30
- @object.methods.should_not include(@method_name.to_s)
31
- proc {@object.foobar}.should raise_error(NoMethodError)
32
- end
33
- end
34
-
35
- describe Double, "#reset when method exists" do
36
- it_should_behave_like "RR::Double#reset"
37
-
38
- before do
39
- @space = Space.new
40
- @object = Object.new
41
- @method_name = :foobar
42
- def @object.foobar
43
- :original_foobar
44
- end
45
- @object.methods.should include(@method_name.to_s)
46
- @original_method = @object.method(@method_name)
47
- @double = Double.new(@space, @object, @method_name)
48
-
49
- @double.bind
50
- @object.methods.should include(@method_name.to_s)
51
- end
52
-
53
- it "rebind original method" do
54
- @double.reset
55
- @object.methods.should include(@method_name.to_s)
56
- @object.foobar.should == :original_foobar
57
- end
58
- end
59
-
60
- describe Double, "#reset when method with block exists" do
61
- it_should_behave_like "RR::Double#reset"
62
-
63
- before do
64
- @space = Space.new
65
- @object = Object.new
66
- @method_name = :foobar
67
- def @object.foobar
68
- yield(:original_argument)
69
- end
70
- @object.methods.should include(@method_name.to_s)
71
- @original_method = @object.method(@method_name)
72
- @double = Double.new(@space, @object, @method_name)
73
-
74
- @double.bind
75
- @object.methods.should include(@method_name.to_s)
76
- end
77
-
78
- it "rebinds original method with block" do
79
- @double.reset
80
- @object.methods.should include(@method_name.to_s)
81
-
82
- original_argument = nil
83
- @object.foobar do |arg|
84
- original_argument = arg
85
- end
86
- original_argument.should == :original_argument
87
- end
88
- end
89
- end
@@ -1,23 +0,0 @@
1
- require "examples/example_helper"
2
-
3
- module RR
4
- describe Double, "#verify" do
5
- before do
6
- @space = Space.new
7
- @object = Object.new
8
- @method_name = :foobar
9
- @object.methods.should_not include(@method_name.to_s)
10
- @double = @space.double(@object, @method_name)
11
- end
12
-
13
- it "verifies each scenario was met" do
14
- scenario = Scenario.new(@space, @double, @space.scenario_definition)
15
- @double.register_scenario scenario
16
-
17
- scenario.with(1).once.returns {nil}
18
- proc {@double.verify}.should raise_error(Errors::TimesCalledError)
19
- @object.foobar(1)
20
- proc {@double.verify}.should_not raise_error
21
- end
22
- end
23
- end
@@ -1,65 +0,0 @@
1
- require "examples/example_helper"
2
-
3
- module RR
4
- module Errors
5
- describe RRError, "#backtrace" do
6
- before do
7
- @original_trim_backtrace = RR::Space.trim_backtrace
8
- end
9
- after do
10
- RR::Space.trim_backtrace = @original_trim_backtrace
11
- end
12
-
13
- it "does not include the rr library files when trim_backtrace is true" do
14
- RR::Space.trim_backtrace = true
15
-
16
- error = nil
17
- begin
18
- obj = Object.new
19
- mock(obj).foobar
20
- RR::Space.verify_double(obj, :foobar)
21
- rescue RRError=> e
22
- error = e
23
- end
24
- backtrace = error.backtrace.join("\n")
25
-
26
- backtrace.should_not include("lib/rr")
27
- end
28
-
29
- it "includes the rr library files when trim_backtrace is false" do
30
- RR::Space.trim_backtrace = false
31
-
32
- error = nil
33
- begin
34
- obj = Object.new
35
- mock(obj).foobar
36
- RR::Space.verify_double(obj, :foobar)
37
- rescue RRError=> e
38
- error = e
39
- end
40
- backtrace = error.backtrace.join("\n")
41
-
42
- backtrace.should include("lib/rr")
43
- end
44
-
45
- it "returns custom backtrace when backtrace is set" do
46
- error = RRError.new
47
- custom_backtrace = caller
48
- error.backtrace = custom_backtrace
49
- error.backtrace.should == custom_backtrace
50
- end
51
-
52
- it "returns normal backtrace when backtrace is not set" do
53
- error = nil
54
- expected_line = __LINE__ + 2
55
- begin
56
- raise RRError
57
- rescue RRError => e
58
- error = e
59
- end
60
- error.backtrace.first.should include(__FILE__)
61
- error.backtrace.first.should include(expected_line.to_s)
62
- end
63
- end
64
- end
65
- end
@@ -1,52 +0,0 @@
1
- require "examples/example_helper"
2
-
3
- module RR
4
- module Expectations
5
- describe ArgumentEqualityExpectation, "expected_arguments" do
6
- before do
7
- @expectation = AnyArgumentExpectation.new
8
- end
9
-
10
- it "returns an empty array" do
11
- @expectation.expected_arguments.should == []
12
- end
13
- end
14
-
15
- describe AnyArgumentExpectation, "==" do
16
- before do
17
- @expectation = AnyArgumentExpectation.new
18
- end
19
-
20
- it "returns true when comparing with another AnyArgumentExpectation" do
21
- @expectation.should == AnyArgumentExpectation.new
22
- end
23
-
24
- it "returns false when comparing with ArgumentEqualityExpectation" do
25
- @expectation.should_not == ArgumentEqualityExpectation.new(1)
26
- end
27
- end
28
-
29
- describe AnyArgumentExpectation, "#exact_match?" do
30
- before do
31
- @expectation = AnyArgumentExpectation.new
32
- end
33
-
34
- it "returns false" do
35
- @expectation.should_not be_exact_match(1, 2, 3)
36
- @expectation.should_not be_exact_match(1, 2)
37
- @expectation.should_not be_exact_match(1)
38
- @expectation.should_not be_exact_match()
39
- @expectation.should_not be_exact_match("does not match")
40
- end
41
- end
42
-
43
- describe AnyArgumentExpectation, "#wildcard_match?" do
44
- it "returns true" do
45
- @expectation = AnyArgumentExpectation.new
46
- @expectation.should be_wildcard_match(1, 2, 3)
47
- @expectation.should be_wildcard_match("whatever")
48
- @expectation.should be_wildcard_match("whatever", "else")
49
- end
50
- end
51
- end
52
- end
@@ -1,38 +0,0 @@
1
- require "examples/example_helper"
2
-
3
- module RR
4
- module Expectations
5
- describe ArgumentEqualityExpectation, "#exact_match? with anything argument" do
6
- before do
7
- @expectation = ArgumentEqualityExpectation.new(anything)
8
- end
9
-
10
- it "returns true when passed in an Anything module" do
11
- @expectation.should be_exact_match(WildcardMatchers::Anything.new)
12
- end
13
-
14
- it "returns false otherwise" do
15
- @expectation.should_not be_exact_match("hello")
16
- @expectation.should_not be_exact_match(:hello)
17
- @expectation.should_not be_exact_match(1)
18
- @expectation.should_not be_exact_match(nil)
19
- @expectation.should_not be_exact_match()
20
- end
21
- end
22
-
23
- describe ArgumentEqualityExpectation, "#wildcard_match? with is_a String argument" do
24
- before do
25
- @expectation = ArgumentEqualityExpectation.new(anything)
26
- end
27
-
28
- it "returns true when passed correct number of arguments" do
29
- @expectation.should be_wildcard_match(Object.new)
30
- end
31
-
32
- it "returns false when not passed correct number of arguments" do
33
- @expectation.should_not be_wildcard_match()
34
- @expectation.should_not be_wildcard_match(Object.new, Object.new)
35
- end
36
- end
37
- end
38
- end
@@ -1,62 +0,0 @@
1
- require "examples/example_helper"
2
-
3
- module RR
4
- module Expectations
5
- describe ArgumentEqualityExpectation, "expected_arguments" do
6
- before do
7
- @expectation = ArgumentEqualityExpectation.new(1, 2, 3)
8
- end
9
-
10
- it "returns the passed in expected_arguments" do
11
- @expectation.expected_arguments.should == [1, 2, 3]
12
- end
13
- end
14
-
15
- describe ArgumentEqualityExpectation, "==" do
16
- before do
17
- @expectation = ArgumentEqualityExpectation.new(1, 2, 3)
18
- end
19
-
20
- it "returns true when passed in expected_arguments are equal" do
21
- @expectation.should == ArgumentEqualityExpectation.new(1, 2, 3)
22
- end
23
-
24
- it "returns false when passed in expected_arguments are not equal" do
25
- @expectation.should_not == ArgumentEqualityExpectation.new(1, 2)
26
- @expectation.should_not == ArgumentEqualityExpectation.new(1)
27
- @expectation.should_not == ArgumentEqualityExpectation.new(:something)
28
- @expectation.should_not == ArgumentEqualityExpectation.new()
29
- end
30
- end
31
-
32
- describe ArgumentEqualityExpectation, "#exact_match?" do
33
- before do
34
- @expectation = ArgumentEqualityExpectation.new(1, 2, 3)
35
- end
36
-
37
- it "returns true when all arguments exactly match" do
38
- @expectation.should be_exact_match(1, 2, 3)
39
- @expectation.should_not be_exact_match(1, 2)
40
- @expectation.should_not be_exact_match(1)
41
- @expectation.should_not be_exact_match()
42
- @expectation.should_not be_exact_match("does not match")
43
- end
44
- end
45
-
46
- describe ArgumentEqualityExpectation, "#wildcard_match?" do
47
- it "returns false when not exact match" do
48
- @expectation = ArgumentEqualityExpectation.new(1)
49
- @expectation.should_not be_wildcard_match(1, 2, 3)
50
- @expectation.should_not be_wildcard_match("whatever")
51
- @expectation.should_not be_wildcard_match("whatever", "else")
52
- end
53
-
54
- it "returns true when exact match" do
55
- @expectation = ArgumentEqualityExpectation.new(1, 2)
56
- @expectation.should be_wildcard_match(1, 2)
57
- @expectation.should_not be_wildcard_match(1)
58
- @expectation.should_not be_wildcard_match("whatever", "else")
59
- end
60
- end
61
- end
62
- end