mocha 1.11.2 → 1.12.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 (200) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +1 -1
  3. data/README.md +28 -30
  4. data/RELEASE.md +25 -0
  5. data/Rakefile +6 -1
  6. data/lib/mocha/cardinality.rb +30 -27
  7. data/lib/mocha/expectation.rb +24 -24
  8. data/lib/mocha/mock.rb +1 -1
  9. data/lib/mocha/mockery.rb +9 -22
  10. data/lib/mocha/state_machine.rb +30 -38
  11. data/lib/mocha/version.rb +1 -1
  12. data/mocha.gemspec +3 -1
  13. metadata +5 -192
  14. data/docs/CNAME +0 -1
  15. data/docs/Mocha.html +0 -254
  16. data/docs/Mocha/API.html +0 -1285
  17. data/docs/Mocha/ClassMethods.html +0 -264
  18. data/docs/Mocha/Configuration.html +0 -1525
  19. data/docs/Mocha/Expectation.html +0 -2862
  20. data/docs/Mocha/ExpectationError.html +0 -152
  21. data/docs/Mocha/ExpectationErrorFactory.html +0 -260
  22. data/docs/Mocha/Hooks.html +0 -370
  23. data/docs/Mocha/Integration.html +0 -125
  24. data/docs/Mocha/Integration/MiniTest.html +0 -123
  25. data/docs/Mocha/Integration/MiniTest/Adapter.html +0 -164
  26. data/docs/Mocha/Integration/TestUnit.html +0 -123
  27. data/docs/Mocha/Integration/TestUnit/Adapter.html +0 -164
  28. data/docs/Mocha/Mock.html +0 -1210
  29. data/docs/Mocha/ObjectMethods.html +0 -765
  30. data/docs/Mocha/ParameterMatchers.html +0 -2949
  31. data/docs/Mocha/ParameterMatchers/AllOf.html +0 -153
  32. data/docs/Mocha/ParameterMatchers/AnyOf.html +0 -153
  33. data/docs/Mocha/ParameterMatchers/AnyParameters.html +0 -153
  34. data/docs/Mocha/ParameterMatchers/Anything.html +0 -153
  35. data/docs/Mocha/ParameterMatchers/Base.html +0 -441
  36. data/docs/Mocha/ParameterMatchers/Equals.html +0 -153
  37. data/docs/Mocha/ParameterMatchers/EquivalentUri.html +0 -153
  38. data/docs/Mocha/ParameterMatchers/HasEntries.html +0 -153
  39. data/docs/Mocha/ParameterMatchers/HasEntry.html +0 -153
  40. data/docs/Mocha/ParameterMatchers/HasKey.html +0 -153
  41. data/docs/Mocha/ParameterMatchers/HasValue.html +0 -153
  42. data/docs/Mocha/ParameterMatchers/Includes.html +0 -153
  43. data/docs/Mocha/ParameterMatchers/InstanceOf.html +0 -153
  44. data/docs/Mocha/ParameterMatchers/IsA.html +0 -153
  45. data/docs/Mocha/ParameterMatchers/KindOf.html +0 -153
  46. data/docs/Mocha/ParameterMatchers/Not.html +0 -153
  47. data/docs/Mocha/ParameterMatchers/Optionally.html +0 -153
  48. data/docs/Mocha/ParameterMatchers/RegexpMatches.html +0 -153
  49. data/docs/Mocha/ParameterMatchers/RespondsWith.html +0 -153
  50. data/docs/Mocha/ParameterMatchers/YamlEquivalent.html +0 -153
  51. data/docs/Mocha/Sequence.html +0 -149
  52. data/docs/Mocha/StateMachine.html +0 -527
  53. data/docs/Mocha/StateMachine/State.html +0 -140
  54. data/docs/Mocha/StateMachine/StatePredicate.html +0 -140
  55. data/docs/Mocha/StubbingError.html +0 -150
  56. data/docs/_index.html +0 -519
  57. data/docs/class_list.html +0 -51
  58. data/docs/css/common.css +0 -1
  59. data/docs/css/full_list.css +0 -58
  60. data/docs/css/style.css +0 -496
  61. data/docs/file.COPYING.html +0 -81
  62. data/docs/file.MIT-LICENSE.html +0 -85
  63. data/docs/file.README.html +0 -448
  64. data/docs/file.RELEASE.html +0 -1028
  65. data/docs/file_list.html +0 -71
  66. data/docs/frames.html +0 -17
  67. data/docs/index.html +0 -448
  68. data/docs/js/app.js +0 -303
  69. data/docs/js/full_list.js +0 -216
  70. data/docs/js/jquery.js +0 -4
  71. data/docs/method_list.html +0 -651
  72. data/docs/top-level-namespace.html +0 -118
  73. data/test/acceptance/acceptance_test_helper.rb +0 -42
  74. data/test/acceptance/bug_18914_test.rb +0 -37
  75. data/test/acceptance/bug_21465_test.rb +0 -31
  76. data/test/acceptance/bug_21563_test.rb +0 -22
  77. data/test/acceptance/display_matching_invocations_alongside_expectations_test.rb +0 -69
  78. data/test/acceptance/exception_rescue_test.rb +0 -53
  79. data/test/acceptance/expectations_on_multiple_methods_test.rb +0 -55
  80. data/test/acceptance/expected_invocation_count_test.rb +0 -229
  81. data/test/acceptance/failure_messages_test.rb +0 -77
  82. data/test/acceptance/issue_272_test.rb +0 -50
  83. data/test/acceptance/issue_457_test.rb +0 -31
  84. data/test/acceptance/issue_65_test.rb +0 -64
  85. data/test/acceptance/issue_70_test.rb +0 -53
  86. data/test/acceptance/mocha_example_test.rb +0 -106
  87. data/test/acceptance/mocha_test_result_test.rb +0 -83
  88. data/test/acceptance/mock_built_with_first_argument_type_being_string_test.rb +0 -98
  89. data/test/acceptance/mock_test.rb +0 -191
  90. data/test/acceptance/mocked_methods_dispatch_test.rb +0 -75
  91. data/test/acceptance/multiple_expectations_failure_message_test.rb +0 -66
  92. data/test/acceptance/multiple_yielding_test.rb +0 -59
  93. data/test/acceptance/optional_parameters_test.rb +0 -67
  94. data/test/acceptance/parameter_matcher_test.rb +0 -299
  95. data/test/acceptance/partial_mocks_test.rb +0 -44
  96. data/test/acceptance/prepend_test.rb +0 -86
  97. data/test/acceptance/prevent_use_of_mocha_outside_test_test.rb +0 -76
  98. data/test/acceptance/raise_exception_test.rb +0 -36
  99. data/test/acceptance/return_value_test.rb +0 -49
  100. data/test/acceptance/sequence_test.rb +0 -189
  101. data/test/acceptance/states_test.rb +0 -71
  102. data/test/acceptance/stub_any_instance_method_defined_on_superclass_test.rb +0 -64
  103. data/test/acceptance/stub_any_instance_method_test.rb +0 -301
  104. data/test/acceptance/stub_class_method_defined_on_active_record_association_proxy_test.rb +0 -105
  105. data/test/acceptance/stub_class_method_defined_on_class_test.rb +0 -78
  106. data/test/acceptance/stub_class_method_defined_on_module_test.rb +0 -73
  107. data/test/acceptance/stub_class_method_defined_on_superclass_test.rb +0 -144
  108. data/test/acceptance/stub_everything_test.rb +0 -53
  109. data/test/acceptance/stub_instance_method_defined_on_active_record_association_proxy_test.rb +0 -91
  110. data/test/acceptance/stub_instance_method_defined_on_class_and_aliased_test.rb +0 -67
  111. data/test/acceptance/stub_instance_method_defined_on_class_test.rb +0 -67
  112. data/test/acceptance/stub_instance_method_defined_on_kernel_module_test.rb +0 -136
  113. data/test/acceptance/stub_instance_method_defined_on_module_test.rb +0 -76
  114. data/test/acceptance/stub_instance_method_defined_on_object_class_test.rb +0 -75
  115. data/test/acceptance/stub_instance_method_defined_on_singleton_class_test.rb +0 -67
  116. data/test/acceptance/stub_instance_method_defined_on_superclass_test.rb +0 -70
  117. data/test/acceptance/stub_method_defined_on_module_and_aliased_test.rb +0 -38
  118. data/test/acceptance/stub_module_method_test.rb +0 -200
  119. data/test/acceptance/stub_test.rb +0 -49
  120. data/test/acceptance/stubba_example_test.rb +0 -103
  121. data/test/acceptance/stubba_test_result_test.rb +0 -71
  122. data/test/acceptance/stubbing_error_backtrace_test.rb +0 -63
  123. data/test/acceptance/stubbing_frozen_object_test.rb +0 -88
  124. data/test/acceptance/stubbing_method_accepting_block_parameter_test.rb +0 -52
  125. data/test/acceptance/stubbing_method_unnecessarily_test.rb +0 -63
  126. data/test/acceptance/stubbing_nil_test.rb +0 -60
  127. data/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +0 -157
  128. data/test/acceptance/stubbing_non_existent_class_method_test.rb +0 -157
  129. data/test/acceptance/stubbing_non_existent_instance_method_test.rb +0 -145
  130. data/test/acceptance/stubbing_non_public_any_instance_method_test.rb +0 -128
  131. data/test/acceptance/stubbing_non_public_class_method_test.rb +0 -163
  132. data/test/acceptance/stubbing_non_public_instance_method_test.rb +0 -141
  133. data/test/acceptance/stubbing_on_non_mock_object_test.rb +0 -70
  134. data/test/acceptance/stubbing_same_class_method_on_parent_and_child_classes_test.rb +0 -33
  135. data/test/acceptance/throw_test.rb +0 -42
  136. data/test/acceptance/unexpected_invocation_test.rb +0 -23
  137. data/test/acceptance/unstubbing_test.rb +0 -194
  138. data/test/acceptance/yielding_test.rb +0 -80
  139. data/test/assertions.rb +0 -8
  140. data/test/deprecation_disabler.rb +0 -15
  141. data/test/execution_point.rb +0 -36
  142. data/test/integration/mini_test_test.rb +0 -8
  143. data/test/integration/shared_tests.rb +0 -178
  144. data/test/integration/test_unit_test.rb +0 -8
  145. data/test/method_definer.rb +0 -16
  146. data/test/mini_test_result.rb +0 -96
  147. data/test/minitest_result.rb +0 -48
  148. data/test/simple_counter.rb +0 -11
  149. data/test/test_helper.rb +0 -58
  150. data/test/test_runner.rb +0 -58
  151. data/test/test_unit_result.rb +0 -22
  152. data/test/unit/any_instance_method_test.rb +0 -175
  153. data/test/unit/array_inspect_test.rb +0 -14
  154. data/test/unit/backtrace_filter_test.rb +0 -17
  155. data/test/unit/cardinality_test.rb +0 -72
  156. data/test/unit/central_test.rb +0 -98
  157. data/test/unit/change_state_side_effect_test.rb +0 -37
  158. data/test/unit/class_methods_test.rb +0 -69
  159. data/test/unit/configuration_test.rb +0 -37
  160. data/test/unit/date_time_inspect_test.rb +0 -19
  161. data/test/unit/exception_raiser_test.rb +0 -45
  162. data/test/unit/expectation_list_test.rb +0 -82
  163. data/test/unit/expectation_test.rb +0 -504
  164. data/test/unit/hash_inspect_test.rb +0 -14
  165. data/test/unit/hooks_test.rb +0 -35
  166. data/test/unit/in_state_ordering_constraint_test.rb +0 -39
  167. data/test/unit/instance_method_test.rb +0 -282
  168. data/test/unit/method_matcher_test.rb +0 -26
  169. data/test/unit/mock_test.rb +0 -372
  170. data/test/unit/mockery_test.rb +0 -171
  171. data/test/unit/module_methods_test.rb +0 -16
  172. data/test/unit/object_inspect_test.rb +0 -60
  173. data/test/unit/object_methods_test.rb +0 -63
  174. data/test/unit/parameter_matchers/all_of_test.rb +0 -24
  175. data/test/unit/parameter_matchers/any_of_test.rb +0 -24
  176. data/test/unit/parameter_matchers/anything_test.rb +0 -19
  177. data/test/unit/parameter_matchers/equals_test.rb +0 -23
  178. data/test/unit/parameter_matchers/equivalent_uri_test.rb +0 -41
  179. data/test/unit/parameter_matchers/has_entries_test.rb +0 -51
  180. data/test/unit/parameter_matchers/has_entry_test.rb +0 -128
  181. data/test/unit/parameter_matchers/has_key_test.rb +0 -54
  182. data/test/unit/parameter_matchers/has_value_test.rb +0 -55
  183. data/test/unit/parameter_matchers/includes_test.rb +0 -106
  184. data/test/unit/parameter_matchers/instance_of_test.rb +0 -23
  185. data/test/unit/parameter_matchers/is_a_test.rb +0 -23
  186. data/test/unit/parameter_matchers/kind_of_test.rb +0 -23
  187. data/test/unit/parameter_matchers/not_test.rb +0 -24
  188. data/test/unit/parameter_matchers/regexp_matches_test.rb +0 -45
  189. data/test/unit/parameter_matchers/responds_with_test.rb +0 -38
  190. data/test/unit/parameter_matchers/stub_matcher.rb +0 -23
  191. data/test/unit/parameter_matchers/yaml_equivalent_test.rb +0 -23
  192. data/test/unit/parameters_matcher_test.rb +0 -119
  193. data/test/unit/receivers_test.rb +0 -96
  194. data/test/unit/return_values_test.rb +0 -66
  195. data/test/unit/sequence_test.rb +0 -100
  196. data/test/unit/single_return_value_test.rb +0 -17
  197. data/test/unit/state_machine_test.rb +0 -96
  198. data/test/unit/string_inspect_test.rb +0 -9
  199. data/test/unit/thrower_test.rb +0 -23
  200. data/test/unit/yield_parameters_test.rb +0 -73
