rspec 0.6.4 → 0.7.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 +90 -1
- data/EXAMPLES.rd +28 -6
- data/MIT-LICENSE +20 -0
- data/README +18 -12
- data/Rakefile +60 -54
- data/examples/custom_formatter.rb +4 -4
- data/examples/helper_method_example.rb +11 -0
- data/examples/mocking_example.rb +19 -2
- data/examples/partial_mock_example.rb +28 -0
- data/examples/stack_spec.rb +8 -8
- data/examples/stubbing_example.rb +50 -9
- data/examples/test_case_spec.rb +6 -6
- data/lib/spec.rb +1 -2
- data/lib/spec/callback.rb +0 -0
- data/lib/spec/expectations.rb +3 -6
- data/lib/spec/expectations/diff.rb +23 -47
- data/lib/spec/expectations/differs/default.rb +62 -0
- data/lib/spec/expectations/{exceptions.rb → errors.rb} +0 -0
- data/lib/spec/expectations/extensions.rb +4 -0
- data/lib/spec/expectations/extensions/inspect_for_expectation_not_met_error.rb +14 -0
- data/lib/spec/expectations/extensions/numeric.rb +5 -0
- data/lib/spec/expectations/{expectations.rb → extensions/object.rb} +3 -6
- data/lib/spec/expectations/extensions/symbol.rb +5 -0
- data/lib/spec/expectations/should.rb +4 -0
- data/lib/spec/expectations/should/base.rb +42 -0
- data/lib/spec/expectations/should/have.rb +79 -0
- data/lib/spec/expectations/should/not.rb +72 -0
- data/lib/spec/expectations/should/should.rb +83 -0
- data/lib/spec/expectations/sugar.rb +6 -25
- data/lib/spec/mocks.rb +5 -1
- data/lib/spec/mocks/argument_expectation.rb +15 -1
- data/lib/spec/mocks/error_generator.rb +72 -0
- data/lib/spec/mocks/{exceptions.rb → errors.rb} +0 -0
- data/lib/spec/mocks/extensions/object.rb +3 -0
- data/lib/spec/mocks/message_expectation.rb +80 -73
- data/lib/spec/mocks/mock.rb +4 -69
- data/lib/spec/mocks/mock_handler.rb +158 -0
- data/lib/spec/mocks/mock_methods.rb +44 -0
- data/lib/spec/mocks/order_group.rb +10 -2
- data/lib/spec/rake/spectask.rb +20 -18
- data/lib/spec/rake/{rcov_verify.rb → verify_rcov.rb} +2 -2
- data/lib/spec/runner.rb +3 -1
- data/lib/spec/runner/backtrace_tweaker.rb +2 -1
- data/lib/spec/runner/context.rb +10 -16
- data/lib/spec/runner/context_eval.rb +40 -40
- data/lib/spec/runner/execution_context.rb +1 -12
- data/lib/spec/runner/{kernel_ext.rb → extensions/kernel.rb} +2 -2
- data/lib/spec/runner/{instance_exec.rb → extensions/object.rb} +0 -0
- data/lib/spec/runner/formatter/base_text_formatter.rb +25 -18
- data/lib/spec/runner/formatter/html_formatter.rb +81 -101
- data/lib/spec/runner/formatter/progress_bar_formatter.rb +9 -9
- data/lib/spec/runner/formatter/rdoc_formatter.rb +6 -6
- data/lib/spec/runner/formatter/specdoc_formatter.rb +7 -6
- data/lib/spec/runner/option_parser.rb +41 -5
- data/lib/spec/runner/reporter.rb +3 -15
- data/lib/spec/runner/spec_should_raise_handler.rb +74 -0
- data/lib/spec/runner/specification.rb +33 -14
- data/lib/spec/version.rb +6 -3
- data/vendor/watir/README.txt +1 -1
- metadata +34 -68
- data/bin/test2spec +0 -112
- data/examples/helper_method_spec.rb +0 -12
- data/lib/spec/expectations/have_helper.rb +0 -41
- data/lib/spec/expectations/helper.rb +0 -4
- data/lib/spec/expectations/should_base.rb +0 -52
- data/lib/spec/expectations/should_helper.rb +0 -93
- data/lib/spec/expectations/should_negator.rb +0 -71
- data/lib/spec/test_to_spec/ruby2ruby.rb +0 -492
- data/lib/spec/test_to_spec/sexp_transformer.rb +0 -196
- data/lib/spec/test_to_spec/test_case_ext.rb +0 -22
- data/lib/spec/test_to_spec/translation_test_runner.rb +0 -147
- data/test/spec/expectations/arbitrary_operator_test.rb +0 -55
- data/test/spec/expectations/arbitrary_predicate_test.rb +0 -163
- data/test/spec/expectations/containment_test.rb +0 -129
- data/test/spec/expectations/diff_test.rb +0 -62
- data/test/spec/expectations/identity_test.rb +0 -75
- data/test/spec/expectations/object_equality_test.rb +0 -65
- data/test/spec/expectations/raising_test.rb +0 -106
- data/test/spec/expectations/regex_matching_test.rb +0 -36
- data/test/spec/expectations/should_have_test.rb +0 -169
- data/test/spec/expectations/should_satisfy_test.rb +0 -37
- data/test/spec/expectations/sugar_test.rb +0 -93
- data/test/spec/expectations/supported_symbols_test.rb +0 -33
- data/test/spec/expectations/throwing_test.rb +0 -55
- data/test/spec/expectations/true_false_special_case_test.rb +0 -85
- data/test/spec/expectations/typing_test.rb +0 -108
- data/test/spec/mocks/mock_arg_constraints_test.rb +0 -113
- data/test/spec/mocks/mock_counts_test.rb +0 -431
- data/test/spec/mocks/mock_ordering_test.rb +0 -109
- data/test/spec/mocks/mock_test.rb +0 -220
- data/test/spec/mocks/null_object_test.rb +0 -37
- data/test/spec/runner/backtrace_tweaker_test.rb +0 -90
- data/test/spec/runner/context_matching_test.rb +0 -35
- data/test/spec/runner/context_runner_test.rb +0 -62
- data/test/spec/runner/context_test.rb +0 -191
- data/test/spec/runner/execution_context_test.rb +0 -45
- data/test/spec/runner/formatter/failure_dump_test.rb +0 -94
- data/test/spec/runner/formatter/html_formatter_test.rb +0 -48
- data/test/spec/runner/formatter/progress_bar_formatter_test.rb +0 -56
- data/test/spec/runner/formatter/rdoc_formatter_test.rb +0 -51
- data/test/spec/runner/formatter/specdoc_formatter_test.rb +0 -57
- data/test/spec/runner/kernel_ext_test.rb +0 -13
- data/test/spec/runner/option_parser_test.rb +0 -141
- data/test/spec/runner/reporter_test.rb +0 -128
- data/test/spec/runner/spec_matcher_test.rb +0 -47
- data/test/spec/runner/specification_test.rb +0 -121
- data/test/spec/test_to_spec/ruby_to_ruby_test.rb +0 -79
- data/test/spec/test_to_spec/sexp_transformer_assertion_test.rb +0 -207
- data/test/spec/test_to_spec/sexp_transformer_test.rb +0 -303
- data/test/spec/test_to_spec/test_case_ext_test.rb +0 -25
- data/test/spec/test_to_spec/testfiles/test_unit_api_spec.rb +0 -75
- data/test/spec/test_to_spec/testfiles/test_unit_api_test.rb +0 -70
- data/test/test_classes.rb +0 -102
- data/test/test_helper.rb +0 -32
@@ -1,108 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../../test_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Expectations
|
5
|
-
module Helper
|
6
|
-
class ShouldBeAnInstanceOfTest < Test::Unit::TestCase
|
7
|
-
|
8
|
-
def test_should_pass_when_target_is_specified_class
|
9
|
-
assert_nothing_raised do
|
10
|
-
5.should_be_an_instance_of Fixnum
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_should_fail_when_target_is_not_specified_class
|
15
|
-
assert_raise(ExpectationNotMetError) do
|
16
|
-
5.should_be_an_instance_of Integer
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
class ShouldBeAKindOfTest < Test::Unit::TestCase
|
22
|
-
|
23
|
-
def test_should_pass_when_target_is_of_specified_class
|
24
|
-
assert_nothing_raised do
|
25
|
-
5.should_be_a_kind_of Fixnum
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
def test_should_pass_when_target_is_of_subclass_of_specified_class
|
30
|
-
assert_nothing_raised do
|
31
|
-
5.should_be_a_kind_of Integer
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
def test_should_fail_when_target_is_not_specified_class
|
36
|
-
assert_raise(ExpectationNotMetError) do
|
37
|
-
5.should_be_a_kind_of String
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
class ShouldNotBeAnInstanceOfTest < Test::Unit::TestCase
|
43
|
-
|
44
|
-
def test_should_fail_when_target_is_of_specified_class
|
45
|
-
assert_raise(ExpectationNotMetError) do
|
46
|
-
'hello'.should_not_be_an_instance_of String
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_should_pass_when_target_is_not_of_specified_class
|
51
|
-
assert_nothing_raised do
|
52
|
-
[].should_not_be_an_instance_of String
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
class ShouldNotBeAKindOfTest < Test::Unit::TestCase
|
58
|
-
|
59
|
-
def test_should_fail_when_target_is_of_specified_class
|
60
|
-
assert_raise(ExpectationNotMetError) do
|
61
|
-
5.should_not_be_a_kind_of Fixnum
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
def test_should_fail_when_target_is_of_subclass_of_specified_class
|
66
|
-
assert_raise(ExpectationNotMetError) do
|
67
|
-
5.should_not_be_a_kind_of Integer
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
def test_should_pass_when_target_is_not_specified_class
|
72
|
-
assert_nothing_raised do
|
73
|
-
5.should_not_be_a_kind_of String
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
class ShouldRespondToTest < Test::Unit::TestCase
|
79
|
-
def test_should_pass_when_target_responds_to
|
80
|
-
assert_nothing_raised do
|
81
|
-
"".should_respond_to :length
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
def test_should_fail_when_target_doesnt_respond_to
|
86
|
-
assert_raise(ExpectationNotMetError) do
|
87
|
-
"".should_respond_to :connect
|
88
|
-
end
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
class ShouldNotRespondToTest < Test::Unit::TestCase
|
93
|
-
def test_should_fail_when_target_responds_to
|
94
|
-
assert_raise(ExpectationNotMetError) do
|
95
|
-
"".should_not_respond_to :length
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
def test_should_pass_when_target_doesnt_respond_to
|
100
|
-
assert_nothing_raised do
|
101
|
-
"".should_not_respond_to :connect
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
@@ -1,113 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../../test_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Mocks
|
5
|
-
class PassingMockArgumentConstraintsTest < Test::Unit::TestCase
|
6
|
-
|
7
|
-
def setup
|
8
|
-
@mock = Mock.new("test mock")
|
9
|
-
end
|
10
|
-
|
11
|
-
def test_should_accept_string_as_anything
|
12
|
-
@mock.should_receive(:random_call).with("a", :anything, "c")
|
13
|
-
@mock.random_call("a", "whatever", "c")
|
14
|
-
@mock.__verify
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_should_accept_fixnum_as_numeric
|
18
|
-
@mock.should_receive(:random_call).with(:numeric)
|
19
|
-
@mock.random_call(1)
|
20
|
-
@mock.__verify
|
21
|
-
end
|
22
|
-
|
23
|
-
def test_should_accept_float_as_numeric
|
24
|
-
@mock.should_receive(:random_call).with(:numeric)
|
25
|
-
@mock.random_call(1.5)
|
26
|
-
@mock.__verify
|
27
|
-
end
|
28
|
-
|
29
|
-
def test_should_accept_true_as_boolean
|
30
|
-
@mock.should_receive(:random_call).with(:boolean)
|
31
|
-
@mock.random_call(true)
|
32
|
-
@mock.__verify
|
33
|
-
end
|
34
|
-
|
35
|
-
def test_should_accept_false_as_boolean
|
36
|
-
@mock.should_receive(:random_call).with(:boolean)
|
37
|
-
@mock.random_call(false)
|
38
|
-
@mock.__verify
|
39
|
-
end
|
40
|
-
|
41
|
-
def test_should_match_string
|
42
|
-
@mock.should_receive(:random_call).with(:string)
|
43
|
-
@mock.random_call("a string")
|
44
|
-
@mock.__verify
|
45
|
-
end
|
46
|
-
|
47
|
-
def test_should_match_non_special_symbol
|
48
|
-
@mock.should_receive(:random_call).with(:some_symbol)
|
49
|
-
@mock.random_call(:some_symbol)
|
50
|
-
@mock.__verify
|
51
|
-
end
|
52
|
-
|
53
|
-
def test_should_match_duck_type_with_one_method
|
54
|
-
@mock.should_receive(:random_call).with(DuckTypeArgConstraint.new(:length))
|
55
|
-
@mock.random_call([])
|
56
|
-
@mock.__verify
|
57
|
-
end
|
58
|
-
|
59
|
-
def test_should_match_duck_type_with_two_methods
|
60
|
-
@mock.should_receive(:random_call).with(DuckTypeArgConstraint.new(:abs, :div))
|
61
|
-
@mock.random_call(1)
|
62
|
-
@mock.__verify
|
63
|
-
end
|
64
|
-
|
65
|
-
def test_should_match_user_defined_type
|
66
|
-
@mock.should_receive(:random_call).with(Expectations::Person.new("David"))
|
67
|
-
@mock.random_call(Expectations::Person.new("David"))
|
68
|
-
@mock.__verify
|
69
|
-
end
|
70
|
-
|
71
|
-
end
|
72
|
-
|
73
|
-
class FailingMockArgumentConstraintsTest < Test::Unit::TestCase
|
74
|
-
|
75
|
-
def setup
|
76
|
-
@mock = Mock.new("test mock")
|
77
|
-
end
|
78
|
-
|
79
|
-
def test_should_reject_non_numeric
|
80
|
-
@mock.should_receive(:random_call).with(:numeric)
|
81
|
-
assert_raise(MockExpectationError) do
|
82
|
-
@mock.random_call("1")
|
83
|
-
@mock.__verify
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
def test_should_reject_non_boolean
|
88
|
-
@mock.should_receive(:random_call).with(:boolean)
|
89
|
-
assert_raise(MockExpectationError) do
|
90
|
-
@mock.random_call("false")
|
91
|
-
@mock.__verify
|
92
|
-
end
|
93
|
-
end
|
94
|
-
|
95
|
-
def test_should_reject_non_string
|
96
|
-
@mock.should_receive(:random_call).with(:string)
|
97
|
-
assert_raise(MockExpectationError) do
|
98
|
-
@mock.random_call(123)
|
99
|
-
@mock.__verify
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
def test_should_reject_goose_when_expecting_a_duck
|
104
|
-
@mock.should_receive(:random_call).with(DuckTypeArgConstraint.new(:abs, :div))
|
105
|
-
assert_raise(MockExpectationError) do
|
106
|
-
@mock.random_call("I don't respond to :abs or :div")
|
107
|
-
@mock.__verify
|
108
|
-
end
|
109
|
-
end
|
110
|
-
|
111
|
-
end
|
112
|
-
end
|
113
|
-
end
|
@@ -1,431 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../../test_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Mocks
|
5
|
-
class OnceCountsTest < Test::Unit::TestCase
|
6
|
-
|
7
|
-
def setup
|
8
|
-
@mock = Mock.new("test mock")
|
9
|
-
end
|
10
|
-
|
11
|
-
def test_once_should_pass_when_called_once
|
12
|
-
@mock.should_receive(:random_call).once
|
13
|
-
@mock.random_call
|
14
|
-
assert_nothing_raised do
|
15
|
-
@mock.__verify
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_once_should_pass_when_called_once_with_unspecified_args
|
20
|
-
@mock.should_receive(:random_call).once
|
21
|
-
@mock.random_call("a","b","c")
|
22
|
-
assert_nothing_raised do
|
23
|
-
@mock.__verify
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_once_should_pass_when_called_once_with_specified_args
|
28
|
-
@mock.should_receive(:random_call).once.with("a","b","c")
|
29
|
-
@mock.random_call("a","b","c")
|
30
|
-
assert_nothing_raised do
|
31
|
-
@mock.__verify
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
def test_once_should_fail_when_not_called
|
36
|
-
@mock.should_receive(:random_call).once
|
37
|
-
assert_raise(MockExpectationError) do
|
38
|
-
@mock.__verify
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
def test_once_should_fail_when_called_twice
|
43
|
-
@mock.should_receive(:random_call).once
|
44
|
-
@mock.random_call
|
45
|
-
@mock.random_call
|
46
|
-
assert_raise(MockExpectationError) do
|
47
|
-
@mock.__verify
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
def test_once_should_fail_when_called_once_with_wrong_args
|
52
|
-
@mock.should_receive(:random_call).once.with("a","b","c")
|
53
|
-
assert_raise(MockExpectationError) do
|
54
|
-
@mock.random_call "d","e","f"
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
class TwiceCountsTest < Test::Unit::TestCase
|
60
|
-
|
61
|
-
def setup
|
62
|
-
@mock = Mock.new("test mock")
|
63
|
-
end
|
64
|
-
|
65
|
-
def test_twice_should_pass_when_called_twice
|
66
|
-
@mock.should_receive(:random_call).twice
|
67
|
-
@mock.random_call
|
68
|
-
@mock.random_call
|
69
|
-
assert_nothing_raised do
|
70
|
-
@mock.__verify
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
def test_twice_should_pass_when_called_twice_with_unspecified_args
|
75
|
-
@mock.should_receive(:random_call).twice
|
76
|
-
@mock.random_call "1"
|
77
|
-
@mock.random_call 1
|
78
|
-
assert_nothing_raised do
|
79
|
-
@mock.__verify
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
def test_twice_should_pass_when_called_twice_with_specified_args
|
84
|
-
@mock.should_receive(:random_call).twice.with("1", 1)
|
85
|
-
@mock.random_call "1", 1
|
86
|
-
@mock.random_call "1", 1
|
87
|
-
assert_nothing_raised do
|
88
|
-
@mock.__verify
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
def test_twice_should_fail_when_called_twice_with_wrong_args_on_the_second_call
|
93
|
-
@mock.should_receive(:random_call).twice.with("1", 1)
|
94
|
-
@mock.random_call "1", 1
|
95
|
-
assert_raise(MockExpectationError) do
|
96
|
-
@mock.random_call 1, "1"
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
def test_twice_should_fail_when_called_twice_with_wrong_args_on_the_first_call
|
101
|
-
@mock.should_receive(:random_call).twice.with("1", 1)
|
102
|
-
assert_raise(MockExpectationError) do
|
103
|
-
@mock.random_call 1, "1"
|
104
|
-
end
|
105
|
-
end
|
106
|
-
|
107
|
-
def test_twice_should_fail_when_call_count_is_lower_than_expected
|
108
|
-
@mock.should_receive(:random_call).twice
|
109
|
-
@mock.random_call
|
110
|
-
assert_raise(MockExpectationError) do
|
111
|
-
@mock.__verify
|
112
|
-
end
|
113
|
-
end
|
114
|
-
|
115
|
-
def test_twice_should_fail_when_call_count_is_higher_than_expected
|
116
|
-
@mock.should_receive(:random_call).twice
|
117
|
-
@mock.random_call
|
118
|
-
@mock.random_call
|
119
|
-
@mock.random_call
|
120
|
-
assert_raise(MockExpectationError) do
|
121
|
-
@mock.__verify
|
122
|
-
end
|
123
|
-
end
|
124
|
-
end
|
125
|
-
|
126
|
-
class AnyNumberOfTimesTest < Test::Unit::TestCase
|
127
|
-
|
128
|
-
def setup
|
129
|
-
@mock = Mock.new("test mock")
|
130
|
-
end
|
131
|
-
|
132
|
-
def test_should_pass_if_any_number_of_times_method_is_not_called
|
133
|
-
@mock.should_receive(:random_call).any_number_of_times
|
134
|
-
assert_nothing_raised do
|
135
|
-
@mock.__verify
|
136
|
-
end
|
137
|
-
end
|
138
|
-
|
139
|
-
def test_should_pass_if_any_number_of_times_method_is_called_once
|
140
|
-
@mock.should_receive(:random_call).any_number_of_times
|
141
|
-
@mock.random_call
|
142
|
-
assert_nothing_raised do
|
143
|
-
@mock.__verify
|
144
|
-
end
|
145
|
-
end
|
146
|
-
|
147
|
-
def test_should_pass_if_any_number_of_times_method_is_called_many_times
|
148
|
-
@mock.should_receive(:random_call).any_number_of_times
|
149
|
-
(1..10).each { @mock.random_call }
|
150
|
-
assert_nothing_raised do
|
151
|
-
@mock.__verify
|
152
|
-
end
|
153
|
-
end
|
154
|
-
end
|
155
|
-
|
156
|
-
class PreciseCountsTest < Test::Unit::TestCase
|
157
|
-
|
158
|
-
def setup
|
159
|
-
@mock = Mock.new("test mock")
|
160
|
-
end
|
161
|
-
|
162
|
-
def test_should_pass_mutiple_calls_with_different_args
|
163
|
-
@mock.should_receive(:random_call).once.with(1)
|
164
|
-
@mock.should_receive(:random_call).once.with(2)
|
165
|
-
@mock.random_call(1)
|
166
|
-
@mock.random_call(2)
|
167
|
-
assert_nothing_raised do
|
168
|
-
@mock.__verify
|
169
|
-
end
|
170
|
-
end
|
171
|
-
|
172
|
-
def test_should_pass_multiple_calls_with_different_args_and_counts
|
173
|
-
@mock.should_receive(:random_call).twice.with(1)
|
174
|
-
@mock.should_receive(:random_call).once.with(2)
|
175
|
-
@mock.random_call(1)
|
176
|
-
@mock.random_call(2)
|
177
|
-
@mock.random_call(1)
|
178
|
-
assert_nothing_raised do
|
179
|
-
@mock.__verify
|
180
|
-
end
|
181
|
-
end
|
182
|
-
|
183
|
-
def test_should_fail_when_exactly_n_times_method_is_never_called
|
184
|
-
@mock.should_receive(:random_call).exactly(3).times
|
185
|
-
assert_raise(MockExpectationError) do
|
186
|
-
@mock.__verify
|
187
|
-
end
|
188
|
-
end
|
189
|
-
|
190
|
-
def test_should_fail_when_exactly_n_times_method_is_called_less_than_n_times
|
191
|
-
@mock.should_receive(:random_call).exactly(3).times
|
192
|
-
@mock.random_call
|
193
|
-
@mock.random_call
|
194
|
-
assert_raise(MockExpectationError) do
|
195
|
-
@mock.__verify
|
196
|
-
end
|
197
|
-
end
|
198
|
-
|
199
|
-
def test_should_pass_if_exactly_n_times_method_is_called_exactly_n_times
|
200
|
-
@mock.should_receive(:random_call).exactly(3).times
|
201
|
-
@mock.random_call
|
202
|
-
@mock.random_call
|
203
|
-
@mock.random_call
|
204
|
-
assert_nothing_raised do
|
205
|
-
@mock.__verify
|
206
|
-
end
|
207
|
-
end
|
208
|
-
|
209
|
-
end
|
210
|
-
|
211
|
-
class AtLeastTest < Test::Unit::TestCase
|
212
|
-
|
213
|
-
def setup
|
214
|
-
@mock = Mock.new("test mock")
|
215
|
-
end
|
216
|
-
|
217
|
-
def test_should_fail_when_at_least_once_method_is_never_called
|
218
|
-
@mock.should_receive(:random_call).at_least(:once)
|
219
|
-
assert_raise(MockExpectationError) do
|
220
|
-
@mock.__verify
|
221
|
-
end
|
222
|
-
end
|
223
|
-
|
224
|
-
def test_should_pass_when_at_least_once_method_is_called_once
|
225
|
-
@mock.should_receive(:random_call).at_least(:once)
|
226
|
-
@mock.random_call
|
227
|
-
assert_nothing_raised do
|
228
|
-
@mock.__verify
|
229
|
-
end
|
230
|
-
end
|
231
|
-
|
232
|
-
def test_should_pass_when_at_least_once_method_is_called_twice
|
233
|
-
@mock.should_receive(:random_call).at_least(:once)
|
234
|
-
@mock.random_call
|
235
|
-
@mock.random_call
|
236
|
-
assert_nothing_raised do
|
237
|
-
@mock.__verify
|
238
|
-
end
|
239
|
-
end
|
240
|
-
|
241
|
-
def test_should_fail_when_at_least_twice_method_is_never_called
|
242
|
-
@mock.should_receive(:random_call).at_least(:twice)
|
243
|
-
assert_raise(MockExpectationError) do
|
244
|
-
@mock.__verify
|
245
|
-
end
|
246
|
-
end
|
247
|
-
|
248
|
-
def test_should_fail_when_at_least_twice_method_is_called_once
|
249
|
-
@mock.should_receive(:random_call).at_least(:twice)
|
250
|
-
@mock.random_call
|
251
|
-
assert_raise(MockExpectationError) do
|
252
|
-
@mock.__verify
|
253
|
-
end
|
254
|
-
end
|
255
|
-
|
256
|
-
def test_should_pass_when_at_least_twice_method_is_called_twice
|
257
|
-
@mock.should_receive(:random_call).at_least(:twice)
|
258
|
-
@mock.random_call
|
259
|
-
@mock.random_call
|
260
|
-
assert_nothing_raised do
|
261
|
-
@mock.__verify
|
262
|
-
end
|
263
|
-
end
|
264
|
-
|
265
|
-
def test_should_pass_when_at_least_twice_method_is_called_three_times
|
266
|
-
@mock.should_receive(:random_call).at_least(:twice)
|
267
|
-
@mock.random_call
|
268
|
-
@mock.random_call
|
269
|
-
@mock.random_call
|
270
|
-
assert_nothing_raised do
|
271
|
-
@mock.__verify
|
272
|
-
end
|
273
|
-
end
|
274
|
-
|
275
|
-
def test_should_fail_at_least_n_times_method_is_never_called
|
276
|
-
@mock.should_receive(:random_call).at_least(4).times
|
277
|
-
assert_raise(MockExpectationError) do
|
278
|
-
@mock.__verify
|
279
|
-
end
|
280
|
-
end
|
281
|
-
|
282
|
-
def test_should_fail_when_at_least_n_times_method_is_called_less_than_n_times
|
283
|
-
@mock.should_receive(:random_call).at_least(4).times
|
284
|
-
@mock.random_call
|
285
|
-
@mock.random_call
|
286
|
-
@mock.random_call
|
287
|
-
assert_raise(MockExpectationError) do
|
288
|
-
@mock.__verify
|
289
|
-
end
|
290
|
-
end
|
291
|
-
|
292
|
-
def test_should_pass_when_at_least_n_times_method_is_called_exactly_n_times
|
293
|
-
@mock.should_receive(:random_call).at_least(4).times
|
294
|
-
@mock.random_call
|
295
|
-
@mock.random_call
|
296
|
-
@mock.random_call
|
297
|
-
@mock.random_call
|
298
|
-
assert_nothing_raised do
|
299
|
-
@mock.__verify
|
300
|
-
end
|
301
|
-
end
|
302
|
-
|
303
|
-
def test_should_pass_when_at_least_n_times_method_is_called_n_plus_1_times
|
304
|
-
@mock.should_receive(:random_call).at_least(4).times
|
305
|
-
@mock.random_call
|
306
|
-
@mock.random_call
|
307
|
-
@mock.random_call
|
308
|
-
@mock.random_call
|
309
|
-
@mock.random_call
|
310
|
-
assert_nothing_raised do
|
311
|
-
@mock.__verify
|
312
|
-
end
|
313
|
-
end
|
314
|
-
|
315
|
-
def test_should_use_last_return_value_for_subsequent_calls
|
316
|
-
@mock.should_receive(:multi_call).at_least(:once).with(:no_args).and_return([11, 22])
|
317
|
-
assert_equal(11, @mock.multi_call)
|
318
|
-
assert_equal(22, @mock.multi_call)
|
319
|
-
assert_equal(22, @mock.multi_call)
|
320
|
-
assert_nothing_raised do
|
321
|
-
@mock.__verify
|
322
|
-
end
|
323
|
-
end
|
324
|
-
end
|
325
|
-
|
326
|
-
class AtMostTest < Test::Unit::TestCase
|
327
|
-
|
328
|
-
def setup
|
329
|
-
@mock = Mock.new("test mock")
|
330
|
-
end
|
331
|
-
|
332
|
-
def test_should_pass_when_at_most_once_method_is_never_called
|
333
|
-
@mock.should_receive(:random_call).at_most(:once)
|
334
|
-
assert_nothing_raised do
|
335
|
-
@mock.__verify
|
336
|
-
end
|
337
|
-
end
|
338
|
-
|
339
|
-
def test_should_pass_when_at_most_once_method_is_called_once
|
340
|
-
@mock.should_receive(:random_call).at_most(:once)
|
341
|
-
@mock.random_call
|
342
|
-
assert_nothing_raised do
|
343
|
-
@mock.__verify
|
344
|
-
end
|
345
|
-
end
|
346
|
-
|
347
|
-
def test_should_fail_when_at_most_once_method_is_called_twice
|
348
|
-
@mock.should_receive(:random_call).at_most(:once)
|
349
|
-
@mock.random_call
|
350
|
-
@mock.random_call
|
351
|
-
assert_raise(MockExpectationError) do
|
352
|
-
@mock.__verify
|
353
|
-
end
|
354
|
-
end
|
355
|
-
|
356
|
-
def test_should_pass_when_at_most_twice_method_is_never_called
|
357
|
-
@mock.should_receive(:random_call).at_most(:twice)
|
358
|
-
assert_nothing_raised do
|
359
|
-
@mock.__verify
|
360
|
-
end
|
361
|
-
end
|
362
|
-
|
363
|
-
def test_should_pass_when_at_most_twice_method_is_called_once
|
364
|
-
@mock.should_receive(:random_call).at_most(:twice)
|
365
|
-
@mock.random_call
|
366
|
-
assert_nothing_raised do
|
367
|
-
@mock.__verify
|
368
|
-
end
|
369
|
-
end
|
370
|
-
|
371
|
-
def test_should_pass_when_at_most_twice_method_is_called_twice
|
372
|
-
@mock.should_receive(:random_call).at_most(:twice)
|
373
|
-
@mock.random_call
|
374
|
-
@mock.random_call
|
375
|
-
assert_nothing_raised do
|
376
|
-
@mock.__verify
|
377
|
-
end
|
378
|
-
end
|
379
|
-
|
380
|
-
def test_should_fail_when_at_most_twice_method_is_called_three_times
|
381
|
-
@mock.should_receive(:random_call).at_most(:twice)
|
382
|
-
@mock.random_call
|
383
|
-
@mock.random_call
|
384
|
-
@mock.random_call
|
385
|
-
assert_raise(MockExpectationError) do
|
386
|
-
@mock.__verify
|
387
|
-
end
|
388
|
-
end
|
389
|
-
|
390
|
-
def test_should_pass_when_at_most_n_times_method_is_never_called
|
391
|
-
@mock.should_receive(:random_call).at_most(4).times
|
392
|
-
assert_nothing_raised do
|
393
|
-
@mock.__verify
|
394
|
-
end
|
395
|
-
end
|
396
|
-
|
397
|
-
def test_should_pass_when_at_most_n_times_method_is_called_less_than_n_times
|
398
|
-
@mock.should_receive(:random_call).at_most(4).times
|
399
|
-
@mock.random_call
|
400
|
-
@mock.random_call
|
401
|
-
@mock.random_call
|
402
|
-
assert_nothing_raised do
|
403
|
-
@mock.__verify
|
404
|
-
end
|
405
|
-
end
|
406
|
-
|
407
|
-
def test_should_pass_when_at_most_n_times_method_is_called_exactly_n_times
|
408
|
-
@mock.should_receive(:random_call).at_most(4).times
|
409
|
-
@mock.random_call
|
410
|
-
@mock.random_call
|
411
|
-
@mock.random_call
|
412
|
-
@mock.random_call
|
413
|
-
assert_nothing_raised do
|
414
|
-
@mock.__verify
|
415
|
-
end
|
416
|
-
end
|
417
|
-
|
418
|
-
def test_should_fail_when_at_most_n_times_method_is_called_n_plus_1_times
|
419
|
-
@mock.should_receive(:random_call).at_most(4).times
|
420
|
-
@mock.random_call
|
421
|
-
@mock.random_call
|
422
|
-
@mock.random_call
|
423
|
-
@mock.random_call
|
424
|
-
@mock.random_call
|
425
|
-
assert_raise(MockExpectationError) do
|
426
|
-
@mock.__verify
|
427
|
-
end
|
428
|
-
end
|
429
|
-
end
|
430
|
-
end
|
431
|
-
end
|