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
@@ -17,146 +17,146 @@ else
17
17
  end
18
18
 
19
19
  if defined?(MiniTest)
20
-
20
+
21
21
  # monkey-patch MiniTest now that it has hopefully been loaded
22
22
  require 'mocha/integration/mini_test'
23
23
 
24
24
  class MiniTestSampleTest < MiniTest::Unit::TestCase
25
-
25
+
26
26
  def test_mocha_with_fulfilled_expectation
27
27
  mockee = mock()
28
28
  mockee.expects(:blah)
29
29
  mockee.blah
30
30
  end
31
-
31
+
32
32
  def test_mocha_with_unfulfilled_expectation
33
33
  mockee = mock()
34
34
  mockee.expects(:blah)
35
35
  end
36
-
36
+
37
37
  def test_mocha_with_unexpected_invocation
38
38
  mockee = mock()
39
39
  mockee.blah
40
40
  end
41
-
41
+
42
42
  def test_stubba_with_fulfilled_expectation
43
43
  stubbee = Class.new { define_method(:blah) {} }.new
44
44
  stubbee.expects(:blah)
45
45
  stubbee.blah
46
46
  end
47
-
47
+
48
48
  def test_stubba_with_unfulfilled_expectation
49
49
  stubbee = Class.new { define_method(:blah) {} }.new
50
50
  stubbee.expects(:blah)
51
51
  end
52
-
52
+
53
53
  def test_mocha_with_matching_parameter
54
54
  mockee = mock()
55
55
  mockee.expects(:blah).with(has_key(:wibble))
56
56
  mockee.blah(:wibble => 1)
57
57
  end
58
-
58
+
59
59
  def test_mocha_with_non_matching_parameter
60
60
  mockee = mock()
61
61
  mockee.expects(:blah).with(has_key(:wibble))
62
62
  mockee.blah(:wobble => 2)
63
63
  end
64
-
64
+
65
65
  end
66
66
 
67
67
  class MiniTestTest < Test::Unit::TestCase
68
-
68
+
69
69
  def setup
70
70
  @output = StringIO.new
71
71
  MiniTest::Unit.output = @output
72
72
  @runner = MiniTest::Unit.new
73
73
  end
74
-
74
+
75
75
  attr_reader :runner
76
-
76
+
77
77
  def test_should_pass_mocha_test
78
- run_test :test_mocha_with_fulfilled_expectation
79
-
78
+ run_test_method :test_mocha_with_fulfilled_expectation
79
+
80
80
  assert_equal 0, runner.failures
81
81
  assert_equal 0, runner.errors
82
82
  assert_equal 1, runner.assertion_count
83
83
  end
84
84
 
85
85
  def test_should_fail_mocha_test_due_to_unfulfilled_expectation
86
- run_test :test_mocha_with_unfulfilled_expectation
87
-
86
+ run_test_method :test_mocha_with_unfulfilled_expectation
87
+
88
88
  assert_equal 1, runner.failures
89
89
  assert_equal 0, runner.errors
90
90
  assert_equal 1, runner.assertion_count
91
91
  assert_not_all_expectation_were_satisfied
92
92
  end
93
-
93
+
94
94
  def test_should_fail_mocha_test_due_to_unexpected_invocation
95
- run_test :test_mocha_with_unexpected_invocation
96
-
95
+ run_test_method :test_mocha_with_unexpected_invocation
96
+
97
97
  assert_equal 1, runner.failures
98
98
  assert_equal 0, runner.errors
99
99
  assert_equal 0, runner.assertion_count
100
100
  assert_unexpected_invocation
101
101
  end
102
-
102
+
103
103
  def test_should_pass_stubba_test
104
- run_test :test_stubba_with_fulfilled_expectation
105
-
104
+ run_test_method :test_stubba_with_fulfilled_expectation
105
+
106
106
  assert_equal 0, runner.failures
107
107
  assert_equal 0, runner.errors
108
108
  assert_equal 1, runner.assertion_count
109
109
  end
110
-
110
+
111
111
  def test_should_fail_stubba_test_due_to_unfulfilled_expectation
112
- run_test :test_stubba_with_unfulfilled_expectation
113
-
112
+ run_test_method :test_stubba_with_unfulfilled_expectation
113
+
114
114
  assert_equal 1, runner.failures
115
115
  assert_equal 0, runner.errors
116
116
  assert_equal 1, runner.assertion_count
117
117
  assert_not_all_expectation_were_satisfied
118
118
  end
119
-
119
+
120
120
  def test_should_pass_mocha_test_with_matching_parameter
121
- run_test :test_mocha_with_matching_parameter
122
-
121
+ run_test_method :test_mocha_with_matching_parameter
122
+
123
123
  assert_equal 0, runner.failures
124
124
  assert_equal 0, runner.errors
125
125
  assert_equal 1, runner.assertion_count
126
126
  end
127
-
127
+
128
128
  def test_should_fail_mocha_test_with_non_matching_parameter
129
- run_test :test_mocha_with_non_matching_parameter
130
-
129
+ run_test_method :test_mocha_with_non_matching_parameter
130
+
131
131
  assert_equal 1, runner.failures