@@ -1,77 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class FailureMessagesTest < Mocha::TestCase
4
- OBJECT_ADDRESS_PATTERN = '0x[0-9A-Fa-f]{1,12}'.freeze
5
-
6
- include AcceptanceTest
7
-
8
- def setup
9
- setup_acceptance_test
10
- end
11
-
12
- def teardown
13
- teardown_acceptance_test
14
- end
15
-
16
- class Foo; end
17
-
18
- def test_should_display_class_name_when_expectation_was_on_class
19
- test_result = run_as_test do
20
- Foo.expects(:bar)
21
- end
22
- assert_match Regexp.new('FailureMessagesTest::Foo'), test_result.failures[0].message
23
- end
24
-
25
- def test_should_display_class_name_and_address_when_expectation_was_on_instance
26
- test_result = run_as_test do
27
- Foo.new.expects(:bar)
28
- end
29
- assert_match Regexp.new("#<FailureMessagesTest::Foo:#{OBJECT_ADDRESS_PATTERN}>"), test_result.failures[0].message
30
- end
31
-
32
- def test_should_display_class_name_and_any_instance_prefix_when_expectation_was_on_any_instance
33
- test_result = run_as_test do
34
- Foo.any_instance.expects(:bar)
35
- end
36
- assert_match Regexp.new('#<AnyInstance:FailureMessagesTest::Foo>'), test_result.failures[0].message
37
- end
38
-
39
- def test_should_display_mock_name_when_expectation_was_on_named_mock
40
- test_result = run_as_test do
41
- foo = mock('foo')
42
- foo.expects(:bar)
43
- end
44
- assert_match Regexp.new('#<Mock:foo>'), test_result.failures[0].message
45
- end
46
-
47
- def test_should_display_mock_address_when_expectation_was_on_unnamed_mock
48
- test_result = run_as_test do
49
- foo = mock
50
- foo.expects(:bar)
51
- end
52
- assert_match Regexp.new("#<Mock:#{OBJECT_ADDRESS_PATTERN}>"), test_result.failures[0].message
53
- end
54
-
55
- def test_should_display_string_when_expectation_was_on_string
56
- test_result = run_as_test do
57
- 'Foo'.expects(:bar)
58
- end
59
- assert_match Regexp.new(%("Foo")), test_result.failures[0].message
60
- end
61
-
62
- def test_should_display_that_block_was_expected
63
- test_result = run_as_test do
64
- foo = mock
65
- foo.expects(:bar).with_block_given
66
- end
67
- assert_match Regexp.new(' with block given$'), test_result.failures[0].message
68
- end
69
-
70
- def test_should_display_that_block_was_not_expected
71
- test_result = run_as_test do
72
- foo = mock
73
- foo.expects(:bar).with_no_block_given
74
- end
75
- assert_match Regexp.new(' with no block given$'), test_result.failures[0].message
76
- end
77
- end
@@ -1,50 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class Issue272Test < Mocha::TestCase
4
- include AcceptanceTest
5
-
6
- def setup
7
- setup_acceptance_test
8
- end
9
-
10
- def teardown
11
- teardown_acceptance_test
12
- end
13
-
14
- module Mod
15
- private
16
-
17
- def foo
18
- 'original-foo'
19
- end
20
-
21
- def bar
22
- 'original-bar'
23
- end
24
- end
25
-
26
- class Klass
27
- extend Mod
28
-
29
- class << self
30
- public :foo
31
- public :bar
32
- end
33
- end
34
-
35
- def test_private_methods_in_module_used_to_extend_class_and_made_public
36
- test_result = run_as_test do
37
- Klass.stubs(:foo).returns('stubbed-foo')
38
- # hangs in next line executing:
39
- # `@original_method = stubbee._method(method)`
40
- # in Mocha::StubbedMethod#hide_original_method
41
- # but only in Ruby v2.3, not v2.2
42
- Klass.stubs(:bar).returns('stubbed-bar')
43
- assert_equal 'stubbed-foo', Klass.foo
44
- assert_equal 'stubbed-bar', Klass.bar
45
- end
46
- assert_passed(test_result)
47
- assert_equal 'original-foo', Klass.foo
48
- assert_equal 'original-bar', Klass.bar
49
- end
50
- end
@@ -1,31 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class Issue457Test < Mocha::TestCase
4
- include AcceptanceTest
5
-
6
- def setup
7
- setup_acceptance_test
8
- end
9
-
10
- def teardown
11
- teardown_acceptance_test
12
- end
13
-
14
- def test_only_inspect_objects_when_necessary
15
- test_result = run_as_test do
16
- klass = Class.new do
17
- def message
18
- raise 'Not inspectable in this state!'
19
- end
20
-
21
- def inspect
22
- message
23
- end
24
- end
25
- instance = klass.new
26
- instance.stubs(:message).returns('message')
27
- assert_equal 'message', instance.inspect
28
- end
29
- assert_passed(test_result)
30
- end
31
- end
@@ -1,64 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class Issue65Test < Mocha::TestCase
4
- include AcceptanceTest
5
-
6
- def setup
7
- setup_acceptance_test
8
- end
9
-
10
- def teardown
11
- teardown_acceptance_test
12
- end
13
-
14
- def test_expectations_on_class_methods_on_same_class_should_be_verified_in_consecutive_tests
15
- klass = Class.new do
16
- def self.foo; end
17
-
18
- def self.bar; end
19
- end
20
- test1 = run_as_test do
21
- klass.expects(:foo)
22
- klass.foo
23
- end
24
- assert_passed(test1)
25
- test2 = run_as_test do
26
- klass.expects(:bar)
27
- end
28
- assert_failed(test2)
29
- end
30
-
31
- def test_expectations_on_any_instance_methods_on_same_class_should_be_verified_in_consecutive_tests
32
- klass = Class.new do
33
- def foo; end
34
-
35
- def bar; end
36
- end
37
- test1 = run_as_test do
38
- klass.any_instance.expects(:foo)
39
- klass.new.foo
40
- end
41
- assert_passed(test1)
42
- test2 = run_as_test do
43
- klass.any_instance.expects(:bar)
44
- end
45
- assert_failed(test2)
46
- end
47
-
48
- def test_expectations_on_instance_methods_on_same_object_should_be_verified_in_consecutive_tests
49
- instance = Class.new do
50
- def foo; end
51
-
52
- def bar; end
53
- end.new
54
- test1 = run_as_test do
55
- instance.expects(:foo)
56
- instance.foo
57
- end
58
- assert_passed(test1)
59
- test2 = run_as_test do
60
- instance.expects(:bar)
61
- end
62
- assert_failed(test2)
63
- end
64
- end
@@ -1,53 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class Issue70Test < Mocha::TestCase
4
- include AcceptanceTest
5
-
6
- def setup
7
- setup_acceptance_test
8
- end
9
-
10
- def teardown
11
- teardown_acceptance_test
12
- end
13
-
14
- def test_should_stub_expectations_instance_method
15
- instance = Class.new do
16
- def expectations
17
- :original_return_value
18
- end
19
- end.new
20
- test_result = run_as_test do
21
- instance.stubs(:expectations).returns(:stubbed_return_value)
22
- assert_equal :stubbed_return_value, instance.expectations
23
- end
24
- assert_passed(test_result)
25
- end
26
-
27
- def test_should_stub_expectations_class_method
28
- klass = Class.new do
29
- def self.expectations
30
- :original_return_value
31
- end
32
- end
33
- test_result = run_as_test do
34
- klass.stubs(:expectations).returns(:stubbed_return_value)
35
- assert_equal :stubbed_return_value, klass.expectations
36
- end
37
- assert_passed(test_result)
38
- end
39
-
40
- def test_should_stub_expectations_any_instance_method
41
- klass = Class.new do
42
- def expectations
43
- :original_return_value
44
- end
45
- end
46
- instance = klass.new
47
- test_result = run_as_test do
48
- klass.any_instance.stubs(:expectations).returns(:stubbed_return_value)
49
- assert_equal :stubbed_return_value, instance.expectations
50
- end
51
- assert_passed(test_result)
52
- end
53
- end
@@ -1,106 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
-
3
- class MochaExampleTest < Mocha::TestCase
4
- include AcceptanceTest
5
-
6
- def setup
7
- setup_acceptance_test
8
- end
9
-
10
- def teardown
11
- teardown_acceptance_test
12
- end
13
-
14
- class Rover
15
- def initialize(left_track, right_track, steps_per_metre, steps_per_degree)
16
- @left_track = left_track
17
- @right_track = right_track
18
- @steps_per_metre = steps_per_metre
19
- @steps_per_degree = steps_per_degree
20
- end
21
-
22
- def forward(metres)
23
- @left_track.step(metres * @steps_per_metre)
24
- @right_track.step(metres * @steps_per_metre)
25
- wait
26
- end
27
-
28
- def backward(metres)
29
- forward(-metres)
30
- end
31
-
32
- def left(degrees)
33
- @left_track.step(-degrees * @steps_per_degree)
34
- @right_track.step(+degrees * @steps_per_degree)
35
- wait
36
- end
37
-
38
- def right(degrees)
39
- left(-degrees)
40
- end
41
-
42
- def wait
43
- while @left_track.moving? || @right_track.moving?; end
44
- end
45
- end
46
-
47
- def test_should_step_both_tracks_forward_ten_steps
48
- left_track = mock('left_track')
49
- right_track = mock('right_track')
50
- steps_per_metre = 5
51
- rover = Rover.new(left_track, right_track, steps_per_metre, nil)
52
-
53
- left_track.expects(:step).with(10)
54
- right_track.expects(:step).with(10)
55
-
56
- left_track.stubs(:moving?).returns(false)
57
- right_track.stubs(:moving?).returns(false)
58
-
59
- rover.forward(2)
60
- end
61
-
62
- def test_should_step_both_tracks_backward_ten_steps
63
- left_track = mock('left_track')
64
- right_track = mock('right_track')
65
- steps_per_metre = 5
66
- rover = Rover.new(left_track, right_track, steps_per_metre, nil)
67
-
68
- left_track.expects(:step).with(-10)
69
- right_track.expects(:step).with(-10)
70
-
71
- left_track.stubs(:moving?).returns(false)
72
- right_track.stubs(:moving?).returns(false)
73
-
74
- rover.backward(2)
75
- end
76
-
77
- def test_should_step_left_track_forwards_five_steps_and_right_track_backwards_five_steps
78
- left_track = mock('left_track')
79
- right_track = mock('right_track')
80
- steps_per_degree = 5.0 / 90.0
81
- rover = Rover.new(left_track, right_track, nil, steps_per_degree)
82
-
83
- left_track.expects(:step).with(+5)
84
- right_track.expects(:step).with(-5)
85
-
86
- left_track.stubs(:moving?).returns(false)
87
- right_track.stubs(:moving?).returns(false)
88
-
89
- rover.right(90)
90
- end
91
-
92
- def test_should_step_left_track_backwards_five_steps_and_right_track_forwards_five_steps
93
- left_track = mock('left_track')
94
- right_track = mock('right_track')
95
- steps_per_degree = 5.0 / 90.0
96
- rover = Rover.new(left_track, right_track, nil, steps_per_degree)
97
-
98
- left_track.expects(:step).with(-5)
99
- right_track.expects(:step).with(+5)
100
-
101
- left_track.stubs(:moving?).returns(false)
102
- right_track.stubs(:moving?).returns(false)
103
-
104
- rover.left(90)
105
- end
106
- end
@@ -1,83 +0,0 @@
1
- require File.expand_path('../acceptance_test_helper', __FILE__)
2
- require 'execution_point'
3
-
4
- class MochaTestResultTest < Mocha::TestCase
5
- include AcceptanceTest
6
-
7
- def setup
8
- setup_acceptance_test
9
- end
10
-
11
- def teardown
12
- teardown_acceptance_test
13
- end
14
-
15
- def test_should_include_expectation_verification_in_assertion_count
16
- test_result = run_as_test do
17
- object = mock
18
- object.expects(:message)
19
- object.message
20
- end
21
- assert_equal 1, test_result.assertion_count
22
- end
23
-
24
- def test_should_include_assertions_in_assertion_count
25
- test_result = run_as_test do
26
- assert true
27
- end
28
- assert_equal 1, test_result.assertion_count
29
- end
30
-
31
- def test_should_not_include_stubbing_expectation_verification_in_assertion_count
32
- test_result = run_as_test do
33
- object = mock
34
- object.stubs(:message)
35
- object.message
36
- end
37
- assert_equal 0, test_result.assertion_count
38
- end
39
-
40
- def test_should_include_expectation_verification_failure_in_failure_count
41
- test_result = run_as_test do
42
- object = mock
43
- object.expects(:message)
44
- end
45
- assert_equal 1, test_result.failure_count
46
- end
47
-
48
- def test_should_include_unexpected_verification_failure_in_failure_count
49
- test_result = run_as_test do
50
- object = mock
51
- object.message
52
- end
53
- assert_equal 1, test_result.failure_count
54
- end
55
-
56
- def test_should_include_assertion_failure_in_failure_count
57
- test_result = run_as_test do
58
- flunk
59
- end
60
- assert_equal 1, test_result.failure_count
61
- end
62
-
63
- # rubocop:disable Style/Semicolon
64
- def test_should_display_backtrace_indicating_line_number_where_unexpected_method_was_called
65
- execution_point = nil
66
- test_result = run_as_test do
67
- object = mock
68
- execution_point = ExecutionPoint.current; object.message
69
- end
70
- assert_equal 1, test_result.failure_count
71
- assert_equal execution_point, ExecutionPoint.new(test_result.failures[0].location)
72
- end
73
-
74
- def test_should_display_backtrace_indicating_line_number_where_failing_assertion_was_called
75
- execution_point = nil
76
- test_result = run_as_test do
77
- execution_point = ExecutionPoint.current; flunk
78
- end
79
- assert_equal 1, test_result.failure_count
80
- assert_equal execution_point, ExecutionPoint.new(test_result.failures[0].location)
81
- end
82
- # rubocop:enable Style/Semicolon
83
- end