mocha 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,85 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "..", "test_helper")
2
- require 'auto_mocha/auto_mock'
3
-
4
- class AutoMockTest < Test::Unit::TestCase
5
-
6
- def setup
7
- reset_mochas
8
- end
9
-
10
- def test_should_reset_mochas
11
- undefined_class = UndefinedClass
12
- reset_mochas
13
- assert_not_same undefined_class, UndefinedClass
14
- end
15
-
16
- def test_should_refer_to_same_class
17
- defined_class = Class.new { def self.undefined_class; UndefinedClass; end }
18
- assert_same UndefinedClass, defined_class.undefined_class
19
- end
20
-
21
- def test_should_refer_to_same_parent_class
22
- defined_class = Class.new(UndefinedClass)
23
- assert_same UndefinedClass, defined_class.superclass
24
- end
25
-
26
- def test_should_refer_to_same_namespaced_class
27
- defined_class = Class.new { def self.namespaced_class; Namespace::UndefinedClass; end }
28
- assert_same Namespace::UndefinedClass, defined_class.namespaced_class
29
- end
30
-
31
- def test_should_refer_to_different_namespaced_classes_within_test
32
- assert ! NamespaceOne::UndefinedClass.equal?(NamespaceTwo::UndefinedClass)
33
- end
34
-
35
- def test_should_refer_to_different_namespaced_classes_within_class_under_test
36
- defined_class = Class.new {
37
- def self.class_in_namespace_one; NamespaceOne::UndefinedClass; end
38
- def self.class_in_namespace_two; NamespaceTwo::UndefinedClass; end
39
- }
40
- assert ! defined_class.class_in_namespace_one.equal?(defined_class.class_in_namespace_two)
41
- end
42
-
43
- def test_should_refer_to_same_class_within_instance_under_test
44
- defined_class = Class.new(UndefinedClassOne) { def undefined_class_two; UndefinedClassTwo; end }
45
- instance = defined_class.new
46
- assert_same UndefinedClassTwo, instance.undefined_class_two
47
- end
48
-
49
- def test_should_verify_all_root_mochas_when_second_method_is_not_called
50
- ClassOne.expects(:first)
51
- ClassTwo.expects(:second)
52
- ClassOne.first
53
- assert_raise(Test::Unit::AssertionFailedError) {
54
- verify_all
55
- }
56
- end
57
-
58
- def test_should_verify_all_root_mochas_when_first_method_is_not_called
59
- ClassOne.expects(:first)
60
- ClassTwo.expects(:second)
61
- ClassTwo.second
62
- assert_raise(Test::Unit::AssertionFailedError) {
63
- verify_all
64
- }
65
- end
66
-
67
- def test_should_verify_all_namespaced_mochas_when_second_method_is_not_called
68
- NamespaceOne::ClassOne.expects(:first)
69
- NamespaceTwo::ClassTwo.expects(:second)
70
- NamespaceOne::ClassOne.first
71
- assert_raise(Test::Unit::AssertionFailedError) {
72
- verify_all
73
- }
74
- end
75
-
76
- def test_should_verify_all_namespaced_mochas_when_first_method_is_not_called
77
- NamespaceOne::ClassOne.expects(:first)
78
- NamespaceTwo::ClassTwo.expects(:second)
79
- NamespaceTwo::ClassTwo.second
80
- assert_raise(Test::Unit::AssertionFailedError) {
81
- verify_all
82
- }
83
- end
84
-
85
- end
@@ -1,179 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "..", "test_helper")
2
- require 'auto_mocha/mock_class'
3
-
4
- class MockClassTest < Test::Unit::TestCase
5
-
6
- include Mocha
7
-
8
- def test_should_not_expect_unexpected_class_method_call
9
- klass = MockClass.dup
10
- assert_raise(Test::Unit::AssertionFailedError) {
11
- klass.unexpected_class_method
12
- }
13
- end
14
-
15
- def test_should_expect_expected_class_method_call
16
- klass = MockClass.dup
17
- klass.expects(:expected_class_method)
18
- assert_nothing_raised(Test::Unit::AssertionFailedError) {
19
- klass.expected_class_method
20
- }
21
- end
22
-
23
- def test_should_fail_verification_for_missing_class_method_call
24
- klass = MockClass.dup
25
- klass.expects(:expected_class_method)
26
- assert_raise(Test::Unit::AssertionFailedError) {
27
- klass.verify
28
- }
29
- end
30
-
31
- def test_should_verify_expected_class_method_call
32
- klass = MockClass.dup
33
- klass.expects(:expected_class_method)
34
- klass.expected_class_method
35
- assert_nothing_raised(Test::Unit::AssertionFailedError) {
36
- klass.verify
37
- }
38
- end
39
-
40
- def test_should_not_expect_unexpected_child_class_method_call
41
- parent_class = MockClass.dup
42
- child_class = Class.new(parent_class)
43
- assert_raise(Test::Unit::AssertionFailedError) {
44
- child_class.unexpected_child_class_method
45
- }
46
- end
47
-
48
- def test_should_expect_child_class_method_call
49
- parent_class = MockClass.dup
50
- child_class = Class.new(parent_class)
51
- child_class.expects(:expected_child_class_method)
52
- assert_nothing_raised(Test::Unit::AssertionFailedError) {
53
- child_class.expected_child_class_method
54
- }
55
- end
56
-
57
- def test_should_fail_verification_for_missing_child_class_method_call
58
- parent_class = MockClass.dup
59
- child_class = Class.new(parent_class)
60
- child_class.expects(:expected_child_class_method)
61
- assert_raise(Test::Unit::AssertionFailedError) {
62
- child_class.verify
63
- }
64
- end
65
-
66
- def test_should_verify_expected_child_class_method_call
67
- parent_class = MockClass.dup
68
- child_class = Class.new(parent_class)
69
- child_class.expects(:expected_child_class_method)
70
- child_class.expected_child_class_method
71
- assert_nothing_raised(Test::Unit::AssertionFailedError) {
72
- child_class.verify
73
- }
74
- end
75
-
76
- def test_should_not_expect_unexpected_parent_class_method_call
77
- parent_class = MockClass.dup
78
- child_class = Class.new(parent_class)
79
- assert_raise(Test::Unit::AssertionFailedError) {
80
- child_class.unexpected_parent_class_method
81
- }
82
- end
83
-
84
- def test_should_expect_parent_class_method_call
85
- parent_class = MockClass.dup
86
- child_class = Class.new(parent_class)
87
- parent_class.expects(:expected_parent_class_method)
88
- assert_nothing_raised(Test::Unit::AssertionFailedError) {
89
- child_class.expected_parent_class_method
90
- }
91
- end
92
-
93
- def test_should_fail_verification_for_missing_parent_class_method
94
- parent_class = MockClass.dup
95
- child_class = Class.new(parent_class)
96
- parent_class.expects(:expected_parent_class_method)
97
- assert_raise(Test::Unit::AssertionFailedError) {
98
- parent_class.verify
99
- }
100
- end
101
-
102
- def test_should_verify_expected_parent_class_method_call_from_child_class
103
- parent_class = MockClass.dup
104
- child_class = Class.new(parent_class)
105
- parent_class.expects(:expected_parent_class_method)
106
- child_class.expected_parent_class_method
107
- assert_nothing_raised(Test::Unit::AssertionFailedError) {
108
- parent_class.verify
109
- }
110
- end
111
-
112
- def test_should_have_different_expectations_for_different_descendant_classes
113
- klass1 = MockClass.dup
114
- klass2 = MockClass.dup
115
- klass2.expects(:my_class_method)
116
- assert_raise(Test::Unit::AssertionFailedError) {
117
- klass1.my_class_method
118
- }
119
- assert_nothing_raised(Test::Unit::AssertionFailedError) {
120
- klass2.my_class_method
121
- }
122
- end
123
-
124
- def test_should_allow_mocking_of_class_constructor
125
- klass = MockClass.dup
126
- expected_instance = Object.new
127
- klass.expects(:new).returns(expected_instance)
128
- assert_same expected_instance, klass.new
129
- end
130
-
131
- def test_should_use_original_constructor_for_derived_classes
132
- parent_class = MockClass.dup
133
- child_class = Class.new(parent_class) { attr_reader :p1, :p2; def initialize(p1, p2); @p1, @p2 = p1, p2; end }
134
- child_instance = child_class.new(1, 2)
135
- assert_equal 1, child_instance.p1
136
- assert_equal 2, child_instance.p2
137
- end
138
-
139
- def test_should_not_expect_unexpected_parent_instance_method_call
140
- parent_class = MockClass.dup
141
- child_class = Class.new(parent_class)
142
- child_instance = child_class.new
143
- assert_raise(Test::Unit::AssertionFailedError) {
144
- child_instance.unexpected_parent_instance_method
145
- }
146
- end
147
-
148
- def test_should_expect_expected_parent_instance_method_call
149
- parent_class = MockClass.dup
150
- child_class = Class.new(parent_class)
151
- child_instance = child_class.new
152
- child_instance.expects(:expected_parent_instance_method)
153
- assert_nothing_raised(Test::Unit::AssertionFailedError) {
154
- child_instance.expected_parent_instance_method
155
- }
156
- end
157
-
158
- def test_should_fail_verification_for_missing_parent_instance_method
159
- parent_class = MockClass.dup
160
- child_class = Class.new(parent_class)
161
- child_instance = child_class.new
162
- child_instance.expects(:expected_parent_instance_method)
163
- assert_raise(Test::Unit::AssertionFailedError) {
164
- child_instance.verify
165
- }
166
- end
167
-
168
- def test_should_verify_expected_parent_class_method_call_from_child_class
169
- parent_class = MockClass.dup
170
- child_class = Class.new(parent_class)
171
- child_instance = child_class.new
172
- child_instance.expects(:expected_parent_instance_method)
173
- child_instance.expected_parent_instance_method
174
- assert_nothing_raised(Test::Unit::AssertionFailedError) {
175
- child_instance.verify
176
- }
177
- end
178
-
179
- end
@@ -1,35 +0,0 @@
1
- require 'test_helper'
2
- require 'auto_mocha'
3
-
4
- class Product < ActiveRecord::Base
5
-
6
- def self.released_since(cutoff_date)
7
- find(:all, :conditions => ['release_date > :date', {:date => cutoff_date}])
8
- end
9
-
10
- def sales_with_price_exceeding(price_threshold)
11
- sales.select { |sale| sale.price > price_threshold }
12
- end
13
-
14
- end
15
-
16
- class AutoMockAcceptanceTest < Test::Unit::TestCase
17
-
18
- def test_should_find_all_products_released_since_specified_date
19
- new_releases = [Product.new]
20
- Product.expects(:find).with(:all, :conditions => ['release_date > :date', {:date => :cutoff_date}]).returns(new_releases)
21
- assert_equal new_releases, Product.released_since(:cutoff_date)
22
- end
23
-
24
- def test_should_find_sales_for_this_product_which_exceeded_specified_price
25
- product = Product.new
26
- cheap_order = Mocha::Mock.new
27
- cheap_order.expects(:price).returns(5)
28
- expensive_order = Mocha::Mock.new
29
- expensive_order.expects(:price).returns(15)
30
- orders = [cheap_order, expensive_order]
31
- product.expects(:sales).returns(orders)
32
- assert_equal [expensive_order], product.sales_with_price_exceeding(10)
33
- end
34
-
35
- end