132
132
  assert_equal 0, runner.errors
133
133
  assert_equal 0, runner.assertion_count # unexpected invocation occurs before expectation is verified
134
134
  assert_unexpected_invocation
135
135
  end
136
-
136
+
137
137
  private
138
138
 
139
- def run_test(method_name)
139
+ def run_test_method(method_name)
140
140
  run_method = (MiniTest::Unit::VERSION >= "2.1.0") ? :_run : :run
141
141
  runner.send(run_method, ["-n", method_name.to_s])
142
142
  end
143
-
143
+
144
144
  def output
145
145
  @output.rewind
146
146
  @output.read
147
147
  end
148
-
148
+
149
149
  def assert_unexpected_invocation
150
150
  assert_match Regexp.new('unexpected invocation'), output, "MiniTest output:\n#{output}"
151
151
  end
152
-
152
+
153
153
  def assert_not_all_expectation_were_satisfied
154
154
  assert_match Regexp.new('not all expectations were satisfied'), output, "MiniTest output:\n#{output}"
155
155
  end
156
-
156
+
157
157
  end
158
-
158
+
159
159
  else
160
160
  $stderr.puts "MiniTest is not available, so MiniTestAdapterTest has not been run."
161
161
  end
162
- end
162
+ end
@@ -2,97 +2,97 @@ require File.expand_path('../../test_helper', __FILE__)
2
2
  require 'mocha'
3
3
 
4
4
  class MochaExampleTest < Test::Unit::TestCase
5
-
5
+
6
6
  class Rover
7
-
7
+
8
8
  def initialize(left_track, right_track, steps_per_metre, steps_per_degree)
9
9
  @left_track, @right_track, @steps_per_metre, @steps_per_degree = left_track, right_track, steps_per_metre, steps_per_degree
10
10
  end
11
-
11
+
12
12
  def forward(metres)
13
13
  @left_track.step(metres * @steps_per_metre)
14
14
  @right_track.step(metres * @steps_per_metre)
15
15
  wait
16
16
  end
17
-
17
+
18
18
  def backward(metres)
19
19
  forward(-metres)
20
20
  end
21
-
21
+
22
22
  def left(degrees)
23
23
  @left_track.step(-degrees * @steps_per_degree)
24
24
  @right_track.step(+degrees * @steps_per_degree)
25
25
  wait
26
26
  end
27
-
27
+
28
28
  def right(degrees)
29
29
  left(-degrees)
30
30
  end
31
-
31
+
32
32
  def wait
33
33
  while (@left_track.moving? or @right_track.moving?); end
34
34
  end
35
-
35
+
36
36
  end
37
-
37
+
38
38
  def test_should_step_both_tracks_forward_ten_steps
39
39
  left_track = mock('left_track')
40
40
  right_track = mock('right_track')
41
41
  steps_per_metre = 5
42
42
  rover = Rover.new(left_track, right_track, steps_per_metre, nil)
43
-
43
+
44
44
  left_track.expects(:step).with(10)
45
45
  right_track.expects(:step).with(10)
46
-
46
+
47
47
  left_track.stubs(:moving?).returns(false)
48
48
  right_track.stubs(:moving?).returns(false)
49
-
49
+
50
50
  rover.forward(2)
51
51
  end
52
-
52
+
53
53
  def test_should_step_both_tracks_backward_ten_steps
54
54
  left_track = mock('left_track')
55
55
  right_track = mock('right_track')
56
56
  steps_per_metre = 5
57
57
  rover = Rover.new(left_track, right_track, steps_per_metre, nil)
58
-
58
+
59
59
  left_track.expects(:step).with(-10)
60
60
  right_track.expects(:step).with(-10)
61
-
61
+
62
62
  left_track.stubs(:moving?).returns(false)
63
63
  right_track.stubs(:moving?).returns(false)
64
-
64
+
65
65
  rover.backward(2)
66
66
  end
67
-
67
+
68
68
  def test_should_step_left_track_forwards_five_steps_and_right_track_backwards_five_steps
69
69
  left_track = mock('left_track')
70
70
  right_track = mock('right_track')
71
71
  steps_per_degree = 5.0 / 90.0
72
72
  rover = Rover.new(left_track, right_track, nil, steps_per_degree)
73
-
73
+
74
74
  left_track.expects(:step).with(+5)
75
75
  right_track.expects(:step).with(-5)
76
-
76
+
77
77
  left_track.stubs(:moving?).returns(false)
78
78
  right_track.stubs(:moving?).returns(false)
79
-
79
+
80
80
  rover.right(90)
81
81
  end
82
-
82
+
83
83
  def test_should_step_left_track_backwards_five_steps_and_right_track_forwards_five_steps
84
84
  left_track = mock('left_track')
85
85
  right_track = mock('right_track')
86
86
  steps_per_degree = 5.0 / 90.0
87
87
  rover = Rover.new(left_track, right_track, nil, steps_per_degree)
88
-
88
+
89
89
  left_track.expects(:step).with(-5)
90
90
  right_track.expects(:step).with(+5)
