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.
- data/CHANGES +8 -3
- data/README +130 -39
- data/Rakefile +6 -5
- data/lib/rr.rb +8 -8
- data/lib/rr/adapters/rr_methods.rb +228 -0
- data/lib/rr/adapters/rspec.rb +1 -1
- data/lib/rr/adapters/test_unit.rb +1 -1
- data/lib/rr/double.rb +294 -89
- data/lib/rr/{scenario_creator.rb → double_creator.rb} +65 -66
- data/lib/rr/{scenario_definition.rb → double_definition.rb} +36 -36
- data/lib/rr/{scenario_definition_builder.rb → double_definition_builder.rb} +3 -3
- data/lib/rr/double_insertion.rb +132 -0
- data/lib/rr/{scenario_matches.rb → double_matches.rb} +2 -2
- data/lib/rr/{scenario_method_proxy.rb → double_method_proxy.rb} +2 -2
- data/lib/rr/errors/argument_equality_error.rb +3 -3
- data/lib/rr/errors/rr_error.rb +13 -13
- data/lib/rr/errors/scenario_definition_error.rb +3 -3
- data/lib/rr/errors/scenario_not_found_error.rb +3 -3
- data/lib/rr/errors/scenario_order_error.rb +3 -3
- data/lib/rr/errors/times_called_error.rb +3 -3
- data/lib/rr/expectations/any_argument_expectation.rb +1 -1
- data/lib/rr/expectations/argument_equality_expectation.rb +1 -1
- data/lib/rr/expectations/times_called_expectation.rb +1 -1
- data/lib/rr/hash_with_object_id_key.rb +1 -1
- data/lib/rr/space.rb +40 -40
- data/lib/rr/times_called_matchers/any_times_matcher.rb +13 -13
- data/lib/rr/times_called_matchers/at_least_matcher.rb +11 -11
- data/lib/rr/times_called_matchers/at_most_matcher.rb +16 -16
- data/lib/rr/times_called_matchers/integer_matcher.rb +13 -13
- data/lib/rr/times_called_matchers/non_terminal.rb +21 -21
- data/lib/rr/times_called_matchers/proc_matcher.rb +7 -7
- data/lib/rr/times_called_matchers/range_matcher.rb +14 -14
- data/lib/rr/times_called_matchers/terminal.rb +16 -16
- data/lib/rr/times_called_matchers/times_called_matcher.rb +32 -32
- data/spec/core_spec_suite.rb +18 -0
- data/{examples → spec}/environment_fixture_setup.rb +0 -1
- data/{examples/high_level_example.rb → spec/high_level_spec.rb} +11 -11
- data/spec/rr/adapters/rr_methods_argument_matcher_spec.rb +67 -0
- data/spec/rr/adapters/rr_methods_creator_spec.rb +365 -0
- data/spec/rr/adapters/rr_methods_space_spec.rb +134 -0
- data/spec/rr/adapters/rr_methods_spec_helper.rb +11 -0
- data/{examples/rr/extensions/instance_methods_times_matcher_example.rb → spec/rr/adapters/rr_methods_times_matcher_spec.rb} +4 -4
- data/spec/rr/double/double_insertion_bind_spec.rb +78 -0
- data/spec/rr/double/double_insertion_dispatching_spec.rb +221 -0
- data/spec/rr/double/double_insertion_has_original_method_spec.rb +56 -0
- data/spec/rr/double/double_insertion_register_scenario_spec.rb +24 -0
- data/spec/rr/double/double_insertion_reset_spec.rb +89 -0
- data/spec/rr/double/double_insertion_spec.rb +66 -0
- data/spec/rr/double/double_insertion_verify_spec.rb +23 -0
- data/spec/rr/double_creator_spec.rb +454 -0
- data/{examples/rr/scenario_definition_example.rb → spec/rr/double_definition_spec.rb} +143 -143
- data/spec/rr/double_method_proxy_spec.rb +71 -0
- data/spec/rr/double_spec.rb +654 -0
- data/spec/rr/errors/rr_error_spec.rb +65 -0
- data/spec/rr/expectations/any_argument_expectation_spec.rb +47 -0
- data/spec/rr/expectations/anything_argument_equality_expectation_spec.rb +38 -0
- data/spec/rr/expectations/argument_equality_expectation_spec.rb +58 -0
- data/spec/rr/expectations/boolean_argument_equality_expectation_spec.rb +53 -0
- data/spec/rr/expectations/duck_type_argument_equality_expectation_spec.rb +71 -0
- data/spec/rr/expectations/is_a_argument_equality_expectation_spec.rb +51 -0
- data/spec/rr/expectations/numeric_argument_equality_expectation_spec.rb +47 -0
- data/spec/rr/expectations/range_argument_equality_expectation_spec.rb +59 -0
- data/spec/rr/expectations/regexp_argument_equality_expectation_spec.rb +72 -0
- data/spec/rr/expectations/times_called_expectation/times_called_expectation_any_times_spec.rb +43 -0
- data/spec/rr/expectations/times_called_expectation/times_called_expectation_at_least_spec.rb +67 -0
- data/spec/rr/expectations/times_called_expectation/times_called_expectation_at_most_spec.rb +71 -0
- data/spec/rr/expectations/times_called_expectation/times_called_expectation_helper.rb +21 -0
- data/spec/rr/expectations/times_called_expectation/times_called_expectation_integer_spec.rb +103 -0
- data/spec/rr/expectations/times_called_expectation/times_called_expectation_proc_spec.rb +79 -0
- data/spec/rr/expectations/times_called_expectation/times_called_expectation_range_spec.rb +81 -0
- data/spec/rr/expectations/times_called_expectation/times_called_expectation_spec.rb +40 -0
- data/spec/rr/rspec/rspec_adapter_spec.rb +65 -0
- data/spec/rr/rspec/rspec_backtrace_tweaking_spec.rb +52 -0
- data/spec/rr/rspec/rspec_usage_spec.rb +67 -0
- data/spec/rr/space/hash_with_object_id_key_spec.rb +88 -0
- data/spec/rr/space/space_create_spec.rb +278 -0
- data/spec/rr/space/space_helper.rb +7 -0
- data/spec/rr/space/space_register_spec.rb +32 -0
- data/spec/rr/space/space_reset_spec.rb +131 -0
- data/spec/rr/space/space_spec.rb +32 -0
- data/spec/rr/space/space_verify_spec.rb +181 -0
- data/{examples → spec}/rr/test_unit/test_helper.rb +1 -1
- data/{examples → spec}/rr/test_unit/test_unit_backtrace_test.rb +0 -0
- data/{examples → spec}/rr/test_unit/test_unit_integration_test.rb +4 -4
- data/spec/rr/times_called_matchers/any_times_matcher_spec.rb +47 -0
- data/spec/rr/times_called_matchers/at_least_matcher_spec.rb +55 -0
- data/spec/rr/times_called_matchers/at_most_matcher_spec.rb +70 -0
- data/spec/rr/times_called_matchers/integer_matcher_spec.rb +70 -0
- data/spec/rr/times_called_matchers/proc_matcher_spec.rb +55 -0
- data/spec/rr/times_called_matchers/range_matcher_spec.rb +76 -0
- data/spec/rr/times_called_matchers/times_called_matcher_spec.rb +118 -0
- data/spec/rspec_spec_suite.rb +16 -0
- data/spec/spec_helper.rb +9 -0
- data/{examples/example_suite.rb → spec/spec_suite.rb} +3 -3
- data/{examples/test_unit_example_suite.rb → spec/test_unit_spec_suite.rb} +0 -0
- metadata +93 -93
- data/examples/core_example_suite.rb +0 -31
- data/examples/example_helper.rb +0 -9
- data/examples/rr/double/double_bind_example.rb +0 -70
- data/examples/rr/double/double_dispatching_example.rb +0 -236
- data/examples/rr/double/double_example.rb +0 -66
- data/examples/rr/double/double_has_original_method_example.rb +0 -56
- data/examples/rr/double/double_register_scenario_example.rb +0 -24
- data/examples/rr/double/double_reset_example.rb +0 -89
- data/examples/rr/double/double_verify_example.rb +0 -23
- data/examples/rr/errors/rr_error_example.rb +0 -65
- data/examples/rr/expectations/any_argument_expectation_example.rb +0 -52
- data/examples/rr/expectations/anything_argument_equality_expectation_example.rb +0 -38
- data/examples/rr/expectations/argument_equality_expectation_example.rb +0 -62
- data/examples/rr/expectations/boolean_argument_equality_expectation_example.rb +0 -48
- data/examples/rr/expectations/duck_type_argument_equality_expectation_example.rb +0 -67
- data/examples/rr/expectations/is_a_argument_equality_expectation_example.rb +0 -50
- data/examples/rr/expectations/numeric_argument_equality_expectation_example.rb +0 -46
- data/examples/rr/expectations/range_argument_equality_expectation_example.rb +0 -59
- data/examples/rr/expectations/regexp_argument_equality_expectation_example.rb +0 -67
- data/examples/rr/expectations/times_called_expectation/times_called_expectation_any_times_example.rb +0 -50
- data/examples/rr/expectations/times_called_expectation/times_called_expectation_at_least_example.rb +0 -73
- data/examples/rr/expectations/times_called_expectation/times_called_expectation_at_most_example.rb +0 -77
- data/examples/rr/expectations/times_called_expectation/times_called_expectation_example.rb +0 -42
- data/examples/rr/expectations/times_called_expectation/times_called_expectation_helper.rb +0 -20
- data/examples/rr/expectations/times_called_expectation/times_called_expectation_integer_example.rb +0 -111
- data/examples/rr/expectations/times_called_expectation/times_called_expectation_proc_example.rb +0 -88
- data/examples/rr/expectations/times_called_expectation/times_called_expectation_range_example.rb +0 -90
- data/examples/rr/extensions/instance_methods_argument_matcher_example.rb +0 -65
- data/examples/rr/extensions/instance_methods_creator_example.rb +0 -363
- data/examples/rr/extensions/instance_methods_example_helper.rb +0 -11
- data/examples/rr/extensions/instance_methods_space_example.rb +0 -122
- data/examples/rr/rspec/rspec_adapter_example.rb +0 -63
- data/examples/rr/rspec/rspec_backtrace_tweaking_example.rb +0 -36
- data/examples/rr/rspec/rspec_usage_example.rb +0 -65
- data/examples/rr/scenario_creator_example.rb +0 -459
- data/examples/rr/scenario_example.rb +0 -701
- data/examples/rr/scenario_method_proxy_example.rb +0 -71
- data/examples/rr/space/hash_with_object_id_key_example.rb +0 -86
- data/examples/rr/space/space_create_example.rb +0 -278
- data/examples/rr/space/space_example.rb +0 -29
- data/examples/rr/space/space_helper.rb +0 -7
- data/examples/rr/space/space_register_example.rb +0 -32
- data/examples/rr/space/space_reset_example.rb +0 -120
- data/examples/rr/space/space_verify_example.rb +0 -169
- data/examples/rr/times_called_matchers/any_times_matcher_example.rb +0 -63
- data/examples/rr/times_called_matchers/at_least_matcher_example.rb +0 -70
- data/examples/rr/times_called_matchers/at_most_matcher_example.rb +0 -85
- data/examples/rr/times_called_matchers/integer_matcher_example.rb +0 -91
- data/examples/rr/times_called_matchers/proc_matcher_example.rb +0 -77
- data/examples/rr/times_called_matchers/range_matcher_example.rb +0 -97
- data/examples/rr/times_called_matchers/times_called_matcher_example.rb +0 -53
- data/examples/rspec_example_suite.rb +0 -25
- data/lib/rr/extensions/instance_methods.rb +0 -228
- data/lib/rr/scenario.rb +0 -337
@@ -0,0 +1,16 @@
|
|
1
|
+
require "rubygems"
|
2
|
+
require "spec"
|
3
|
+
|
4
|
+
class RspecExampleSuite
|
5
|
+
def run
|
6
|
+
puts "Running Rspec Example Suite"
|
7
|
+
dir = File.dirname(__FILE__)
|
8
|
+
Dir["#{dir}/rr/rspec/**/*_spec.rb"].each do |file|
|
9
|
+
require file
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
if $0 == __FILE__
|
15
|
+
RspecExampleSuite.new.run
|
16
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
dir = File.dirname(__FILE__)
|
2
|
+
require "#{dir}/environment_fixture_setup"
|
3
|
+
require "spec/rr/space/space_helper"
|
4
|
+
require "spec/rr/expectations/times_called_expectation/times_called_expectation_helper"
|
5
|
+
require "spec/rr/adapters/rr_methods_spec_helper"
|
6
|
+
|
7
|
+
Spec::Runner.configure do |config|
|
8
|
+
config.mock_with RR::Adapters::Rspec
|
9
|
+
end
|
@@ -6,15 +6,15 @@ class ExampleSuite
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def run_core_examples
|
9
|
-
system("ruby #{dir}/
|
9
|
+
system("ruby #{dir}/core_spec_suite.rb") || raise("Core suite Failed")
|
10
10
|
end
|
11
11
|
|
12
12
|
def run_rspec_examples
|
13
|
-
system("ruby #{dir}/
|
13
|
+
system("ruby #{dir}/rspec_spec_suite.rb") || raise("Rspec suite Failed")
|
14
14
|
end
|
15
15
|
|
16
16
|
def run_test_unit_examples
|
17
|
-
system("ruby #{dir}/
|
17
|
+
system("ruby #{dir}/test_unit_spec_suite.rb") || raise("Test::Unit suite Failed")
|
18
18
|
end
|
19
19
|
|
20
20
|
def dir
|
File without changes
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.
|
2
|
+
rubygems_version: 0.9.4
|
3
3
|
specification_version: 1
|
4
4
|
name: rr
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
date: 2007-
|
6
|
+
version: 0.4.0
|
7
|
+
date: 2007-12-30 00:00:00 -08:00
|
8
8
|
summary: RR (Double Ruby) is a double framework that features a rich selection of double techniques and a terse syntax. http://xunitpatterns.com/Test%20Double.html
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -29,110 +29,110 @@ post_install_message:
|
|
29
29
|
authors:
|
30
30
|
- Brian Takita
|
31
31
|
files:
|
32
|
-
- README
|
33
32
|
- Rakefile
|
34
33
|
- CHANGES
|
35
|
-
-
|
36
|
-
- lib/rr
|
37
|
-
- lib/rr/
|
34
|
+
- README
|
35
|
+
- lib/rr.rb
|
36
|
+
- lib/rr/times_called_matchers/any_times_matcher.rb
|
37
|
+
- lib/rr/times_called_matchers/at_most_matcher.rb
|
38
|
+
- lib/rr/times_called_matchers/times_called_matcher.rb
|
39
|
+
- lib/rr/times_called_matchers/at_least_matcher.rb
|
40
|
+
- lib/rr/times_called_matchers/proc_matcher.rb
|
41
|
+
- lib/rr/times_called_matchers/integer_matcher.rb
|
42
|
+
- lib/rr/times_called_matchers/non_terminal.rb
|
43
|
+
- lib/rr/times_called_matchers/terminal.rb
|
44
|
+
- lib/rr/times_called_matchers/range_matcher.rb
|
45
|
+
- lib/rr/hash_with_object_id_key.rb
|
46
|
+
- lib/rr/double_insertion.rb
|
47
|
+
- lib/rr/double_creator.rb
|
38
48
|
- lib/rr/expectations/argument_equality_expectation.rb
|
39
49
|
- lib/rr/expectations/times_called_expectation.rb
|
40
50
|
- lib/rr/expectations/any_argument_expectation.rb
|
41
|
-
- lib/rr/
|
42
|
-
- lib/rr/double.rb
|
43
|
-
- lib/rr/errors/times_called_error.rb
|
51
|
+
- lib/rr/double_matches.rb
|
44
52
|
- lib/rr/errors/scenario_not_found_error.rb
|
45
|
-
- lib/rr/errors/scenario_order_error.rb
|
46
53
|
- lib/rr/errors/argument_equality_error.rb
|
54
|
+
- lib/rr/errors/scenario_order_error.rb
|
47
55
|
- lib/rr/errors/rr_error.rb
|
56
|
+
- lib/rr/errors/times_called_error.rb
|
48
57
|
- lib/rr/errors/scenario_definition_error.rb
|
49
|
-
- lib/rr/
|
58
|
+
- lib/rr/double_definition_builder.rb
|
59
|
+
- lib/rr/adapters/rr_methods.rb
|
60
|
+
- lib/rr/adapters/test_unit.rb
|
61
|
+
- lib/rr/adapters/rspec.rb
|
62
|
+
- lib/rr/double_definition.rb
|
63
|
+
- lib/rr/double_method_proxy.rb
|
50
64
|
- lib/rr/space.rb
|
51
|
-
- lib/rr/scenario_definition_builder.rb
|
52
|
-
- lib/rr/scenario_definition.rb
|
53
65
|
- lib/rr/wildcard_matchers/boolean.rb
|
54
|
-
- lib/rr/wildcard_matchers/anything.rb
|
55
|
-
- lib/rr/wildcard_matchers/numeric.rb
|
56
66
|
- lib/rr/wildcard_matchers/duck_type.rb
|
67
|
+
- lib/rr/wildcard_matchers/range.rb
|
57
68
|
- lib/rr/wildcard_matchers/regexp.rb
|
69
|
+
- lib/rr/wildcard_matchers/numeric.rb
|
58
70
|
- lib/rr/wildcard_matchers/is_a.rb
|
59
|
-
- lib/rr/wildcard_matchers/
|
60
|
-
- lib/rr/
|
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
|
-
- examples/rr/scenario_method_proxy_example.rb
|
125
|
-
- examples/rr/scenario_definition_example.rb
|
126
|
-
- examples/rr/errors/rr_error_example.rb
|
127
|
-
- examples/rspec_example_suite.rb
|
128
|
-
- examples/high_level_example.rb
|
129
|
-
- examples/test_unit_example_suite.rb
|
130
|
-
- examples/example_suite.rb
|
131
|
-
- examples/environment_fixture_setup.rb
|
132
|
-
- examples/example_helper.rb
|
133
|
-
- examples/core_example_suite.rb
|
134
|
-
test_files: []
|
135
|
-
|
71
|
+
- lib/rr/wildcard_matchers/anything.rb
|
72
|
+
- lib/rr/double.rb
|
73
|
+
- spec/environment_fixture_setup.rb
|
74
|
+
- spec/spec_suite.rb
|
75
|
+
- spec/test_unit_spec_suite.rb
|
76
|
+
- spec/spec_helper.rb
|
77
|
+
- spec/high_level_spec.rb
|
78
|
+
- spec/rr/rspec/rspec_backtrace_tweaking_spec.rb
|
79
|
+
- spec/rr/rspec/rspec_usage_spec.rb
|
80
|
+
- spec/rr/rspec/rspec_adapter_spec.rb
|
81
|
+
- spec/rr/double_spec.rb
|
82
|
+
- spec/rr/times_called_matchers/proc_matcher_spec.rb
|
83
|
+
- spec/rr/times_called_matchers/any_times_matcher_spec.rb
|
84
|
+
- spec/rr/times_called_matchers/range_matcher_spec.rb
|
85
|
+
- spec/rr/times_called_matchers/times_called_matcher_spec.rb
|
86
|
+
- spec/rr/times_called_matchers/at_least_matcher_spec.rb
|
87
|
+
- spec/rr/times_called_matchers/at_most_matcher_spec.rb
|
88
|
+
- spec/rr/times_called_matchers/integer_matcher_spec.rb
|
89
|
+
- spec/rr/double_creator_spec.rb
|
90
|
+
- spec/rr/space/space_create_spec.rb
|
91
|
+
- spec/rr/space/hash_with_object_id_key_spec.rb
|
92
|
+
- spec/rr/space/space_register_spec.rb
|
93
|
+
- spec/rr/space/space_verify_spec.rb
|
94
|
+
- spec/rr/space/space_reset_spec.rb
|
95
|
+
- spec/rr/space/space_spec.rb
|
96
|
+
- spec/rr/space/space_helper.rb
|
97
|
+
- spec/rr/expectations/times_called_expectation/times_called_expectation_proc_spec.rb
|
98
|
+
- spec/rr/expectations/times_called_expectation/times_called_expectation_helper.rb
|
99
|
+
- spec/rr/expectations/times_called_expectation/times_called_expectation_at_least_spec.rb
|
100
|
+
- spec/rr/expectations/times_called_expectation/times_called_expectation_integer_spec.rb
|
101
|
+
- spec/rr/expectations/times_called_expectation/times_called_expectation_spec.rb
|
102
|
+
- spec/rr/expectations/times_called_expectation/times_called_expectation_at_most_spec.rb
|
103
|
+
- spec/rr/expectations/times_called_expectation/times_called_expectation_range_spec.rb
|
104
|
+
- spec/rr/expectations/times_called_expectation/times_called_expectation_any_times_spec.rb
|
105
|
+
- spec/rr/expectations/boolean_argument_equality_expectation_spec.rb
|
106
|
+
- spec/rr/expectations/regexp_argument_equality_expectation_spec.rb
|
107
|
+
- spec/rr/expectations/anything_argument_equality_expectation_spec.rb
|
108
|
+
- spec/rr/expectations/is_a_argument_equality_expectation_spec.rb
|
109
|
+
- spec/rr/expectations/any_argument_expectation_spec.rb
|
110
|
+
- spec/rr/expectations/argument_equality_expectation_spec.rb
|
111
|
+
- spec/rr/expectations/numeric_argument_equality_expectation_spec.rb
|
112
|
+
- spec/rr/expectations/duck_type_argument_equality_expectation_spec.rb
|
113
|
+
- spec/rr/expectations/range_argument_equality_expectation_spec.rb
|
114
|
+
- spec/rr/errors/rr_error_spec.rb
|
115
|
+
- spec/rr/adapters/rr_methods_spec_helper.rb
|
116
|
+
- spec/rr/adapters/rr_methods_times_matcher_spec.rb
|
117
|
+
- spec/rr/adapters/rr_methods_space_spec.rb
|
118
|
+
- spec/rr/adapters/rr_methods_creator_spec.rb
|
119
|
+
- spec/rr/adapters/rr_methods_argument_matcher_spec.rb
|
120
|
+
- spec/rr/double_definition_spec.rb
|
121
|
+
- spec/rr/double/double_insertion_bind_spec.rb
|
122
|
+
- spec/rr/double/double_insertion_dispatching_spec.rb
|
123
|
+
- spec/rr/double/double_insertion_has_original_method_spec.rb
|
124
|
+
- spec/rr/double/double_insertion_verify_spec.rb
|
125
|
+
- spec/rr/double/double_insertion_spec.rb
|
126
|
+
- spec/rr/double/double_insertion_register_scenario_spec.rb
|
127
|
+
- spec/rr/double/double_insertion_reset_spec.rb
|
128
|
+
- spec/rr/double_method_proxy_spec.rb
|
129
|
+
- spec/rr/test_unit/test_unit_backtrace_test.rb
|
130
|
+
- spec/rr/test_unit/test_helper.rb
|
131
|
+
- spec/rr/test_unit/test_unit_integration_test.rb
|
132
|
+
- spec/rspec_spec_suite.rb
|
133
|
+
- spec/core_spec_suite.rb
|
134
|
+
test_files:
|
135
|
+
- spec/high_level_spec.rb
|
136
136
|
rdoc_options:
|
137
137
|
- --main
|
138
138
|
- README
|
@@ -1,31 +0,0 @@
|
|
1
|
-
require "rubygems"
|
2
|
-
require "spec"
|
3
|
-
|
4
|
-
class CoreExampleSuite
|
5
|
-
def run
|
6
|
-
options = ::Spec::Runner::OptionParser.new.parse(ARGV.dup, STDERR, STDOUT, false)
|
7
|
-
options.configure
|
8
|
-
$behaviour_runner = options.create_behaviour_runner
|
9
|
-
|
10
|
-
require_specs
|
11
|
-
|
12
|
-
puts "Running Rspec Example Suite"
|
13
|
-
$behaviour_runner.run(ARGV, false)
|
14
|
-
end
|
15
|
-
|
16
|
-
def require_specs
|
17
|
-
exclusions = []
|
18
|
-
exclusions << "rspec/"
|
19
|
-
exclusions << "test_unit/"
|
20
|
-
|
21
|
-
Dir["#{File.dirname(__FILE__)}/**/*_example.rb"].each do |file|
|
22
|
-
unless exclusions.any? {|match| file.include?(match)}
|
23
|
-
require file
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
if $0 == __FILE__
|
30
|
-
CoreExampleSuite.new.run
|
31
|
-
end
|
data/examples/example_helper.rb
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
dir = File.dirname(__FILE__)
|
2
|
-
require "#{dir}/environment_fixture_setup"
|
3
|
-
require "examples/rr/space/space_helper"
|
4
|
-
require "examples/rr/expectations/times_called_expectation/times_called_expectation_helper"
|
5
|
-
require "examples/rr/extensions/instance_methods_example_helper"
|
6
|
-
|
7
|
-
Spec::Runner.configure do |config|
|
8
|
-
config.mock_with RR::Adapters::Rspec
|
9
|
-
end
|
@@ -1,70 +0,0 @@
|
|
1
|
-
require "examples/example_helper"
|
2
|
-
|
3
|
-
module RR
|
4
|
-
describe Double, "#bind with an existing method" do
|
5
|
-
before do
|
6
|
-
@space = Space.new
|
7
|
-
@object = Object.new
|
8
|
-
@method_name = :foobar
|
9
|
-
def @object.foobar; :original_foobar; end
|
10
|
-
@original_method = @object.method(:foobar)
|
11
|
-
@object.methods.should include(@method_name.to_s)
|
12
|
-
@double = Double.new(@space, @object, @method_name)
|
13
|
-
end
|
14
|
-
|
15
|
-
it "overrides the original method with the double's dispatching methods" do
|
16
|
-
@object.respond_to?(:__rr__foobar).should == false
|
17
|
-
@double.bind
|
18
|
-
@object.respond_to?(:__rr__foobar).should == true
|
19
|
-
|
20
|
-
rr_foobar_called = false
|
21
|
-
(class << @object; self; end).class_eval do
|
22
|
-
define_method :__rr__foobar do
|
23
|
-
rr_foobar_called = true
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
rr_foobar_called.should == false
|
28
|
-
@object.foobar
|
29
|
-
rr_foobar_called.should == true
|
30
|
-
end
|
31
|
-
|
32
|
-
it "stores original method in __rr__original_method_name" do
|
33
|
-
@double.bind
|
34
|
-
@object.respond_to?(:__rr__original_foobar).should == true
|
35
|
-
@object.method(:__rr__original_foobar).should == @original_method
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
describe Double, "#bind without an existing method" do
|
40
|
-
before do
|
41
|
-
@space = Space.new
|
42
|
-
@object = Object.new
|
43
|
-
@method_name = :foobar
|
44
|
-
@object.methods.should_not include(@method_name.to_s)
|
45
|
-
@double = Double.new(@space, @object, @method_name)
|
46
|
-
end
|
47
|
-
|
48
|
-
it "overrides the original method with the double's dispatching methods" do
|
49
|
-
@object.respond_to?(:__rr__foobar).should == false
|
50
|
-
@double.bind
|
51
|
-
@object.respond_to?(:__rr__foobar).should == true
|
52
|
-
|
53
|
-
rr_foobar_called = false
|
54
|
-
(class << @object; self; end).class_eval do
|
55
|
-
define_method :__rr__foobar do
|
56
|
-
rr_foobar_called = true
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
rr_foobar_called.should == false
|
61
|
-
@object.foobar
|
62
|
-
rr_foobar_called.should == true
|
63
|
-
end
|
64
|
-
|
65
|
-
it "stores original method in __rr__original_method_name" do
|
66
|
-
@double.bind
|
67
|
-
@object.respond_to?(:__rr__original_foobar).should == false
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
@@ -1,236 +0,0 @@
|
|
1
|
-
require "examples/example_helper"
|
2
|
-
|
3
|
-
module RR
|
4
|
-
describe Double, "method dispatching", :shared => true 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
|
-
end
|
13
|
-
|
14
|
-
describe Double, " method dispatching where method name has a ! in it" do
|
15
|
-
before do
|
16
|
-
@space = Space.new
|
17
|
-
@object = Object.new
|
18
|
-
@method_name = :foobar!
|
19
|
-
@object.methods.should_not include(@method_name.to_s)
|
20
|
-
@double = @space.double(@object, @method_name)
|
21
|
-
end
|
22
|
-
|
23
|
-
it "executes the block" do
|
24
|
-
scenario = @space.scenario(@double)
|
25
|
-
scenario.with(1, 2) {:return_value}
|
26
|
-
@object.foobar!(1, 2).should == :return_value
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
describe Double, " method dispatching where method name has a ? in it" do
|
31
|
-
before do
|
32
|
-
@space = Space.new
|
33
|
-
@object = Object.new
|
34
|
-
@method_name = :foobar?
|
35
|
-
@object.methods.should_not include(@method_name.to_s)
|
36
|
-
@double = @space.double(@object, @method_name)
|
37
|
-
end
|
38
|
-
|
39
|
-
it "executes the block" do
|
40
|
-
scenario = @space.scenario(@double)
|
41
|
-
scenario.with(1, 2) {:return_value}
|
42
|
-
@object.foobar?(1, 2).should == :return_value
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
describe Double, " method dispatching where the scenario takes a block" do
|
47
|
-
it_should_behave_like "RR::Double method dispatching"
|
48
|
-
|
49
|
-
it "executes the block" do
|
50
|
-
method_fixture = Object.new
|
51
|
-
class << method_fixture
|
52
|
-
def method_with_block(a, b)
|
53
|
-
yield(a,b)
|
54
|
-
end
|
55
|
-
end
|
56
|
-
scenario = @space.scenario(@double)
|
57
|
-
scenario.with(1, 2).implemented_by(method_fixture.method(:method_with_block))
|
58
|
-
@object.foobar(1, 2) {|a, b| [b, a]}.should == [2, 1]
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
describe Double, " method dispatching where there are no scenarios with duplicate ArgumentExpectations" do
|
63
|
-
it_should_behave_like "RR::Double method dispatching"
|
64
|
-
|
65
|
-
it "dispatches to Scenario that have an exact match" do
|
66
|
-
scenario1_with_exact_match = @space.scenario(@double)
|
67
|
-
scenario1_with_exact_match.with(:exact_match_1).returns {:return_1}
|
68
|
-
scenario_with_no_match = @space.scenario(@double)
|
69
|
-
scenario_with_no_match.with("nothing that matches").returns {:no_match}
|
70
|
-
scenario2_with_exact_match = @space.scenario(@double)
|
71
|
-
scenario2_with_exact_match.with(:exact_match_2).returns {:return_2}
|
72
|
-
|
73
|
-
@object.foobar(:exact_match_1).should == :return_1
|
74
|
-
@object.foobar(:exact_match_2).should == :return_2
|
75
|
-
end
|
76
|
-
|
77
|
-
it "dispatches to Scenario that have a wildcard match" do
|
78
|
-
scenario_with_wildcard_match = @space.scenario(@double)
|
79
|
-
scenario_with_wildcard_match.with_any_args.returns {:wild_card_value}
|
80
|
-
scenario_with_no_match = @space.scenario(@double)
|
81
|
-
scenario_with_no_match.with("nothing that matches").returns {:no_match}
|
82
|
-
|
83
|
-
@object.foobar(:wildcard_match_1).should == :wild_card_value
|
84
|
-
@object.foobar(:wildcard_match_2, 3).should == :wild_card_value
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|
88
|
-
describe Double, " method dispatching where there are scenarios" do
|
89
|
-
it_should_behave_like "RR::Double method dispatching"
|
90
|
-
|
91
|
-
it "raises ScenarioNotFoundError error when arguments do not match a scenario" do
|
92
|
-
scenario_1 = @space.scenario(@double)
|
93
|
-
scenario_1.with(1, 2)
|
94
|
-
|
95
|
-
scenario_2 = @space.scenario(@double)
|
96
|
-
scenario_2.with(3)
|
97
|
-
|
98
|
-
proc {@object.foobar(:arg1, :arg2)}.should raise_error(
|
99
|
-
Errors::ScenarioNotFoundError,
|
100
|
-
"No scenario for foobar(:arg1, :arg2) in\n" <<
|
101
|
-
"- foobar(1, 2)\n" <<
|
102
|
-
"- foobar(3)"
|
103
|
-
)
|
104
|
-
end
|
105
|
-
end
|
106
|
-
|
107
|
-
describe Double, " method dispatching where there are Scenarios with NonTerminal TimesCalledMatchers" do
|
108
|
-
it_should_behave_like "RR::Double method dispatching"
|
109
|
-
|
110
|
-
it "dispatches to Scenario with exact match" do
|
111
|
-
scenario = scenario(1, 2) {:return_value}
|
112
|
-
@object.foobar(1, 2).should == :return_value
|
113
|
-
end
|
114
|
-
|
115
|
-
it "matches to the last Scenario that was registered with an exact match" do
|
116
|
-
scenario_1 = scenario(1, 2) {:value_1}
|
117
|
-
scenario_2 = scenario(1, 2) {:value_2}
|
118
|
-
|
119
|
-
@object.foobar(1, 2).should == :value_2
|
120
|
-
end
|
121
|
-
|
122
|
-
it "dispatches to Scenario with wildcard match" do
|
123
|
-
scenario = scenario(anything) {:return_value}
|
124
|
-
@object.foobar(:dont_care).should == :return_value
|
125
|
-
end
|
126
|
-
|
127
|
-
it "matches to the last Scenario that was registered with a wildcard match" do
|
128
|
-
scenario_1 = scenario(anything) {:value_1}
|
129
|
-
scenario_2 = scenario(anything) {:value_2}
|
130
|
-
|
131
|
-
@object.foobar(:dont_care).should == :value_2
|
132
|
-
end
|
133
|
-
|
134
|
-
it "matches to Scenario with exact match Scenario even when a Scenario with wildcard match was registered later" do
|
135
|
-
exact_scenario_registered_first = scenario(1, 2) {:exact_first}
|
136
|
-
wildcard_scenario_registered_last = scenario(anything, anything) {:wildcard_last}
|
137
|
-
|
138
|
-
@object.foobar(1, 2).should == :exact_first
|
139
|
-
end
|
140
|
-
|
141
|
-
def scenario(*arguments, &return_value)
|
142
|
-
scenario = @space.scenario(@double)
|
143
|
-
scenario.with(*arguments).any_number_of_times.returns(&return_value)
|
144
|
-
scenario.should_not be_terminal
|
145
|
-
scenario
|
146
|
-
end
|
147
|
-
end
|
148
|
-
|
149
|
-
describe Double, " method dispatching where there are Terminal Scenarios with duplicate Exact Match ArgumentExpectations" do
|
150
|
-
it_should_behave_like "RR::Double method dispatching"
|
151
|
-
|
152
|
-
it "dispatches to Scenario that have an exact match" do
|
153
|
-
scenario1_with_exact_match = scenario(:exact_match) {:return_1}
|
154
|
-
|
155
|
-
@object.foobar(:exact_match).should == :return_1
|
156
|
-
end
|
157
|
-
|
158
|
-
it "dispatches to the first Scenario that have an exact match" do
|
159
|
-
scenario1_with_exact_match = scenario(:exact_match) {:return_1}
|
160
|
-
scenario2_with_exact_match = scenario(:exact_match) {:return_2}
|
161
|
-
|
162
|
-
@object.foobar(:exact_match).should == :return_1
|
163
|
-
end
|
164
|
-
|
165
|
-
it "dispatches the second Scenario with an exact match
|
166
|
-
when the first scenario's Times Called expectation is satisfied" do
|
167
|
-
scenario1_with_exact_match = scenario(:exact_match) {:return_1}
|
168
|
-
scenario2_with_exact_match = scenario(:exact_match) {:return_2}
|
169
|
-
|
170
|
-
@object.foobar(:exact_match)
|
171
|
-
@object.foobar(:exact_match).should == :return_2
|
172
|
-
end
|
173
|
-
|
174
|
-
it "raises TimesCalledError when all of the scenarios Times Called expectation is satisfied" do
|
175
|
-
scenario1_with_exact_match = scenario(:exact_match) {:return_1}
|
176
|
-
scenario2_with_exact_match = scenario(:exact_match) {:return_2}
|
177
|
-
|
178
|
-
@object.foobar(:exact_match)
|
179
|
-
@object.foobar(:exact_match)
|
180
|
-
proc do
|
181
|
-
@object.foobar(:exact_match)
|
182
|
-
end.should raise_error(Errors::TimesCalledError)
|
183
|
-
end
|
184
|
-
|
185
|
-
def scenario(*arguments, &return_value)
|
186
|
-
scenario = @space.scenario(@double)
|
187
|
-
scenario.with(*arguments).once.returns(&return_value)
|
188
|
-
scenario.should be_terminal
|
189
|
-
scenario
|
190
|
-
end
|
191
|
-
end
|
192
|
-
|
193
|
-
describe Double, " method dispatching where there are scenarios with duplicate Wildcard Match ArgumentExpectations" do
|
194
|
-
it_should_behave_like "RR::Double method dispatching"
|
195
|
-
|
196
|
-
it "dispatches to Scenario that have a wildcard match" do
|
197
|
-
scenario_1 = scenario {:return_1}
|
198
|
-
|
199
|
-
@object.foobar(:anything).should == :return_1
|
200
|
-
end
|
201
|
-
|
202
|
-
it "dispatches to the first Scenario that has a wildcard match" do
|
203
|
-
scenario_1 = scenario {:return_1}
|
204
|
-
scenario_2 = scenario {:return_2}
|
205
|
-
|
206
|
-
@object.foobar(:anything).should == :return_1
|
207
|
-
end
|
208
|
-
|
209
|
-
it "dispatches the second Scenario with a wildcard match
|
210
|
-
when the first scenario's Times Called expectation is satisfied" do
|
211
|
-
scenario_1 = scenario {:return_1}
|
212
|
-
scenario_2 = scenario {:return_2}
|
213
|
-
|
214
|
-
@object.foobar(:anything)
|
215
|
-
@object.foobar(:anything).should == :return_2
|
216
|
-
end
|
217
|
-
|
218
|
-
it "raises TimesCalledError when all of the scenarios Times Called expectation is satisfied" do
|
219
|
-
scenario_1 = scenario {:return_1}
|
220
|
-
scenario_2 = scenario {:return_2}
|
221
|
-
|
222
|
-
@object.foobar(:anything)
|
223
|
-
@object.foobar(:anything)
|
224
|
-
proc do
|
225
|
-
@object.foobar(:anything)
|
226
|
-
end.should raise_error(Errors::TimesCalledError)
|
227
|
-
end
|
228
|
-
|
229
|
-
def scenario(&return_value)
|
230
|
-
scenario = @space.scenario(@double)
|
231
|
-
scenario.with_any_args.once.returns(&return_value)
|
232
|
-
scenario.should be_terminal
|
233
|
-
scenario
|
234
|
-
end
|
235
|
-
end
|
236
|
-
end
|