Class: TestMinitestMock
- Inherits:
-
Minitest::Test
show all
- Defined in:
- lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb
Constant Summary
Minitest::Test::PASSTHROUGH_EXCEPTIONS, Minitest::Test::SETUP_METHODS, Minitest::Test::TEARDOWN_METHODS
Minitest::Assertions::E, Minitest::Assertions::UNDEFINED
Minitest::Runnable::SIGNALS
Instance Attribute Summary
#assertions, #failures, #time
Instance Method Summary
collapse
#capture_exceptions, #class_name, #clean, i_suck_and_my_tests_are_order_dependent!, make_my_diffs_pretty!, #neuter_exception, #new_exception, parallelize_me!, #run, runnable_methods, #sanitize_exception, test_order, #with_empty_backtrace_filter, #with_info_handler
#jruby?, #maglev?, #mri?, #osx?, #rubinius?, #windows?
#after_setup, #after_teardown, #before_setup, #before_teardown, #teardown
#class_name, #error?, #location, #passed?, #result_code, #skipped?
#_synchronize, #assert, #assert_empty, #assert_equal, #assert_in_delta, #assert_in_epsilon, #assert_includes, #assert_instance_of, #assert_kind_of, #assert_match, #assert_mock, #assert_nil, #assert_operator, #assert_output, #assert_path_exists, #assert_predicate, #assert_raises, #assert_respond_to, #assert_same, #assert_send, #assert_silent, #assert_throws, #capture_io, #capture_subprocess_io, #diff, diff, diff=, #exception_details, #fail_after, #flunk, #message, #mu_pp, #mu_pp_for_diff, #pass, #refute, #refute_empty, #refute_equal, #refute_in_delta, #refute_in_epsilon, #refute_includes, #refute_instance_of, #refute_kind_of, #refute_match, #refute_nil, #refute_operator, #refute_path_exists, #refute_predicate, #refute_respond_to, #refute_same, #skip, #skip_until, #skipped?, #things_to_diff
#failure, inherited, #initialize, #marshal_dump, #marshal_load, methods_matching, #name, #name=, on_signal, #passed?, reset, #result_code, run, #run, run_one_method, runnable_methods, runnables, #skipped?, #time_it, #whatever, with_info_handler
Instance Method Details
12
13
14
15
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 12
def setup
@mock = Minitest::Mock.new.expect(:foo, nil)
@mock.expect(:meaning_of_life, 42)
end
|
#test_allow_expectations_to_be_added_after_creation ⇒ Object
38
39
40
41
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 38
def test_allow_expectations_to_be_added_after_creation
@mock.expect(:bar, true)
assert @mock.bar
end
|
#test_allow_return_value_specification ⇒ Object
21
22
23
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 21
def test_allow_return_value_specification
assert_equal 42, @mock.meaning_of_life
end
|
#test_assign_per_mock_return_values ⇒ Object
162
163
164
165
166
167
168
169
170
171
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 162
def test_assign_per_mock_return_values
a = Minitest::Mock.new
b = Minitest::Mock.new
a.expect(:foo, :a)
b.expect(:foo, :b)
assert_equal :a, a.foo
assert_equal :b, b.foo
end
|
#test_blow_up_if_not_called ⇒ Object
25
26
27
28
29
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 25
def test_blow_up_if_not_called
@mock.foo
util_verify_bad "expected meaning_of_life() => 42"
end
|
#test_blow_up_on_wrong_arguments ⇒ Object
124
125
126
127
128
129
130
131
132
133
134
135
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 124
def test_blow_up_on_wrong_arguments
@mock.foo
@mock.meaning_of_life
@mock.expect(:sum, 3, [1, 2])
e = assert_raises MockExpectationError do
@mock.sum(2, 4)
end
exp = "mocked method :sum called with unexpected arguments [2, 4]"
assert_equal exp, e.message
end
|
#test_blow_up_on_wrong_number_of_arguments ⇒ Object
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 51
def test_blow_up_on_wrong_number_of_arguments
@mock.foo
@mock.meaning_of_life
@mock.expect(:sum, 3, [1, 2])
e = assert_raises ArgumentError do
@mock.sum
end
assert_equal "mocked method :sum expects 2 arguments, got []", e.message
end
|
#test_create_stub_method ⇒ Object
17
18
19
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 17
def test_create_stub_method
assert_nil @mock.foo
end
|
#test_delegator_calls_are_propagated ⇒ Object
261
262
263
264
265
266
267
268
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 261
def test_delegator_calls_are_propagated
delegator = Object.new
mock = Minitest::Mock.new delegator
refute delegator.nil?
refute mock.nil?
assert_mock mock
end
|
#test_do_not_create_stub_method_on_new_mocks ⇒ Object
173
174
175
176
177
178
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 173
def test_do_not_create_stub_method_on_new_mocks
a = Minitest::Mock.new
a.expect(:foo, :a)
assert !Minitest::Mock.new.respond_to?(:foo)
end
|
#test_expect_with_non_array_args ⇒ Object
137
138
139
140
141
142
143
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 137
def test_expect_with_non_array_args
e = assert_raises ArgumentError do
@mock.expect :blah, 3, false
end
assert_match "args must be an array", e.message
end
|
#test_expectations_can_be_satisfied_via_public_send ⇒ Object
115
116
117
118
119
120
121
122
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 115
def test_expectations_can_be_satisfied_via_public_send
skip "Doesn't run on 1.8" if RUBY_VERSION < "1.9"
@mock.public_send :foo
@mock.public_send :meaning_of_life
assert_mock @mock
end
|
#test_expectations_can_be_satisfied_via_send ⇒ Object
108
109
110
111
112
113
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 108
def test_expectations_can_be_satisfied_via_send
@mock.send :foo
@mock.send :meaning_of_life
assert_mock @mock
end
|
#test_handles_kwargs_in_error_message ⇒ Object
270
271
272
273
274
275
276
277
278
279
280
281
282
283
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 270
def test_handles_kwargs_in_error_message
mock = Minitest::Mock.new
mock.expect :foo, nil, [], kw: true
mock.expect :foo, nil, [], kw: false
mock.foo kw: true
e = assert_raises(MockExpectationError) { mock.verify }
exp = "expected foo(:kw=>false) => nil, got [foo(:kw=>true) => nil]"
assert_equal exp, e.message
end
|
#test_method_missing_empty ⇒ Object
208
209
210
211
212
213
214
215
216
217
218
219
220
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 208
def test_method_missing_empty
mock = Minitest::Mock.new
mock.expect :a, nil
mock.a
e = assert_raises MockExpectationError do
mock.a
end
assert_equal "No more expects available for :a: [] {}", e.message
end
|
#test_mock_allow_all_kwargs__old_style_env ⇒ Object
381
382
383
384
385
386
387
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 381
def test_mock_allow_all_kwargs__old_style_env
with_kwargs_env do
mock = Minitest::Mock.new
mock.expect :foo, true, [Hash]
assert_equal true, mock.foo(bar: 42)
end
end
|
#test_mock_allow_all_kwargs__old_style_env__rewrite ⇒ Object
389
390
391
392
393
394
395
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 389
def test_mock_allow_all_kwargs__old_style_env__rewrite
with_kwargs_env do
mock = Minitest::Mock.new
mock.expect :foo, true, [], bar: Integer
assert_equal true, mock.foo(bar: 42)
end
end
|
#test_mock_args_does_not_raise ⇒ Object
72
73
74
75
76
77
78
79
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 72
def test_mock_args_does_not_raise
arg = Minitest::Mock.new
mock = Minitest::Mock.new
mock.expect(:foo, nil, [arg])
mock.foo(arg)
assert_mock mock
end
|
#test_mock_block_is_passed_function_block ⇒ Object
485
486
487
488
489
490
491
492
493
494
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 485
def test_mock_block_is_passed_function_block
mock = Minitest::Mock.new
block = proc { "bar" }
mock.expect :foo, nil do |arg, &blk|
arg == "foo" &&
blk == block
end
mock.foo "foo", &block
assert_mock mock
end
|
#test_mock_block_is_passed_function_params ⇒ Object
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 296
def test_mock_block_is_passed_function_params
arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" }
mock = Minitest::Mock.new
mock.expect :foo, nil do |a1, a2, a3|
a1 == arg1 && a2 == arg2 && a3 == arg3
end
assert_silent do
if RUBY_VERSION > "3" then
mock.foo arg1, arg2, arg3
else
mock.foo arg1, arg2, **arg3 end
end
assert_mock mock
end
|
#test_mock_block_is_passed_keyword_args__args ⇒ Object
371
372
373
374
375
376
377
378
379
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 371
def test_mock_block_is_passed_keyword_args__args
arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" }
mock = Minitest::Mock.new
mock.expect :foo, nil, k1: arg1, k2: arg2, k3: arg3
mock.foo(k1: arg1, k2: arg2, k3: arg3)
assert_mock mock
end
|
#test_mock_block_is_passed_keyword_args__args__old_style_bad ⇒ Object
397
398
399
400
401
402
403
404
405
406
407
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 397
def test_mock_block_is_passed_keyword_args__args__old_style_bad
arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" }
mock = Minitest::Mock.new
mock.expect :foo, nil, [{k1: arg1, k2: arg2, k3: arg3}]
e = assert_raises ArgumentError do
mock.foo(k1: arg1, k2: arg2, k3: arg3)
end
assert_equal "mocked method :foo expects 1 arguments, got []", e.message
end
|
#test_mock_block_is_passed_keyword_args__args__old_style_both ⇒ Object
421
422
423
424
425
426
427
428
429
430
431
432
433
434
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 421
def test_mock_block_is_passed_keyword_args__args__old_style_both
with_kwargs_env do
arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" }
mock = Minitest::Mock.new
assert_output nil, /Using MT_KWARGS_HAC. yet passing kwargs/ do
mock.expect :foo, nil, [{}], k1: arg1, k2: arg2, k3: arg3
end
mock.foo({}, k1: arg1, k2: arg2, k3: arg3)
assert_mock mock
end
end
|
#test_mock_block_is_passed_keyword_args__args__old_style_env ⇒ Object
409
410
411
412
413
414
415
416
417
418
419
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 409
def test_mock_block_is_passed_keyword_args__args__old_style_env
with_kwargs_env do
arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" }
mock = Minitest::Mock.new
mock.expect :foo, nil, [{k1: arg1, k2: arg2, k3: arg3}]
mock.foo(k1: arg1, k2: arg2, k3: arg3)
assert_mock mock
end
end
|
448
449
450
451
452
453
454
455
456
457
458
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 448
def
arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" }
mock = Minitest::Mock.new
mock.expect :foo, nil, k1: arg1, k2: arg2
e = assert_raises ArgumentError do
mock.foo(k1: arg1, k2: arg2, k3: arg3)
end
assert_equal "mocked method :foo expects 2 keyword arguments, got %p" % {k1: arg1, k2: arg2, k3: arg3}, e.message
end
|
#test_mock_block_is_passed_keyword_args__args_bad_key ⇒ Object
460
461
462
463
464
465
466
467
468
469
470
471
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 460
def test_mock_block_is_passed_keyword_args__args_bad_key
arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" }
mock = Minitest::Mock.new
mock.expect :foo, nil, k1: arg1, k2: arg2, k3: arg3
e = assert_raises MockExpectationError do
mock.foo(k1: arg1, k2: arg2, BAD: arg3)
end
assert_includes e.message, "unexpected keywords [:k1, :k2, :k3]"
assert_includes e.message, "vs [:k1, :k2, :BAD]"
end
|
#test_mock_block_is_passed_keyword_args__args_bad_missing ⇒ Object
436
437
438
439
440
441
442
443
444
445
446
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 436
def test_mock_block_is_passed_keyword_args__args_bad_missing
arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" }
mock = Minitest::Mock.new
mock.expect :foo, nil, k1: arg1, k2: arg2, k3: arg3
e = assert_raises ArgumentError do
mock.foo(k1: arg1, k2: arg2)
end
assert_equal "mocked method :foo expects 3 keyword arguments, got %p" % {k1: arg1, k2: arg2}, e.message
end
|
#test_mock_block_is_passed_keyword_args__args_bad_val ⇒ Object
473
474
475
476
477
478
479
480
481
482
483
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 473
def test_mock_block_is_passed_keyword_args__args_bad_val
arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" }
mock = Minitest::Mock.new
mock.expect :foo, nil, k1: arg1, k2: arg2, k3: arg3
e = assert_raises MockExpectationError do
mock.foo(k1: arg1, k2: :BAD!, k3: arg3)
end
assert_match(/unexpected keyword arguments.* vs .*:k2=>:BAD!/, e.message)
end
|
#test_mock_block_is_passed_keyword_args__block ⇒ Object
314
315
316
317
318
319
320
321
322
323
324
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 314
def test_mock_block_is_passed_keyword_args__block
arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" }
mock = Minitest::Mock.new
mock.expect :foo, nil do |k1:, k2:, k3:|
k1 == arg1 && k2 == arg2 && k3 == arg3
end
mock.foo(k1: arg1, k2: arg2, k3: arg3)
assert_mock mock
end
|
341
342
343
344
345
346
347
348
349
350
351
352
353
354
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 341
def
arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" }
mock = Minitest::Mock.new
mock.expect :foo, nil do |k1:, k2:|
k1 == arg1 && k2 == arg2 && k3 == arg3
end
e = assert_raises ArgumentError do
mock.foo(k1: arg1, k2: arg2, k3: arg3)
end
assert_match(/unknown keyword: :?k3/, e.message)
end
|
#test_mock_block_is_passed_keyword_args__block_bad_missing ⇒ Object
326
327
328
329
330
331
332
333
334
335
336
337
338
339
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 326
def test_mock_block_is_passed_keyword_args__block_bad_missing
arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" }
mock = Minitest::Mock.new
mock.expect :foo, nil do |k1:, k2:, k3:|
k1 == arg1 && k2 == arg2 && k3 == arg3
end
e = assert_raises ArgumentError do
mock.foo(k1: arg1, k2: arg2)
end
assert_match(/missing keyword: :?k3/, e.message)
end
|
#test_mock_block_is_passed_keyword_args__block_bad_value ⇒ Object
356
357
358
359
360
361
362
363
364
365
366
367
368
369
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 356
def test_mock_block_is_passed_keyword_args__block_bad_value
arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" }
mock = Minitest::Mock.new
mock.expect :foo, nil do |k1:, k2:, k3:|
k1 == arg1 && k2 == arg2 && k3 == arg3
end
e = assert_raises MockExpectationError do
mock.foo(k1: arg1, k2: arg2, k3: :BAD!)
end
exp = "mocked method :foo failed block w/ [] {:k1=>:bar, :k2=>[1, 2, 3], :k3=>:BAD!}"
assert_equal exp, e.message
end
|
#test_mock_block_raises_if_args_passed ⇒ Object
515
516
517
518
519
520
521
522
523
524
525
526
527
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 515
def test_mock_block_raises_if_args_passed
mock = Minitest::Mock.new
e = assert_raises(ArgumentError) do
mock.expect :foo, nil, [:a, :b, :c] do
true
end
end
exp = "args ignored when block given"
assert_match exp, e.message
end
|
#test_mock_block_raises_if_kwargs_passed ⇒ Object
529
530
531
532
533
534
535
536
537
538
539
540
541
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 529
def test_mock_block_raises_if_kwargs_passed
mock = Minitest::Mock.new
e = assert_raises(ArgumentError) do
mock.expect :foo, nil, kwargs:1 do
true
end
end
exp = "kwargs ignored when block given"
assert_match exp, e.message
end
|
#test_mock_called_via___send__ ⇒ Object
570
571
572
573
574
575
576
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 570
def test_mock_called_via___send__
mock = Minitest::Mock.new
mock.expect(:foo, true)
mock.__send__ :foo
assert_mock mock
end
|
#test_mock_called_via_send ⇒ Object
562
563
564
565
566
567
568
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 562
def test_mock_called_via_send
mock = Minitest::Mock.new
mock.expect(:foo, true)
mock.send :foo
assert_mock mock
end
|
#test_mock_called_via_send_with_args ⇒ Object
578
579
580
581
582
583
584
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 578
def test_mock_called_via_send_with_args
mock = Minitest::Mock.new
mock.expect(:foo, true, [1, 2, 3])
mock.send(:foo, 1, 2, 3)
assert_mock mock
end
|
#test_mock_forward_keyword_arguments ⇒ Object
496
497
498
499
500
501
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 496
def test_mock_forward_keyword_arguments
mock = Minitest::Mock.new
mock.expect(:foo, nil) { |bar:| bar == 'bar' }
mock.foo(bar: 'bar')
assert_mock mock
end
|
#test_mock_is_a_blank_slate ⇒ Object
180
181
182
183
184
185
186
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 180
def test_mock_is_a_blank_slate
@mock.expect :kind_of?, true, [String]
@mock.expect :==, true, [1]
assert @mock.kind_of?(String), "didn't mock :kind_of\?"
assert @mock == 1, "didn't mock :=="
end
|
#test_mock_returns_retval_when_called_with_block ⇒ Object
543
544
545
546
547
548
549
550
551
552
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 543
def test_mock_returns_retval_when_called_with_block
mock = Minitest::Mock.new
mock.expect(:foo, 32) do
true
end
rs = mock.foo
assert_equal rs, 32
end
|
#test_no_method_error_on_unexpected_methods ⇒ Object
152
153
154
155
156
157
158
159
160
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 152
def test_no_method_error_on_unexpected_methods
e = assert_raises NoMethodError do
@mock.bar
end
expected = "unmocked method :bar, expected one of [:foo, :meaning_of_life]"
assert_match expected, e.message
end
|
#test_not_blow_up_if_everything_called ⇒ Object
31
32
33
34
35
36
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 31
def test_not_blow_up_if_everything_called
@mock.foo
@mock.meaning_of_life
assert_mock @mock
end
|
#test_not_verify_if_new_expected_method_is_not_called ⇒ Object
43
44
45
46
47
48
49
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 43
def test_not_verify_if_new_expected_method_is_not_called
@mock.foo
@mock.meaning_of_life
@mock.expect(:bar, true)
util_verify_bad "expected bar() => true"
end
|
#test_respond_appropriately ⇒ Object
145
146
147
148
149
150
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 145
def test_respond_appropriately
assert @mock.respond_to?(:foo)
assert @mock.respond_to?(:foo, true)
assert @mock.respond_to?("foo")
assert !@mock.respond_to?(:bar)
end
|
#test_return_mock_does_not_raise ⇒ Object
63
64
65
66
67
68
69
70
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 63
def test_return_mock_does_not_raise
retval = Minitest::Mock.new
mock = Minitest::Mock.new
mock.expect(:foo, retval)
mock.foo
assert_mock mock
end
|
#test_same_method_expects_are_verified_when_all_called ⇒ Object
222
223
224
225
226
227
228
229
230
231
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 222
def test_same_method_expects_are_verified_when_all_called
mock = Minitest::Mock.new
mock.expect :foo, nil, [:bar]
mock.expect :foo, nil, [:baz]
mock.foo :bar
mock.foo :baz
assert_mock mock
end
|
#test_same_method_expects_blow_up_when_not_all_called ⇒ Object
233
234
235
236
237
238
239
240
241
242
243
244
245
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 233
def test_same_method_expects_blow_up_when_not_all_called
mock = Minitest::Mock.new
mock.expect :foo, nil, [:bar]
mock.expect :foo, nil, [:baz]
mock.foo :bar
e = assert_raises(MockExpectationError) { mock.verify }
exp = "expected foo(:baz) => nil, got [foo(:bar) => nil]"
assert_equal exp, e.message
end
|
#test_same_method_expects_with_same_args_blow_up_when_not_all_called ⇒ Object
247
248
249
250
251
252
253
254
255
256
257
258
259
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 247
def test_same_method_expects_with_same_args_blow_up_when_not_all_called
mock = Minitest::Mock.new
mock.expect :foo, nil, [:bar]
mock.expect :foo, nil, [:bar]
mock.foo :bar
e = assert_raises(MockExpectationError) { mock.verify }
exp = "expected foo(:bar) => nil, got [foo(:bar) => nil]"
assert_equal exp, e.message
end
|
#test_set_expectation_on_special_methods ⇒ Object
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 81
def test_set_expectation_on_special_methods
mock = Minitest::Mock.new
mock.expect :object_id, "received object_id"
assert_equal "received object_id", mock.object_id
mock.expect :respond_to_missing?, "received respond_to_missing?"
assert_equal "received respond_to_missing?", mock.respond_to_missing?
mock.expect :===, "received ==="
assert_equal "received ===", mock.===
mock.expect :inspect, "received inspect"
assert_equal "received inspect", mock.inspect
mock.expect :to_s, "received to_s"
assert_equal "received to_s", mock.to_s
mock.expect :public_send, "received public_send"
assert_equal "received public_send", mock.public_send
mock.expect :send, "received send"
assert_equal "received send", mock.send
assert_mock mock
end
|
#test_verify_allows_called_args_to_be_loosely_specified ⇒ Object
188
189
190
191
192
193
194
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 188
def test_verify_allows_called_args_to_be_loosely_specified
mock = Minitest::Mock.new
mock.expect :loose_expectation, true, [Integer]
mock.loose_expectation 1
assert_mock mock
end
|
#test_verify_fails_when_mock_block_returns_false ⇒ Object
503
504
505
506
507
508
509
510
511
512
513
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 503
def test_verify_fails_when_mock_block_returns_false
mock = Minitest::Mock.new
mock.expect :foo, nil do
false
end
e = assert_raises(MockExpectationError) { mock.foo }
exp = "mocked method :foo failed block w/ [] {}"
assert_equal exp, e.message
end
|
#test_verify_passes_when_mock_block_returns_true ⇒ Object
285
286
287
288
289
290
291
292
293
294
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 285
def test_verify_passes_when_mock_block_returns_true
mock = Minitest::Mock.new
mock.expect :foo, nil do
true
end
mock.foo
assert_mock mock
end
|
#test_verify_raises_with_strict_args ⇒ Object
196
197
198
199
200
201
202
203
204
205
206
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 196
def test_verify_raises_with_strict_args
mock = Minitest::Mock.new
mock.expect :strict_expectation, true, [2]
e = assert_raises MockExpectationError do
mock.strict_expectation 1
end
exp = "mocked method :strict_expectation called with unexpected arguments [1]"
assert_equal exp, e.message
end
|
#util_verify_bad(exp) ⇒ Object
554
555
556
557
558
559
560
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_mock.rb', line 554
def util_verify_bad exp
e = assert_raises MockExpectationError do
@mock.verify
end
assert_equal exp, e.message
end
|