assert 2.18.0 → 2.19.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.
- checksums.yaml +4 -4
- data/README.md +66 -37
- data/assert.gemspec +4 -3
- data/lib/assert/actual_value.rb +140 -0
- data/lib/assert/assertions.rb +80 -20
- data/lib/assert/context.rb +31 -37
- data/lib/assert/context/let_dsl.rb +13 -0
- data/lib/assert/context/method_missing.rb +19 -0
- data/lib/assert/context/subject_dsl.rb +23 -24
- data/lib/assert/macros/methods.rb +4 -4
- data/lib/assert/result.rb +5 -1
- data/lib/assert/stub.rb +16 -0
- data/lib/assert/suite.rb +7 -10
- data/lib/assert/test.rb +0 -8
- data/lib/assert/version.rb +1 -1
- data/test/helper.rb +23 -25
- data/test/support/factory.rb +15 -0
- data/test/system/stub_tests.rb +332 -333
- data/test/system/test_tests.rb +99 -109
- data/test/unit/actual_value_tests.rb +371 -0
- data/test/unit/assert_tests.rb +111 -43
- data/test/unit/assertions/assert_block_tests.rb +30 -31
- data/test/unit/assertions/assert_changes_tests.rb +97 -0
- data/test/unit/assertions/assert_empty_tests.rb +33 -32
- data/test/unit/assertions/assert_equal_tests.rb +94 -74
- data/test/unit/assertions/assert_file_exists_tests.rb +32 -33
- data/test/unit/assertions/assert_includes_tests.rb +38 -37
- data/test/unit/assertions/assert_instance_of_tests.rb +34 -33
- data/test/unit/assertions/assert_kind_of_tests.rb +34 -33
- data/test/unit/assertions/assert_match_tests.rb +34 -33
- data/test/unit/assertions/assert_nil_tests.rb +30 -31
- data/test/unit/assertions/assert_raises_tests.rb +55 -55
- data/test/unit/assertions/assert_respond_to_tests.rb +36 -35
- data/test/unit/assertions/assert_same_tests.rb +86 -81
- data/test/unit/assertions/assert_true_false_tests.rb +60 -60
- data/test/unit/assertions_tests.rb +26 -24
- data/test/unit/config_helpers_tests.rb +43 -38
- data/test/unit/config_tests.rb +38 -34
- data/test/unit/context/let_dsl_tests.rb +10 -0
- data/test/unit/context/setup_dsl_tests.rb +70 -81
- data/test/unit/context/subject_dsl_tests.rb +15 -43
- data/test/unit/context/suite_dsl_tests.rb +15 -16
- data/test/unit/context/test_dsl_tests.rb +50 -52
- data/test/unit/context_info_tests.rb +23 -15
- data/test/unit/context_tests.rb +184 -179
- data/test/unit/default_runner_tests.rb +2 -5
- data/test/unit/default_suite_tests.rb +57 -53
- data/test/unit/factory_tests.rb +5 -3
- data/test/unit/file_line_tests.rb +33 -35
- data/test/unit/macro_tests.rb +14 -10
- data/test/unit/result_tests.rb +159 -183
- data/test/unit/runner_tests.rb +64 -64
- data/test/unit/suite_tests.rb +56 -59
- data/test/unit/test_tests.rb +118 -139
- data/test/unit/utils_tests.rb +43 -45
- data/test/unit/view_helpers_tests.rb +54 -52
- data/test/unit/view_tests.rb +22 -23
- metadata +29 -7
data/test/system/test_tests.rb
CHANGED
@@ -6,332 +6,322 @@ class Assert::Test
|
|
6
6
|
include Assert::Test::TestHelpers
|
7
7
|
|
8
8
|
desc "Assert::Test"
|
9
|
-
|
9
|
+
|
10
|
+
setup do
|
11
|
+
subject.run(&test_run_callback)
|
12
|
+
end
|
10
13
|
end
|
11
14
|
|
12
15
|
class NoResultsTests < SystemTests
|
13
16
|
desc "when producing no results"
|
14
|
-
|
15
|
-
@test = Factory.test
|
16
|
-
@test.run(&test_run_callback)
|
17
|
-
end
|
17
|
+
subject { Factory.test }
|
18
18
|
|
19
19
|
should "generate 0 results" do
|
20
|
-
|
20
|
+
assert_that(test_run_result_count).equals(0)
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
24
|
class PassTests < SystemTests
|
25
25
|
desc "when passing a single assertion"
|
26
|
-
|
27
|
-
@test = Factory.test{ assert(1 == 1) }
|
28
|
-
@test.run(&test_run_callback)
|
29
|
-
end
|
26
|
+
subject { Factory.test{ assert(1 == 1) } }
|
30
27
|
|
31
28
|
should "generate 1 result" do
|
32
|
-
|
29
|
+
assert_that(test_run_result_count).equals(1)
|
33
30
|
end
|
34
31
|
|
35
32
|
should "generate 1 pass result" do
|
36
|
-
|
33
|
+
assert_that(test_run_result_count(:pass)).equals(1)
|
37
34
|
end
|
38
35
|
end
|
39
36
|
|
40
37
|
class FailTests < SystemTests
|
41
38
|
desc "when failing a single assertion"
|
42
|
-
|
43
|
-
@test = Factory.test{ assert(1 == 0) }
|
44
|
-
@test.run(&test_run_callback)
|
45
|
-
end
|
39
|
+
subject { Factory.test{ assert(1 == 0) } }
|
46
40
|
|
47
41
|
should "generate 1 result" do
|
48
|
-
|
42
|
+
assert_that(test_run_result_count).equals(1)
|
49
43
|
end
|
50
44
|
|
51
45
|
should "generate 1 fail result" do
|
52
|
-
|
46
|
+
assert_that(test_run_result_count(:fail)).equals(1)
|
53
47
|
end
|
54
48
|
end
|
55
49
|
|
56
50
|
class SkipTests < SystemTests
|
57
51
|
desc "when skipping once"
|
58
|
-
|
59
|
-
@test = Factory.test{ skip }
|
60
|
-
@test.run(&test_run_callback)
|
61
|
-
end
|
52
|
+
subject { Factory.test{ skip } }
|
62
53
|
|
63
54
|
should "generate 1 result" do
|
64
|
-
|
55
|
+
assert_that(test_run_result_count).equals(1)
|
65
56
|
end
|
66
57
|
|
67
58
|
should "generate 1 skip result" do
|
68
|
-
|
59
|
+
assert_that(test_run_result_count(:skip)).equals(1)
|
69
60
|
end
|
70
61
|
end
|
71
62
|
|
72
63
|
class ErrorTests < SystemTests
|
73
64
|
desc "when erroring once"
|
74
|
-
|
75
|
-
@test = Factory.test{ raise("WHAT") }
|
76
|
-
@test.run(&test_run_callback)
|
77
|
-
end
|
65
|
+
subject { Factory.test{ raise("WHAT") } }
|
78
66
|
|
79
67
|
should "generate 1 result" do
|
80
|
-
|
68
|
+
assert_that(test_run_result_count).equals(1)
|
81
69
|
end
|
82
70
|
|
83
71
|
should "generate 1 error result" do
|
84
|
-
|
72
|
+
assert_that(test_run_result_count(:error)).equals(1)
|
85
73
|
end
|
86
74
|
end
|
87
75
|
|
88
76
|
class MixedTests < SystemTests
|
89
77
|
desc "when passing 1 assertion and failing 1 assertion"
|
90
|
-
|
91
|
-
|
78
|
+
subject {
|
79
|
+
Factory.test do
|
92
80
|
assert(1 == 1)
|
93
81
|
assert(1 == 0)
|
94
82
|
end
|
95
|
-
|
96
|
-
end
|
83
|
+
}
|
97
84
|
|
98
85
|
should "generate 2 total results" do
|
99
|
-
|
86
|
+
assert_that(test_run_result_count).equals(2)
|
100
87
|
end
|
101
88
|
|
102
89
|
should "generate 1 pass result" do
|
103
|
-
|
90
|
+
assert_that(test_run_result_count(:pass)).equals(1)
|
104
91
|
end
|
105
92
|
|
106
93
|
should "generate 1 fail result" do
|
107
|
-
|
94
|
+
assert_that(test_run_result_count(:fail)).equals(1)
|
108
95
|
end
|
109
96
|
end
|
110
97
|
|
111
98
|
class MixedSkipTests < SystemTests
|
112
99
|
desc "when passing 1 assertion and failing 1 assertion with a skip call in between"
|
113
|
-
|
114
|
-
|
100
|
+
subject {
|
101
|
+
Factory.test do
|
115
102
|
assert(1 == 1)
|
116
103
|
skip
|
117
104
|
assert(1 == 0)
|
118
105
|
end
|
119
|
-
|
120
|
-
end
|
106
|
+
}
|
121
107
|
|
122
108
|
should "generate 2 total results" do
|
123
|
-
|
109
|
+
assert_that(test_run_result_count).equals(2)
|
124
110
|
end
|
125
111
|
|
126
112
|
should "generate a skip for its last result" do
|
127
|
-
|
113
|
+
assert_that(last_test_run_result).is_kind_of(Assert::Result::Skip)
|
128
114
|
end
|
129
115
|
|
130
116
|
should "generate 1 pass result" do
|
131
|
-
|
117
|
+
assert_that(test_run_result_count(:pass)).equals(1)
|
132
118
|
end
|
133
119
|
|
134
120
|
should "generate 1 skip result" do
|
135
|
-
|
121
|
+
assert_that(test_run_result_count(:skip)).equals(1)
|
136
122
|
end
|
137
123
|
|
138
124
|
should "generate 0 fail results" do
|
139
|
-
|
125
|
+
assert_that(test_run_result_count(:fail)).equals(0)
|
140
126
|
end
|
141
127
|
end
|
142
128
|
|
143
129
|
class MixedErrorTests < SystemTests
|
144
130
|
desc "when passing 1 assertion and failing 1 assertion with an exception raised in between"
|
145
|
-
|
146
|
-
|
131
|
+
subject {
|
132
|
+
Factory.test do
|
147
133
|
assert(1 == 1)
|
148
134
|
raise Exception, "something errored"
|
149
135
|
assert(1 == 0)
|
150
136
|
end
|
151
|
-
|
152
|
-
end
|
137
|
+
}
|
153
138
|
|
154
139
|
should "generate 2 total results" do
|
155
|
-
|
140
|
+
assert_that(test_run_result_count).equals(2)
|
156
141
|
end
|
157
142
|
|
158
143
|
should "generate an error for its last result" do
|
159
|
-
|
144
|
+
assert_that(last_test_run_result).is_kind_of(Assert::Result::Error)
|
160
145
|
end
|
161
146
|
|
162
147
|
should "generate 1 pass result" do
|
163
|
-
|
148
|
+
assert_that(test_run_result_count(:pass)).equals(1)
|
164
149
|
end
|
165
150
|
|
166
151
|
should "generate 1 error result" do
|
167
|
-
|
152
|
+
assert_that(test_run_result_count(:error)).equals(1)
|
168
153
|
end
|
169
154
|
|
170
155
|
should "generate 0 fail results" do
|
171
|
-
|
156
|
+
assert_that(test_run_result_count(:fail)).equals(0)
|
172
157
|
end
|
173
158
|
end
|
174
159
|
|
175
160
|
class MixedPassTests < SystemTests
|
176
161
|
desc "when passing 1 assertion and failing 1 assertion with a pass call in between"
|
177
|
-
|
178
|
-
|
162
|
+
subject {
|
163
|
+
Factory.test do
|
179
164
|
assert(1 == 1)
|
180
165
|
pass
|
181
166
|
assert(1 == 0)
|
182
167
|
end
|
183
|
-
|
184
|
-
end
|
168
|
+
}
|
185
169
|
|
186
170
|
should "generate 3 total results" do
|
187
|
-
|
171
|
+
assert_that(test_run_result_count).equals(3)
|
188
172
|
end
|
189
173
|
|
190
174
|
should "generate a fail for its last result" do
|
191
|
-
|
175
|
+
assert_that(last_test_run_result).is_kind_of(Assert::Result::Fail)
|
192
176
|
end
|
193
177
|
|
194
178
|
should "generate 2 pass results" do
|
195
|
-
|
179
|
+
assert_that(test_run_result_count(:pass)).equals(2)
|
196
180
|
end
|
197
181
|
|
198
182
|
should "generate 1 fail result" do
|
199
|
-
|
183
|
+
assert_that(test_run_result_count(:fail)).equals(1)
|
200
184
|
end
|
201
185
|
end
|
202
186
|
|
203
187
|
class MixedFailTests < SystemTests
|
204
188
|
desc "when failing 1 assertion and passing 1 assertion with a fail call in between"
|
205
|
-
|
206
|
-
|
189
|
+
subject {
|
190
|
+
Factory.test do
|
207
191
|
assert(1 == 0)
|
208
192
|
fail
|
209
193
|
assert(1 == 1)
|
210
194
|
end
|
211
|
-
|
212
|
-
end
|
195
|
+
}
|
213
196
|
|
214
197
|
should "generate 3 total results" do
|
215
|
-
|
198
|
+
assert_that(test_run_result_count).equals(3)
|
216
199
|
end
|
217
200
|
|
218
201
|
should "generate a pass for its last result" do
|
219
|
-
|
202
|
+
assert_that(last_test_run_result).is_kind_of(Assert::Result::Pass)
|
220
203
|
end
|
221
204
|
|
222
205
|
should "generate 1 pass result" do
|
223
|
-
|
206
|
+
assert_that(test_run_result_count(:pass)).equals(1)
|
224
207
|
end
|
225
208
|
|
226
209
|
should "generate 2 fail results" do
|
227
|
-
|
210
|
+
assert_that(test_run_result_count(:fail)).equals(2)
|
228
211
|
end
|
229
212
|
end
|
230
213
|
|
231
214
|
class MixedFlunkTests < SystemTests
|
232
215
|
desc "has failing 1 assertion and passing 1 assertion with a flunk call in between"
|
233
|
-
|
234
|
-
|
216
|
+
subject {
|
217
|
+
Factory.test do
|
235
218
|
assert(1 == 0)
|
236
219
|
flunk
|
237
220
|
assert(1 == 1)
|
238
221
|
end
|
239
|
-
|
240
|
-
end
|
222
|
+
}
|
241
223
|
|
242
224
|
should "generate 3 total results" do
|
243
|
-
|
225
|
+
assert_that(test_run_result_count).equals(3)
|
244
226
|
end
|
245
227
|
|
246
228
|
should "generate a pass for its last result" do
|
247
|
-
|
229
|
+
assert_that(last_test_run_result).is_kind_of(Assert::Result::Pass)
|
248
230
|
end
|
249
231
|
|
250
232
|
should "generate 1 pass results" do
|
251
|
-
|
233
|
+
assert_that(test_run_result_count(:pass)).equals(1)
|
252
234
|
end
|
253
235
|
|
254
236
|
should "generate 2 fail results" do
|
255
|
-
|
237
|
+
assert_that(test_run_result_count(:fail)).equals(2)
|
256
238
|
end
|
257
239
|
end
|
258
240
|
|
259
241
|
class WithSetupsTests < SystemTests
|
260
242
|
desc "that has setup logic"
|
261
|
-
|
262
|
-
|
243
|
+
subject {
|
244
|
+
Factory.test("t", Factory.context_info(context_class1)) { pass "TEST" }
|
245
|
+
}
|
246
|
+
|
247
|
+
let(:context_class1) {
|
248
|
+
Factory.context_class do
|
263
249
|
# assert style
|
264
|
-
setup{ pass "assert style setup" }
|
250
|
+
setup { pass "assert style setup" }
|
265
251
|
# test/unit style
|
266
252
|
def setup; pass "test/unit style setup"; end
|
267
253
|
end
|
268
|
-
|
269
|
-
@test.run(&test_run_callback)
|
270
|
-
end
|
254
|
+
}
|
271
255
|
|
272
256
|
should "execute all setup logic when run" do
|
273
|
-
|
257
|
+
assert_that(test_run_result_count(:pass)).equals(3)
|
274
258
|
|
275
259
|
exp = ["assert style setup", "test/unit style setup", "TEST"]
|
276
|
-
|
260
|
+
assert_that(test_run_result_messages).equals(exp)
|
277
261
|
end
|
278
262
|
end
|
279
263
|
|
280
264
|
class WithTeardownsTests < SystemTests
|
281
265
|
desc "that has teardown logic"
|
282
|
-
|
283
|
-
|
266
|
+
subject {
|
267
|
+
Factory.test("t", Factory.context_info(context_class1)) { pass "TEST" }
|
268
|
+
}
|
269
|
+
|
270
|
+
let(:context_class1) {
|
271
|
+
Factory.context_class do
|
284
272
|
# assert style
|
285
|
-
teardown{ pass "assert style teardown" }
|
273
|
+
teardown { pass "assert style teardown" }
|
286
274
|
# test/unit style
|
287
275
|
def teardown; pass "test/unit style teardown"; end
|
288
276
|
end
|
289
|
-
|
290
|
-
@test.run(&test_run_callback)
|
291
|
-
end
|
277
|
+
}
|
292
278
|
|
293
279
|
should "execute all teardown logic when run" do
|
294
|
-
|
280
|
+
assert_that(test_run_result_count(:pass)).equals(3)
|
295
281
|
|
296
282
|
exp = ["TEST", "assert style teardown", "test/unit style teardown"]
|
297
|
-
|
283
|
+
assert_that(test_run_result_messages).equals(exp)
|
298
284
|
end
|
299
285
|
end
|
300
286
|
|
301
287
|
class WithAroundsTests < SystemTests
|
302
288
|
desc "that has around logic (in addition to setups/teardowns)"
|
303
|
-
|
304
|
-
|
289
|
+
subject {
|
290
|
+
Factory.test("t", Factory.context_info(context_class1)) { pass "TEST" }
|
291
|
+
}
|
292
|
+
|
293
|
+
let(:parent_context_class1) {
|
294
|
+
Factory.modes_off_context_class do
|
305
295
|
around do |block|
|
306
296
|
pass "parent around start"
|
307
297
|
block.call
|
308
298
|
pass "parent around end"
|
309
299
|
end
|
310
|
-
setup{ pass "parent setup" }
|
311
|
-
teardown{ pass "parent teardown" }
|
300
|
+
setup { pass "parent setup" }
|
301
|
+
teardown { pass "parent teardown" }
|
312
302
|
end
|
313
|
-
|
314
|
-
|
303
|
+
}
|
304
|
+
let(:context_class1) {
|
305
|
+
Factory.modes_off_context_class(parent_context_class1) do
|
306
|
+
setup { pass "child setup1" }
|
315
307
|
around do |block|
|
316
308
|
pass "child around1 start"
|
317
309
|
block.call
|
318
310
|
pass "child around1 end"
|
319
311
|
end
|
320
|
-
teardown{ pass "child teardown1" }
|
321
|
-
setup{ pass "child setup2" }
|
312
|
+
teardown { pass "child teardown1" }
|
313
|
+
setup { pass "child setup2" }
|
322
314
|
around do |block|
|
323
315
|
pass "child around2 start"
|
324
316
|
block.call
|
325
317
|
pass "child around2 end"
|
326
318
|
end
|
327
|
-
teardown{ pass "child teardown2" }
|
319
|
+
teardown { pass "child teardown2" }
|
328
320
|
end
|
329
|
-
|
330
|
-
@test.run(&test_run_callback)
|
331
|
-
end
|
321
|
+
}
|
332
322
|
|
333
323
|
should "run the arounds outside of the setups/teardowns/test" do
|
334
|
-
|
324
|
+
assert_that(test_run_result_count(:pass)).equals(13)
|
335
325
|
|
336
326
|
exp = [
|
337
327
|
"parent around start", "child around1 start", "child around2 start",
|
@@ -339,7 +329,7 @@ class Assert::Test
|
|
339
329
|
"child teardown1", "child teardown2", "parent teardown",
|
340
330
|
"child around2 end", "child around1 end", "parent around end"
|
341
331
|
]
|
342
|
-
|
332
|
+
assert_that(test_run_result_messages).equals(exp)
|
343
333
|
end
|
344
334
|
end
|
345
335
|
end
|
@@ -0,0 +1,371 @@
|
|
1
|
+
require "assert"
|
2
|
+
require "assert/actual_value"
|
3
|
+
|
4
|
+
class Assert::ActualValue
|
5
|
+
class UnitTests < Assert::Context
|
6
|
+
desc "Assert::ActualValue"
|
7
|
+
subject { unit_class }
|
8
|
+
|
9
|
+
let(:unit_class) { Assert::ActualValue }
|
10
|
+
end
|
11
|
+
|
12
|
+
class InitTests < UnitTests
|
13
|
+
desc "when init"
|
14
|
+
subject { unit_class.new(actual_value1, context: context1) }
|
15
|
+
|
16
|
+
let(:actual_value1) { Factory.string }
|
17
|
+
let(:context1) { Factory.modes_off_context }
|
18
|
+
|
19
|
+
should have_imeths :returns_true, :does_not_return_true
|
20
|
+
should have_imeths :raises, :does_not_raise
|
21
|
+
should have_imeths :changes, :does_not_change
|
22
|
+
should have_imeths :is_a_kind_of, :is_not_a_kind_of
|
23
|
+
should have_imeths :is_kind_of, :is_not_kind_of
|
24
|
+
should have_imeths :is_an_instance_of, :is_not_an_instance_of
|
25
|
+
should have_imeths :is_instance_of, :is_not_instance_of
|
26
|
+
should have_imeths :responds_to, :does_not_respond_to
|
27
|
+
should have_imeths :is_the_same_as, :is_not_the_same_as
|
28
|
+
should have_imeths :is, :is_not
|
29
|
+
should have_imeths :equals, :does_not_equal
|
30
|
+
should have_imeths :is_equal_to, :is_not_equal_to
|
31
|
+
should have_imeths :matches, :does_not_match
|
32
|
+
should have_imeths :is_empty, :is_not_empty
|
33
|
+
should have_imeths :includes, :does_not_include
|
34
|
+
should have_imeths :is_nil, :is_not_nil
|
35
|
+
should have_imeths :is_true, :is_not_true
|
36
|
+
should have_imeths :is_false, :is_not_false
|
37
|
+
should have_imeths :is_a_file, :is_not_a_file
|
38
|
+
end
|
39
|
+
|
40
|
+
class MethodsTests < InitTests
|
41
|
+
desc "methods"
|
42
|
+
|
43
|
+
let(:args1) { Factory.integer(3).times.map { Factory.string } }
|
44
|
+
let(:capture_last_call_block) { ->(call) { @last_call = call } }
|
45
|
+
|
46
|
+
should "call to their equivalent context methods" do
|
47
|
+
assert_calls(
|
48
|
+
:assert_block,
|
49
|
+
when_calling: :returns_true,
|
50
|
+
on_value: -> {}
|
51
|
+
) do |value, call|
|
52
|
+
assert_equal args1, call.args
|
53
|
+
assert_equal value, call.block
|
54
|
+
end
|
55
|
+
|
56
|
+
assert_calls(
|
57
|
+
:assert_not_block,
|
58
|
+
when_calling: :does_not_return_true,
|
59
|
+
on_value: -> {}
|
60
|
+
) do |value, call|
|
61
|
+
assert_equal args1, call.args
|
62
|
+
assert_equal value, call.block
|
63
|
+
end
|
64
|
+
|
65
|
+
assert_calls(
|
66
|
+
:assert_raises,
|
67
|
+
when_calling: :raises,
|
68
|
+
on_value: -> {}
|
69
|
+
) do |value, call|
|
70
|
+
assert_equal args1, call.args
|
71
|
+
assert_equal value, call.block
|
72
|
+
end
|
73
|
+
|
74
|
+
assert_calls(
|
75
|
+
:assert_nothing_raised,
|
76
|
+
when_calling: :does_not_raise,
|
77
|
+
on_value: -> {}
|
78
|
+
) do |value, call|
|
79
|
+
assert_equal args1, call.args
|
80
|
+
assert_equal value, call.block
|
81
|
+
end
|
82
|
+
|
83
|
+
assert_calls(
|
84
|
+
:assert_changes,
|
85
|
+
when_calling: :changes,
|
86
|
+
on_value: -> {}
|
87
|
+
) do |value, call|
|
88
|
+
assert_equal args1, call.args
|
89
|
+
assert_equal value, call.block
|
90
|
+
end
|
91
|
+
|
92
|
+
assert_calls(
|
93
|
+
:assert_not_changes,
|
94
|
+
when_calling: :does_not_change,
|
95
|
+
on_value: -> {}
|
96
|
+
) do |value, call|
|
97
|
+
assert_equal args1, call.args
|
98
|
+
assert_equal value, call.block
|
99
|
+
end
|
100
|
+
|
101
|
+
assert_calls(
|
102
|
+
:assert_kind_of,
|
103
|
+
when_calling: [:is_a_kind_of, String],
|
104
|
+
on_value: actual_value1
|
105
|
+
) do |value, call|
|
106
|
+
assert_equal [String, value, *args1], call.args
|
107
|
+
end
|
108
|
+
|
109
|
+
assert_calls(
|
110
|
+
:assert_kind_of,
|
111
|
+
when_calling: [:is_kind_of, String],
|
112
|
+
on_value: actual_value1
|
113
|
+
) do |value, call|
|
114
|
+
assert_equal [String, value, *args1], call.args
|
115
|
+
end
|
116
|
+
|
117
|
+
assert_calls(
|
118
|
+
:assert_not_kind_of,
|
119
|
+
when_calling: [:is_not_a_kind_of, String],
|
120
|
+
on_value: actual_value1
|
121
|
+
) do |value, call|
|
122
|
+
assert_equal [String, value, *args1], call.args
|
123
|
+
end
|
124
|
+
|
125
|
+
assert_calls(
|
126
|
+
:assert_not_kind_of,
|
127
|
+
when_calling: [:is_not_kind_of, String],
|
128
|
+
on_value: actual_value1
|
129
|
+
) do |value, call|
|
130
|
+
assert_equal [String, value, *args1], call.args
|
131
|
+
end
|
132
|
+
|
133
|
+
assert_calls(
|
134
|
+
:assert_instance_of,
|
135
|
+
when_calling: [:is_an_instance_of, String],
|
136
|
+
on_value: actual_value1
|
137
|
+
) do |value, call|
|
138
|
+
assert_equal [String, value, *args1], call.args
|
139
|
+
end
|
140
|
+
|
141
|
+
assert_calls(
|
142
|
+
:assert_instance_of,
|
143
|
+
when_calling: [:is_instance_of, String],
|
144
|
+
on_value: actual_value1
|
145
|
+
) do |value, call|
|
146
|
+
assert_equal [String, value, *args1], call.args
|
147
|
+
end
|
148
|
+
|
149
|
+
assert_calls(
|
150
|
+
:assert_not_instance_of,
|
151
|
+
when_calling: [:is_not_an_instance_of, String],
|
152
|
+
on_value: actual_value1
|
153
|
+
) do |value, call|
|
154
|
+
assert_equal [String, value, *args1], call.args
|
155
|
+
end
|
156
|
+
|
157
|
+
assert_calls(
|
158
|
+
:assert_not_instance_of,
|
159
|
+
when_calling: [:is_not_instance_of, String],
|
160
|
+
on_value: actual_value1
|
161
|
+
) do |value, call|
|
162
|
+
assert_equal [String, value, *args1], call.args
|
163
|
+
end
|
164
|
+
|
165
|
+
assert_calls(
|
166
|
+
:assert_responds_to,
|
167
|
+
when_calling: [:responds_to, :method],
|
168
|
+
on_value: actual_value1
|
169
|
+
) do |value, call|
|
170
|
+
assert_equal [:method, value, *args1], call.args
|
171
|
+
end
|
172
|
+
|
173
|
+
assert_calls(
|
174
|
+
:assert_not_responds_to,
|
175
|
+
when_calling: [:does_not_respond_to, :method],
|
176
|
+
on_value: actual_value1
|
177
|
+
) do |value, call|
|
178
|
+
assert_equal [:method, value, *args1], call.args
|
179
|
+
end
|
180
|
+
|
181
|
+
assert_calls(
|
182
|
+
:assert_same,
|
183
|
+
when_calling: [:is_the_same_as, "something"],
|
184
|
+
on_value: actual_value1
|
185
|
+
) do |value, call|
|
186
|
+
assert_equal ["something", value, *args1], call.args
|
187
|
+
end
|
188
|
+
|
189
|
+
assert_calls(
|
190
|
+
:assert_same,
|
191
|
+
when_calling: [:is, "something"],
|
192
|
+
on_value: actual_value1
|
193
|
+
) do |value, call|
|
194
|
+
assert_equal ["something", value, *args1], call.args
|
195
|
+
end
|
196
|
+
|
197
|
+
assert_calls(
|
198
|
+
:assert_not_same,
|
199
|
+
when_calling: [:is_not_the_same_as, "something"],
|
200
|
+
on_value: actual_value1
|
201
|
+
) do |value, call|
|
202
|
+
assert_equal ["something", value, *args1], call.args
|
203
|
+
end
|
204
|
+
|
205
|
+
assert_calls(
|
206
|
+
:assert_not_same,
|
207
|
+
when_calling: [:is_not, "something"],
|
208
|
+
on_value: actual_value1
|
209
|
+
) do |value, call|
|
210
|
+
assert_equal ["something", value, *args1], call.args
|
211
|
+
end
|
212
|
+
|
213
|
+
assert_calls(
|
214
|
+
:assert_equal,
|
215
|
+
when_calling: [:equals, "something"],
|
216
|
+
on_value: actual_value1
|
217
|
+
) do |value, call|
|
218
|
+
assert_equal ["something", value, *args1], call.args
|
219
|
+
end
|
220
|
+
|
221
|
+
assert_calls(
|
222
|
+
:assert_equal,
|
223
|
+
when_calling: [:is_equal_to, "something"],
|
224
|
+
on_value: actual_value1
|
225
|
+
) do |value, call|
|
226
|
+
assert_equal ["something", value, *args1], call.args
|
227
|
+
end
|
228
|
+
|
229
|
+
assert_calls(
|
230
|
+
:assert_not_equal,
|
231
|
+
when_calling: [:does_not_equal, "something"],
|
232
|
+
on_value: actual_value1
|
233
|
+
) do |value, call|
|
234
|
+
assert_equal ["something", value, *args1], call.args
|
235
|
+
end
|
236
|
+
|
237
|
+
assert_calls(
|
238
|
+
:assert_not_equal,
|
239
|
+
when_calling: [:is_not_equal_to, "something"],
|
240
|
+
on_value: actual_value1
|
241
|
+
) do |value, call|
|
242
|
+
assert_equal ["something", value, *args1], call.args
|
243
|
+
end
|
244
|
+
|
245
|
+
assert_calls(
|
246
|
+
:assert_match,
|
247
|
+
when_calling: [:matches, "something"],
|
248
|
+
on_value: actual_value1
|
249
|
+
) do |value, call|
|
250
|
+
assert_equal ["something", value, *args1], call.args
|
251
|
+
end
|
252
|
+
|
253
|
+
assert_calls(
|
254
|
+
:assert_not_match,
|
255
|
+
when_calling: [:does_not_match, "something"],
|
256
|
+
on_value: actual_value1
|
257
|
+
) do |value, call|
|
258
|
+
assert_equal ["something", value, *args1], call.args
|
259
|
+
end
|
260
|
+
|
261
|
+
assert_calls(
|
262
|
+
:assert_empty,
|
263
|
+
when_calling: :is_empty,
|
264
|
+
on_value: actual_value1
|
265
|
+
) do |value, call|
|
266
|
+
assert_equal [value, *args1], call.args
|
267
|
+
end
|
268
|
+
|
269
|
+
assert_calls(
|
270
|
+
:assert_not_empty,
|
271
|
+
when_calling: :is_not_empty,
|
272
|
+
on_value: actual_value1
|
273
|
+
) do |value, call|
|
274
|
+
assert_equal [value, *args1], call.args
|
275
|
+
end
|
276
|
+
|
277
|
+
assert_calls(
|
278
|
+
:assert_includes,
|
279
|
+
when_calling: [:includes, "something"],
|
280
|
+
on_value: actual_value1
|
281
|
+
) do |value, call|
|
282
|
+
assert_equal ["something", value, *args1], call.args
|
283
|
+
end
|
284
|
+
|
285
|
+
assert_calls(
|
286
|
+
:assert_not_includes,
|
287
|
+
when_calling: [:does_not_include, "something"],
|
288
|
+
on_value: actual_value1
|
289
|
+
) do |value, call|
|
290
|
+
assert_equal ["something", value, *args1], call.args
|
291
|
+
end
|
292
|
+
|
293
|
+
assert_calls(
|
294
|
+
:assert_nil,
|
295
|
+
when_calling: :is_nil,
|
296
|
+
on_value: actual_value1
|
297
|
+
) do |value, call|
|
298
|
+
assert_equal [value, *args1], call.args
|
299
|
+
end
|
300
|
+
|
301
|
+
assert_calls(
|
302
|
+
:assert_not_nil,
|
303
|
+
when_calling: :is_not_nil,
|
304
|
+
on_value: actual_value1
|
305
|
+
) do |value, call|
|
306
|
+
assert_equal [value, *args1], call.args
|
307
|
+
end
|
308
|
+
|
309
|
+
assert_calls(
|
310
|
+
:assert_true,
|
311
|
+
when_calling: :is_true,
|
312
|
+
on_value: actual_value1
|
313
|
+
) do |value, call|
|
314
|
+
assert_equal [value, *args1], call.args
|
315
|
+
end
|
316
|
+
|
317
|
+
assert_calls(
|
318
|
+
:assert_not_true,
|
319
|
+
when_calling: :is_not_true,
|
320
|
+
on_value: actual_value1
|
321
|
+
) do |value, call|
|
322
|
+
assert_equal [value, *args1], call.args
|
323
|
+
end
|
324
|
+
|
325
|
+
assert_calls(
|
326
|
+
:assert_false,
|
327
|
+
when_calling: :is_false,
|
328
|
+
on_value: actual_value1
|
329
|
+
) do |value, call|
|
330
|
+
assert_equal [value, *args1], call.args
|
331
|
+
end
|
332
|
+
|
333
|
+
assert_calls(
|
334
|
+
:assert_not_false,
|
335
|
+
when_calling: :is_not_false,
|
336
|
+
on_value: actual_value1
|
337
|
+
) do |value, call|
|
338
|
+
assert_equal [value, *args1], call.args
|
339
|
+
end
|
340
|
+
|
341
|
+
assert_calls(
|
342
|
+
:assert_file_exists,
|
343
|
+
when_calling: :is_a_file,
|
344
|
+
on_value: actual_value1
|
345
|
+
) do |value, call|
|
346
|
+
assert_equal [value, *args1], call.args
|
347
|
+
end
|
348
|
+
|
349
|
+
assert_calls(
|
350
|
+
:assert_not_file_exists,
|
351
|
+
when_calling: :is_not_a_file,
|
352
|
+
on_value: actual_value1
|
353
|
+
) do |value, call|
|
354
|
+
assert_equal [value, *args1], call.args
|
355
|
+
end
|
356
|
+
end
|
357
|
+
|
358
|
+
private
|
359
|
+
|
360
|
+
def assert_calls(context_method, when_calling:, on_value:)
|
361
|
+
@last_call = nil
|
362
|
+
Assert.stub_on_call(context1, context_method, &capture_last_call_block)
|
363
|
+
|
364
|
+
unit_class.new(on_value, context: context1).public_send(*[*when_calling, *args1])
|
365
|
+
yield(on_value, @last_call)
|
366
|
+
|
367
|
+
Assert.unstub(context1, context_method)
|
368
|
+
@last_call = nil
|
369
|
+
end
|
370
|
+
end
|
371
|
+
end
|