91
-
91
+
92
92
  left_track.stubs(:moving?).returns(false)
93
93
  right_track.stubs(:moving?).returns(false)
94
-
94
+
95
95
  rover.left(90)
96
96
  end
97
-
98
- end
97
+
98
+ end
@@ -3,13 +3,13 @@ require 'mocha'
3
3
  require 'execution_point'
4
4
 
5
5
  class MochaTestResultTest < Test::Unit::TestCase
6
-
6
+
7
7
  include AcceptanceTest
8
-
8
+
9
9
  def setup
10
10
  setup_acceptance_test
11
11
  end
12
-
12
+
13
13
  def teardown
14
14
  teardown_acceptance_test
15
15
  end
@@ -22,14 +22,14 @@ class MochaTestResultTest < Test::Unit::TestCase
22
22
  end
23
23
  assert_equal 1, test_result.assertion_count
24
24
  end
25
-
25
+
26
26
  def test_should_include_assertions_in_assertion_count
27
27
  test_result = run_as_test do
28
28
  assert true
29
29
  end
30
30
  assert_equal 1, test_result.assertion_count
31
31
  end
32
-
32
+
33
33
  def test_should_not_include_stubbing_expectation_verification_in_assertion_count
34
34
  test_result = run_as_test do
35
35
  object = mock()
@@ -38,7 +38,7 @@ class MochaTestResultTest < Test::Unit::TestCase
38
38
  end
39
39
  assert_equal 0, test_result.assertion_count
40
40
  end
41
-
41
+
42
42
  def test_should_include_expectation_verification_failure_in_failure_count
43
43
  test_result = run_as_test do
44
44
  object = mock()
@@ -46,7 +46,7 @@ class MochaTestResultTest < Test::Unit::TestCase
46
46
  end
47
47
  assert_equal 1, test_result.failure_count
48
48
  end
49
-
49
+
50
50
  def test_should_include_unexpected_verification_failure_in_failure_count
51
51
  test_result = run_as_test do
52
52
  object = mock()
@@ -54,24 +54,24 @@ class MochaTestResultTest < Test::Unit::TestCase
54
54
  end
55
55
  assert_equal 1, test_result.failure_count
56
56
  end
57
-
57
+
58
58
  def test_should_include_assertion_failure_in_failure_count
59
59
  test_result = run_as_test do
60
60
  flunk
61
61
  end
62
62
  assert_equal 1, test_result.failure_count
63
63
  end
64
-
64
+
65
65
  def test_should_display_backtrace_indicating_line_number_where_unexpected_method_was_called
66
66
  execution_point = nil
67
67
  test_result = run_as_test do
68
68
  object = mock()
69
- execution_point = ExecutionPoint.current; object.message
69
+ execution_point = ExecutionPoint.current; object.message
70
70
  end
71
71
  assert_equal 1, test_result.failure_count
72
72
  assert_equal execution_point, ExecutionPoint.new(test_result.failures[0].location)
73
73
  end
74
-
74
+
75
75
  def test_should_display_backtrace_indicating_line_number_where_failing_assertion_was_called
76
76
  execution_point = nil
77
77
  test_result = run_as_test do
@@ -80,5 +80,5 @@ class MochaTestResultTest < Test::Unit::TestCase
80
80
  assert_equal 1, test_result.failure_count
81
81
  assert_equal execution_point, ExecutionPoint.new(test_result.failures[0].location)
82
82
  end
83
-
84
- end
83
+
84
+ end
@@ -2,17 +2,17 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
2
2
  require 'mocha'
3
3
 
4
4
  class MockTest < Test::Unit::TestCase
5
-
5
+
6
6
  include AcceptanceTest
7
-
7
+
8
8
  def setup
9
9
  setup_acceptance_test
10
10
  end
11
-
11
+
12
12
  def teardown
13
13
  teardown_acceptance_test
14
14
  end
15
-
15
+
16
16
  def test_should_build_mock_and_explicitly_add_an_expectation_which_is_satisfied
17
17
  test_result = run_as_test do
18
18
  foo = mock()
@@ -97,4 +97,4 @@ class MockTest < Test::Unit::TestCase
97
97
  assert_failed(test_result)
98
98
  end
99
99
 
100
- end
100
+ end
@@ -2,17 +2,17 @@ require File.expand_path('../acceptance_test_helper', __FILE__)
2
2
  require 'mocha'
3
3
 
4
4
  class MockWithInitializerBlockTest < Test::Unit::TestCase
5
-
5
+
6
6
  include AcceptanceTest
7
-
7
+
8
8
  def setup
9
9
  setup_acceptance_test
10
10
  end
11
-
11
+
12
12
  def teardown
13
13
  teardown_acceptance_test
14
14
  end
15
-
15
+
16
16
  def test_should_expect_two_method_invocations_and_receive_both_of_them
17
17
  test_result = run_as_test do
18
18
  mock = mock() do
@@ -48,4 +48,4 @@ class MockWithInitializerBlockTest < Test::Unit::TestCase
48
48
  assert_passed(test_result)
49
49
  end
50
50
 
51
- end
51
+ end