data_model 0.0.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +6 -2
  3. data/.rubocop.yml +11 -2
  4. data/.ruby-version +2 -0
  5. data/Gemfile.lock +91 -54
  6. data/Guardfile +20 -0
  7. data/Rakefile +32 -0
  8. data/data_model.gemspec +52 -0
  9. data/lib/data_model/boolean.rb +7 -0
  10. data/lib/data_model/builtin/array.rb +73 -0
  11. data/lib/data_model/builtin/big_decimal.rb +64 -0
  12. data/lib/data_model/builtin/boolean.rb +37 -0
  13. data/lib/data_model/builtin/date.rb +60 -0
  14. data/lib/data_model/builtin/float.rb +64 -0
  15. data/lib/data_model/builtin/hash.rb +119 -0
  16. data/lib/data_model/builtin/integer.rb +64 -0
  17. data/lib/data_model/builtin/string.rb +88 -0
  18. data/lib/data_model/builtin/symbol.rb +64 -0
  19. data/lib/data_model/builtin/time.rb +60 -0
  20. data/lib/data_model/builtin.rb +23 -0
  21. data/lib/data_model/error.rb +107 -0
  22. data/lib/data_model/errors.rb +296 -0
  23. data/lib/data_model/fixtures/array.rb +61 -0
  24. data/lib/data_model/fixtures/big_decimal.rb +55 -0
  25. data/lib/data_model/fixtures/boolean.rb +35 -0
  26. data/lib/data_model/fixtures/date.rb +53 -0
  27. data/lib/data_model/fixtures/example.rb +29 -0
  28. data/lib/data_model/fixtures/float.rb +53 -0
  29. data/lib/data_model/fixtures/hash.rb +66 -0
  30. data/lib/data_model/fixtures/integer.rb +53 -0
  31. data/lib/data_model/fixtures/string.rb +110 -0
  32. data/lib/data_model/fixtures/symbol.rb +56 -0
  33. data/lib/data_model/fixtures/time.rb +53 -0
  34. data/lib/data_model/logging.rb +23 -0
  35. data/lib/data_model/model.rb +21 -44
  36. data/lib/data_model/scanner.rb +92 -56
  37. data/lib/data_model/testing/minitest.rb +79 -0
  38. data/lib/data_model/testing.rb +6 -0
  39. data/lib/data_model/type.rb +41 -39
  40. data/lib/data_model/type_registry.rb +68 -0
  41. data/lib/data_model/version.rb +3 -1
  42. data/lib/data_model.rb +32 -16
  43. data/sorbet/config +4 -0
  44. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  45. data/sorbet/rbi/gems/minitest@5.18.0.rbi +1491 -0
  46. data/sorbet/rbi/gems/zeitwerk.rbi +196 -0
  47. data/sorbet/rbi/gems/zeitwerk@2.6.7.rbi +966 -0
  48. data/sorbet/rbi/todo.rbi +5 -0
  49. data/sorbet/tapioca/config.yml +13 -0
  50. data/sorbet/tapioca/require.rb +4 -0
  51. metadata +139 -17
  52. data/config/sus.rb +0 -2
  53. data/fixtures/schema.rb +0 -14
  54. data/lib/data_model/registry.rb +0 -44
@@ -0,0 +1,1491 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `minitest` gem.
5
+ # Please instead update this file by running `bin/tapioca gem minitest`.
6
+
7
+ # :include: README.rdoc
8
+ #
9
+ # source://minitest//lib/minitest/parallel.rb#1
10
+ module Minitest
11
+ class << self
12
+ # Internal run method. Responsible for telling all Runnable
13
+ # sub-classes to run.
14
+ #
15
+ # source://minitest//lib/minitest.rb#173
16
+ def __run(reporter, options); end
17
+
18
+ # A simple hook allowing you to run a block of code after everything
19
+ # is done running. Eg:
20
+ #
21
+ # Minitest.after_run { p $debugging_info }
22
+ #
23
+ # source://minitest//lib/minitest.rb#94
24
+ def after_run(&block); end
25
+
26
+ # Registers Minitest to run at process exit
27
+ #
28
+ # source://minitest//lib/minitest.rb#66
29
+ def autorun; end
30
+
31
+ # source://minitest//lib/minitest.rb#19
32
+ def backtrace_filter; end
33
+
34
+ # source://minitest//lib/minitest.rb#19
35
+ def backtrace_filter=(_arg0); end
36
+
37
+ # source://minitest//lib/minitest.rb#18
38
+ def cattr_accessor(name); end
39
+
40
+ # source://minitest//lib/minitest.rb#1059
41
+ def clock_time; end
42
+
43
+ # source://minitest//lib/minitest.rb#19
44
+ def extensions; end
45
+
46
+ # source://minitest//lib/minitest.rb#19
47
+ def extensions=(_arg0); end
48
+
49
+ # source://minitest//lib/minitest.rb#264
50
+ def filter_backtrace(bt); end
51
+
52
+ # source://minitest//lib/minitest.rb#19
53
+ def info_signal; end
54
+
55
+ # source://minitest//lib/minitest.rb#19
56
+ def info_signal=(_arg0); end
57
+
58
+ # source://minitest//lib/minitest.rb#98
59
+ def init_plugins(options); end
60
+
61
+ # source://minitest//lib/minitest.rb#105
62
+ def load_plugins; end
63
+
64
+ # source://minitest//lib/minitest.rb#19
65
+ def parallel_executor; end
66
+
67
+ # source://minitest//lib/minitest.rb#19
68
+ def parallel_executor=(_arg0); end
69
+
70
+ # source://minitest//lib/minitest.rb#186
71
+ def process_args(args = T.unsafe(nil)); end
72
+
73
+ # source://minitest//lib/minitest.rb#19
74
+ def reporter; end
75
+
76
+ # source://minitest//lib/minitest.rb#19
77
+ def reporter=(_arg0); end
78
+
79
+ # This is the top-level run method. Everything starts from here. It
80
+ # tells each Runnable sub-class to run, and each of those are
81
+ # responsible for doing whatever they do.
82
+ #
83
+ # The overall structure of a run looks like this:
84
+ #
85
+ # Minitest.autorun
86
+ # Minitest.run(args)
87
+ # Minitest.__run(reporter, options)
88
+ # Runnable.runnables.each
89
+ # runnable.run(reporter, options)
90
+ # self.runnable_methods.each
91
+ # self.run_one_method(self, runnable_method, reporter)
92
+ # Minitest.run_one_method(klass, runnable_method)
93
+ # klass.new(runnable_method).run
94
+ #
95
+ # source://minitest//lib/minitest.rb#140
96
+ def run(args = T.unsafe(nil)); end
97
+
98
+ # source://minitest//lib/minitest.rb#1050
99
+ def run_one_method(klass, method_name); end
100
+
101
+ # source://minitest//lib/minitest.rb#19
102
+ def seed; end
103
+
104
+ # source://minitest//lib/minitest.rb#19
105
+ def seed=(_arg0); end
106
+ end
107
+ end
108
+
109
+ # Defines the API for Reporters. Subclass this and override whatever
110
+ # you want. Go nuts.
111
+ #
112
+ # source://minitest//lib/minitest.rb#578
113
+ class Minitest::AbstractReporter
114
+ include ::Mutex_m
115
+
116
+ # source://mutex_m/0.1.2/mutex_m.rb#93
117
+ def lock; end
118
+
119
+ # source://mutex_m/0.1.2/mutex_m.rb#83
120
+ def locked?; end
121
+
122
+ # Did this run pass?
123
+ #
124
+ # @return [Boolean]
125
+ #
126
+ # source://minitest//lib/minitest.rb#612
127
+ def passed?; end
128
+
129
+ # About to start running a test. This allows a reporter to show
130
+ # that it is starting or that we are in the middle of a test run.
131
+ #
132
+ # source://minitest//lib/minitest.rb#591
133
+ def prerecord(klass, name); end
134
+
135
+ # Output and record the result of the test. Call
136
+ # {result#result_code}[rdoc-ref:Runnable#result_code] to get the
137
+ # result character string. Stores the result of the run if the run
138
+ # did not pass.
139
+ #
140
+ # source://minitest//lib/minitest.rb#600
141
+ def record(result); end
142
+
143
+ # Outputs the summary of the run.
144
+ #
145
+ # source://minitest//lib/minitest.rb#606
146
+ def report; end
147
+
148
+ # Starts reporting on the run.
149
+ #
150
+ # source://minitest//lib/minitest.rb#584
151
+ def start; end
152
+
153
+ # source://mutex_m/0.1.2/mutex_m.rb#78
154
+ def synchronize(&block); end
155
+
156
+ # source://mutex_m/0.1.2/mutex_m.rb#88
157
+ def try_lock; end
158
+
159
+ # source://mutex_m/0.1.2/mutex_m.rb#98
160
+ def unlock; end
161
+ end
162
+
163
+ # Represents run failures.
164
+ #
165
+ # source://minitest//lib/minitest.rb#895
166
+ class Minitest::Assertion < ::Exception
167
+ # source://minitest//lib/minitest.rb#896
168
+ def error; end
169
+
170
+ # Where was this run before an assertion was raised?
171
+ #
172
+ # source://minitest//lib/minitest.rb#903
173
+ def location; end
174
+
175
+ # source://minitest//lib/minitest.rb#912
176
+ def result_code; end
177
+
178
+ # source://minitest//lib/minitest.rb#916
179
+ def result_label; end
180
+ end
181
+
182
+ # Minitest Assertions. All assertion methods accept a +msg+ which is
183
+ # printed if the assertion fails.
184
+ #
185
+ # Protocol: Nearly everything here boils up to +assert+, which
186
+ # expects to be able to increment an instance accessor named
187
+ # +assertions+. This is not provided by Assertions and must be
188
+ # provided by the thing including Assertions. See Minitest::Runnable
189
+ # for an example.
190
+ #
191
+ # source://minitest//lib/minitest/assertions.rb#18
192
+ module Minitest::Assertions
193
+ # source://minitest//lib/minitest/assertions.rb#188
194
+ def _synchronize; end
195
+
196
+ # Fails unless +test+ is truthy.
197
+ #
198
+ # source://minitest//lib/minitest/assertions.rb#178
199
+ def assert(test, msg = T.unsafe(nil)); end
200
+
201
+ # Fails unless +obj+ is empty.
202
+ #
203
+ # source://minitest//lib/minitest/assertions.rb#195
204
+ def assert_empty(obj, msg = T.unsafe(nil)); end
205
+
206
+ # Fails unless <tt>exp == act</tt> printing the difference between
207
+ # the two, if possible.
208
+ #
209
+ # If there is no visible difference but the assertion fails, you
210
+ # should suspect that your #== is buggy, or your inspect output is
211
+ # missing crucial details. For nicer structural diffing, set
212
+ # Minitest::Test.make_my_diffs_pretty!
213
+ #
214
+ # For floats use assert_in_delta.
215
+ #
216
+ # See also: Minitest::Assertions.diff
217
+ #
218
+ # source://minitest//lib/minitest/assertions.rb#216
219
+ def assert_equal(exp, act, msg = T.unsafe(nil)); end
220
+
221
+ # For comparing Floats. Fails unless +exp+ and +act+ are within +delta+
222
+ # of each other.
223
+ #
224
+ # assert_in_delta Math::PI, (22.0 / 7.0), 0.01
225
+ #
226
+ # source://minitest//lib/minitest/assertions.rb#240
227
+ def assert_in_delta(exp, act, delta = T.unsafe(nil), msg = T.unsafe(nil)); end
228
+
229
+ # For comparing Floats. Fails unless +exp+ and +act+ have a relative
230
+ # error less than +epsilon+.
231
+ #
232
+ # source://minitest//lib/minitest/assertions.rb#252
233
+ def assert_in_epsilon(exp, act, epsilon = T.unsafe(nil), msg = T.unsafe(nil)); end
234
+
235
+ # Fails unless +collection+ includes +obj+.
236
+ #
237
+ # source://minitest//lib/minitest/assertions.rb#259
238
+ def assert_includes(collection, obj, msg = T.unsafe(nil)); end
239
+
240
+ # Fails unless +obj+ is an instance of +cls+.
241
+ #
242
+ # source://minitest//lib/minitest/assertions.rb#270
243
+ def assert_instance_of(cls, obj, msg = T.unsafe(nil)); end
244
+
245
+ # Fails unless +obj+ is a kind of +cls+.
246
+ #
247
+ # source://minitest//lib/minitest/assertions.rb#281
248
+ def assert_kind_of(cls, obj, msg = T.unsafe(nil)); end
249
+
250
+ # Fails unless +matcher+ <tt>=~</tt> +obj+.
251
+ #
252
+ # source://minitest//lib/minitest/assertions.rb#291
253
+ def assert_match(matcher, obj, msg = T.unsafe(nil)); end
254
+
255
+ # Fails unless +obj+ is nil
256
+ #
257
+ # source://minitest//lib/minitest/assertions.rb#303
258
+ def assert_nil(obj, msg = T.unsafe(nil)); end
259
+
260
+ # For testing with binary operators. Eg:
261
+ #
262
+ # assert_operator 5, :<=, 4
263
+ #
264
+ # source://minitest//lib/minitest/assertions.rb#313
265
+ def assert_operator(o1, op, o2 = T.unsafe(nil), msg = T.unsafe(nil)); end
266
+
267
+ # Fails if stdout or stderr do not output the expected results.
268
+ # Pass in nil if you don't care about that streams output. Pass in
269
+ # "" if you require it to be silent. Pass in a regexp if you want
270
+ # to pattern match.
271
+ #
272
+ # assert_output(/hey/) { method_with_output }
273
+ #
274
+ # NOTE: this uses #capture_io, not #capture_subprocess_io.
275
+ #
276
+ # See also: #assert_silent
277
+ #
278
+ # source://minitest//lib/minitest/assertions.rb#331
279
+ def assert_output(stdout = T.unsafe(nil), stderr = T.unsafe(nil)); end
280
+
281
+ # Fails unless +path+ exists.
282
+ #
283
+ # source://minitest//lib/minitest/assertions.rb#355
284
+ def assert_path_exists(path, msg = T.unsafe(nil)); end
285
+
286
+ # For testing with pattern matching (only supported with Ruby 3.0 and later)
287
+ #
288
+ # # pass
289
+ # assert_pattern { [1,2,3] => [Integer, Integer, Integer] }
290
+ #
291
+ # # fail "length mismatch (given 3, expected 1)"
292
+ # assert_pattern { [1,2,3] => [Integer] }
293
+ #
294
+ # The bare <tt>=></tt> pattern will raise a NoMatchingPatternError on failure, which would
295
+ # normally be counted as a test error. This assertion rescues NoMatchingPatternError and
296
+ # generates a test failure. Any other exception will be raised as normal and generate a test
297
+ # error.
298
+ #
299
+ # @raise [NotImplementedError]
300
+ #
301
+ # source://minitest//lib/minitest/assertions.rb#374
302
+ def assert_pattern; end
303
+
304
+ # For testing with predicates. Eg:
305
+ #
306
+ # assert_predicate str, :empty?
307
+ #
308
+ # This is really meant for specs and is front-ended by assert_operator:
309
+ #
310
+ # str.must_be :empty?
311
+ #
312
+ # source://minitest//lib/minitest/assertions.rb#395
313
+ def assert_predicate(o1, op, msg = T.unsafe(nil)); end
314
+
315
+ # Fails unless the block raises one of +exp+. Returns the
316
+ # exception matched so you can check the message, attributes, etc.
317
+ #
318
+ # +exp+ takes an optional message on the end to help explain
319
+ # failures and defaults to StandardError if no exception class is
320
+ # passed. Eg:
321
+ #
322
+ # assert_raises(CustomError) { method_with_custom_error }
323
+ #
324
+ # With custom error message:
325
+ #
326
+ # assert_raises(CustomError, 'This should have raised CustomError') { method_with_custom_error }
327
+ #
328
+ # Using the returned object:
329
+ #
330
+ # error = assert_raises(CustomError) do
331
+ # raise CustomError, 'This is really bad'
332
+ # end
333
+ #
334
+ # assert_equal 'This is really bad', error.message
335
+ #
336
+ # source://minitest//lib/minitest/assertions.rb#422
337
+ def assert_raises(*exp); end
338
+
339
+ # Fails unless +obj+ responds to +meth+.
340
+ #
341
+ # source://minitest//lib/minitest/assertions.rb#453
342
+ def assert_respond_to(obj, meth, msg = T.unsafe(nil)); end
343
+
344
+ # Fails unless +exp+ and +act+ are #equal?
345
+ #
346
+ # source://minitest//lib/minitest/assertions.rb#463
347
+ def assert_same(exp, act, msg = T.unsafe(nil)); end
348
+
349
+ # +send_ary+ is a receiver, message and arguments.
350
+ #
351
+ # Fails unless the call returns a true value
352
+ #
353
+ # source://minitest//lib/minitest/assertions.rb#476
354
+ def assert_send(send_ary, m = T.unsafe(nil)); end
355
+
356
+ # Fails if the block outputs anything to stderr or stdout.
357
+ #
358
+ # See also: #assert_output
359
+ #
360
+ # source://minitest//lib/minitest/assertions.rb#492
361
+ def assert_silent; end
362
+
363
+ # Fails unless the block throws +sym+
364
+ #
365
+ # source://minitest//lib/minitest/assertions.rb#501
366
+ def assert_throws(sym, msg = T.unsafe(nil)); end
367
+
368
+ # Captures $stdout and $stderr into strings:
369
+ #
370
+ # out, err = capture_io do
371
+ # puts "Some info"
372
+ # warn "You did a bad thing"
373
+ # end
374
+ #
375
+ # assert_match %r%info%, out
376
+ # assert_match %r%bad%, err
377
+ #
378
+ # NOTE: For efficiency, this method uses StringIO and does not
379
+ # capture IO for subprocesses. Use #capture_subprocess_io for
380
+ # that.
381
+ #
382
+ # source://minitest//lib/minitest/assertions.rb#542
383
+ def capture_io; end
384
+
385
+ # Captures $stdout and $stderr into strings, using Tempfile to
386
+ # ensure that subprocess IO is captured as well.
387
+ #
388
+ # out, err = capture_subprocess_io do
389
+ # system "echo Some info"
390
+ # system "echo You did a bad thing 1>&2"
391
+ # end
392
+ #
393
+ # assert_match %r%info%, out
394
+ # assert_match %r%bad%, err
395
+ #
396
+ # NOTE: This method is approximately 10x slower than #capture_io so
397
+ # only use it when you need to test the output of a subprocess.
398
+ #
399
+ # source://minitest//lib/minitest/assertions.rb#575
400
+ def capture_subprocess_io; end
401
+
402
+ # Returns a diff between +exp+ and +act+. If there is no known
403
+ # diff command or if it doesn't make sense to diff the output
404
+ # (single line, short output), then it simply returns a basic
405
+ # comparison between the two.
406
+ #
407
+ # See +things_to_diff+ for more info.
408
+ #
409
+ # source://minitest//lib/minitest/assertions.rb#59
410
+ def diff(exp, act); end
411
+
412
+ # Returns details for exception +e+
413
+ #
414
+ # source://minitest//lib/minitest/assertions.rb#607
415
+ def exception_details(e, msg); end
416
+
417
+ # Fails after a given date (in the local time zone). This allows
418
+ # you to put time-bombs in your tests if you need to keep
419
+ # something around until a later date lest you forget about it.
420
+ #
421
+ # source://minitest//lib/minitest/assertions.rb#623
422
+ def fail_after(y, m, d, msg); end
423
+
424
+ # Fails with +msg+.
425
+ #
426
+ # source://minitest//lib/minitest/assertions.rb#630
427
+ def flunk(msg = T.unsafe(nil)); end
428
+
429
+ # Returns a proc that will output +msg+ along with the default message.
430
+ #
431
+ # source://minitest//lib/minitest/assertions.rb#638
432
+ def message(msg = T.unsafe(nil), ending = T.unsafe(nil), &default); end
433
+
434
+ # This returns a human-readable version of +obj+. By default
435
+ # #inspect is called. You can override this to use #pretty_inspect
436
+ # if you want.
437
+ #
438
+ # See Minitest::Test.make_my_diffs_pretty!
439
+ #
440
+ # source://minitest//lib/minitest/assertions.rb#129
441
+ def mu_pp(obj); end
442
+
443
+ # This returns a diff-able more human-readable version of +obj+.
444
+ # This differs from the regular mu_pp because it expands escaped
445
+ # newlines and makes hex-values (like object_ids) generic. This
446
+ # uses mu_pp to do the first pass and then cleans it up.
447
+ #
448
+ # source://minitest//lib/minitest/assertions.rb#152
449
+ def mu_pp_for_diff(obj); end
450
+
451
+ # used for counting assertions
452
+ #
453
+ # source://minitest//lib/minitest/assertions.rb#649
454
+ def pass(_msg = T.unsafe(nil)); end
455
+
456
+ # Fails if +test+ is truthy.
457
+ #
458
+ # source://minitest//lib/minitest/assertions.rb#656
459
+ def refute(test, msg = T.unsafe(nil)); end
460
+
461
+ # Fails if +obj+ is empty.
462
+ #
463
+ # source://minitest//lib/minitest/assertions.rb#664
464
+ def refute_empty(obj, msg = T.unsafe(nil)); end
465
+
466
+ # Fails if <tt>exp == act</tt>.
467
+ #
468
+ # For floats use refute_in_delta.
469
+ #
470
+ # source://minitest//lib/minitest/assertions.rb#675
471
+ def refute_equal(exp, act, msg = T.unsafe(nil)); end
472
+
473
+ # For comparing Floats. Fails if +exp+ is within +delta+ of +act+.
474
+ #
475
+ # refute_in_delta Math::PI, (22.0 / 7.0)
476
+ #
477
+ # source://minitest//lib/minitest/assertions.rb#687
478
+ def refute_in_delta(exp, act, delta = T.unsafe(nil), msg = T.unsafe(nil)); end
479
+
480
+ # For comparing Floats. Fails if +exp+ and +act+ have a relative error
481
+ # less than +epsilon+.
482
+ #
483
+ # source://minitest//lib/minitest/assertions.rb#699
484
+ def refute_in_epsilon(a, b, epsilon = T.unsafe(nil), msg = T.unsafe(nil)); end
485
+
486
+ # Fails if +collection+ includes +obj+.
487
+ #
488
+ # source://minitest//lib/minitest/assertions.rb#706
489
+ def refute_includes(collection, obj, msg = T.unsafe(nil)); end
490
+
491
+ # Fails if +obj+ is an instance of +cls+.
492
+ #
493
+ # source://minitest//lib/minitest/assertions.rb#717
494
+ def refute_instance_of(cls, obj, msg = T.unsafe(nil)); end
495
+
496
+ # Fails if +obj+ is a kind of +cls+.
497
+ #
498
+ # source://minitest//lib/minitest/assertions.rb#727
499
+ def refute_kind_of(cls, obj, msg = T.unsafe(nil)); end
500
+
501
+ # Fails if +matcher+ <tt>=~</tt> +obj+.
502
+ #
503
+ # source://minitest//lib/minitest/assertions.rb#735
504
+ def refute_match(matcher, obj, msg = T.unsafe(nil)); end
505
+
506
+ # Fails if +obj+ is nil.
507
+ #
508
+ # source://minitest//lib/minitest/assertions.rb#745
509
+ def refute_nil(obj, msg = T.unsafe(nil)); end
510
+
511
+ # Fails if +o1+ is not +op+ +o2+. Eg:
512
+ #
513
+ # refute_operator 1, :>, 2 #=> pass
514
+ # refute_operator 1, :<, 2 #=> fail
515
+ #
516
+ # source://minitest//lib/minitest/assertions.rb#780
517
+ def refute_operator(o1, op, o2 = T.unsafe(nil), msg = T.unsafe(nil)); end
518
+
519
+ # Fails if +path+ exists.
520
+ #
521
+ # source://minitest//lib/minitest/assertions.rb#789
522
+ def refute_path_exists(path, msg = T.unsafe(nil)); end
523
+
524
+ # For testing with pattern matching (only supported with Ruby 3.0 and later)
525
+ #
526
+ # # pass
527
+ # refute_pattern { [1,2,3] => [String] }
528
+ #
529
+ # # fail "NoMatchingPatternError expected, but nothing was raised."
530
+ # refute_pattern { [1,2,3] => [Integer, Integer, Integer] }
531
+ #
532
+ # This assertion expects a NoMatchingPatternError exception, and will fail if none is raised. Any
533
+ # other exceptions will be raised as normal and generate a test error.
534
+ #
535
+ # @raise [NotImplementedError]
536
+ #
537
+ # source://minitest//lib/minitest/assertions.rb#762
538
+ def refute_pattern; end
539
+
540
+ # For testing with predicates.
541
+ #
542
+ # refute_predicate str, :empty?
543
+ #
544
+ # This is really meant for specs and is front-ended by refute_operator:
545
+ #
546
+ # str.wont_be :empty?
547
+ #
548
+ # source://minitest//lib/minitest/assertions.rb#803
549
+ def refute_predicate(o1, op, msg = T.unsafe(nil)); end
550
+
551
+ # Fails if +obj+ responds to the message +meth+.
552
+ #
553
+ # source://minitest//lib/minitest/assertions.rb#811
554
+ def refute_respond_to(obj, meth, msg = T.unsafe(nil)); end
555
+
556
+ # Fails if +exp+ is the same (by object identity) as +act+.
557
+ #
558
+ # source://minitest//lib/minitest/assertions.rb#820
559
+ def refute_same(exp, act, msg = T.unsafe(nil)); end
560
+
561
+ # Skips the current run. If run in verbose-mode, the skipped run
562
+ # gets listed at the end of the run but doesn't cause a failure
563
+ # exit code.
564
+ #
565
+ # @raise [Minitest::Skip]
566
+ #
567
+ # source://minitest//lib/minitest/assertions.rb#833
568
+ def skip(msg = T.unsafe(nil), bt = T.unsafe(nil)); end
569
+
570
+ # Skips the current run until a given date (in the local time
571
+ # zone). This allows you to put some fixes on hold until a later
572
+ # date, but still holds you accountable and prevents you from
573
+ # forgetting it.
574
+ #
575
+ # source://minitest//lib/minitest/assertions.rb#845
576
+ def skip_until(y, m, d, msg); end
577
+
578
+ # Was this testcase skipped? Meant for #teardown.
579
+ #
580
+ # @return [Boolean]
581
+ #
582
+ # source://minitest//lib/minitest/assertions.rb#854
583
+ def skipped?; end
584
+
585
+ # Returns things to diff [expect, butwas], or [nil, nil] if nothing to diff.
586
+ #
587
+ # Criterion:
588
+ #
589
+ # 1. Strings include newlines or escaped newlines, but not both.
590
+ # 2. or: String lengths are > 30 characters.
591
+ # 3. or: Strings are equal to each other (but maybe different encodings?).
592
+ # 4. and: we found a diff executable.
593
+ #
594
+ # source://minitest//lib/minitest/assertions.rb#104
595
+ def things_to_diff(exp, act); end
596
+
597
+ class << self
598
+ # Returns the diff command to use in #diff. Tries to intelligently
599
+ # figure out what diff to use.
600
+ #
601
+ # source://minitest//lib/minitest/assertions.rb#29
602
+ def diff; end
603
+
604
+ # Set the diff command to use in #diff.
605
+ #
606
+ # source://minitest//lib/minitest/assertions.rb#47
607
+ def diff=(o); end
608
+ end
609
+ end
610
+
611
+ # source://minitest//lib/minitest/assertions.rb#201
612
+ Minitest::Assertions::E = T.let(T.unsafe(nil), String)
613
+
614
+ # source://minitest//lib/minitest/assertions.rb#19
615
+ Minitest::Assertions::UNDEFINED = T.let(T.unsafe(nil), Object)
616
+
617
+ # The standard backtrace filter for minitest.
618
+ #
619
+ # See Minitest.backtrace_filter=.
620
+ #
621
+ # source://minitest//lib/minitest.rb#1027
622
+ class Minitest::BacktraceFilter
623
+ # Filter +bt+ to something useful. Returns the whole thing if
624
+ # $DEBUG (ruby) or $MT_DEBUG (env).
625
+ #
626
+ # source://minitest//lib/minitest.rb#1035
627
+ def filter(bt); end
628
+ end
629
+
630
+ # source://minitest//lib/minitest.rb#1029
631
+ Minitest::BacktraceFilter::MT_RE = T.let(T.unsafe(nil), Regexp)
632
+
633
+ # Dispatch to multiple reporters as one.
634
+ #
635
+ # source://minitest//lib/minitest.rb#844
636
+ class Minitest::CompositeReporter < ::Minitest::AbstractReporter
637
+ # @return [CompositeReporter] a new instance of CompositeReporter
638
+ #
639
+ # source://minitest//lib/minitest.rb#850
640
+ def initialize(*reporters); end
641
+
642
+ # Add another reporter to the mix.
643
+ #
644
+ # source://minitest//lib/minitest.rb#862
645
+ def <<(reporter); end
646
+
647
+ # source://minitest//lib/minitest.rb#855
648
+ def io; end
649
+
650
+ # @return [Boolean]
651
+ #
652
+ # source://minitest//lib/minitest.rb#866
653
+ def passed?; end
654
+
655
+ # source://minitest//lib/minitest.rb#874
656
+ def prerecord(klass, name); end
657
+
658
+ # source://minitest//lib/minitest.rb#881
659
+ def record(result); end
660
+
661
+ # source://minitest//lib/minitest.rb#887
662
+ def report; end
663
+
664
+ # The list of reporters to dispatch to.
665
+ #
666
+ # source://minitest//lib/minitest.rb#848
667
+ def reporters; end
668
+
669
+ # The list of reporters to dispatch to.
670
+ #
671
+ # source://minitest//lib/minitest.rb#848
672
+ def reporters=(_arg0); end
673
+
674
+ # source://minitest//lib/minitest.rb#870
675
+ def start; end
676
+ end
677
+
678
+ # Provides a simple set of guards that you can use in your tests
679
+ # to skip execution if it is not applicable. These methods are
680
+ # mixed into Test as both instance and class methods so you
681
+ # can use them inside or outside of the test methods.
682
+ #
683
+ # def test_something_for_mri
684
+ # skip "bug 1234" if jruby?
685
+ # # ...
686
+ # end
687
+ #
688
+ # if windows? then
689
+ # # ... lots of test methods ...
690
+ # end
691
+ #
692
+ # source://minitest//lib/minitest.rb#971
693
+ module Minitest::Guard
694
+ # Is this running on jruby?
695
+ #
696
+ # @return [Boolean]
697
+ #
698
+ # source://minitest//lib/minitest.rb#976
699
+ def jruby?(platform = T.unsafe(nil)); end
700
+
701
+ # Is this running on maglev?
702
+ #
703
+ # @return [Boolean]
704
+ #
705
+ # source://minitest//lib/minitest.rb#983
706
+ def maglev?(platform = T.unsafe(nil)); end
707
+
708
+ # Is this running on mri?
709
+ #
710
+ # @return [Boolean]
711
+ #
712
+ # source://minitest//lib/minitest.rb#993
713
+ def mri?(platform = T.unsafe(nil)); end
714
+
715
+ # Is this running on macOS?
716
+ #
717
+ # @return [Boolean]
718
+ #
719
+ # source://minitest//lib/minitest.rb#1000
720
+ def osx?(platform = T.unsafe(nil)); end
721
+
722
+ # Is this running on rubinius?
723
+ #
724
+ # @return [Boolean]
725
+ #
726
+ # source://minitest//lib/minitest.rb#1007
727
+ def rubinius?(platform = T.unsafe(nil)); end
728
+
729
+ # Is this running on windows?
730
+ #
731
+ # @return [Boolean]
732
+ #
733
+ # source://minitest//lib/minitest.rb#1017
734
+ def windows?(platform = T.unsafe(nil)); end
735
+ end
736
+
737
+ # source://minitest//lib/minitest/parallel.rb#2
738
+ module Minitest::Parallel; end
739
+
740
+ # The engine used to run multiple tests in parallel.
741
+ #
742
+ # source://minitest//lib/minitest/parallel.rb#7
743
+ class Minitest::Parallel::Executor
744
+ # Create a parallel test executor of with +size+ workers.
745
+ #
746
+ # @return [Executor] a new instance of Executor
747
+ #
748
+ # source://minitest//lib/minitest/parallel.rb#17
749
+ def initialize(size); end
750
+
751
+ # Add a job to the queue
752
+ #
753
+ # source://minitest//lib/minitest/parallel.rb#43
754
+ def <<(work); end
755
+
756
+ # Shuts down the pool of workers by signalling them to quit and
757
+ # waiting for them all to finish what they're currently working
758
+ # on.
759
+ #
760
+ # source://minitest//lib/minitest/parallel.rb#50
761
+ def shutdown; end
762
+
763
+ # The size of the pool of workers.
764
+ #
765
+ # source://minitest//lib/minitest/parallel.rb#12
766
+ def size; end
767
+
768
+ # Start the executor
769
+ #
770
+ # source://minitest//lib/minitest/parallel.rb#26
771
+ def start; end
772
+ end
773
+
774
+ # source://minitest//lib/minitest/parallel.rb#56
775
+ module Minitest::Parallel::Test
776
+ # source://minitest//lib/minitest/parallel.rb#57
777
+ def _synchronize; end
778
+ end
779
+
780
+ # source://minitest//lib/minitest/parallel.rb#59
781
+ module Minitest::Parallel::Test::ClassMethods
782
+ # source://minitest//lib/minitest/parallel.rb#60
783
+ def run_one_method(klass, method_name, reporter); end
784
+
785
+ # source://minitest//lib/minitest/parallel.rb#64
786
+ def test_order; end
787
+ end
788
+
789
+ # A very simple reporter that prints the "dots" during the run.
790
+ #
791
+ # This is added to the top-level CompositeReporter at the start of
792
+ # the run. If you want to change the output of minitest via a
793
+ # plugin, pull this out of the composite and replace it with your
794
+ # own.
795
+ #
796
+ # source://minitest//lib/minitest.rb#643
797
+ class Minitest::ProgressReporter < ::Minitest::Reporter
798
+ # source://minitest//lib/minitest.rb#644
799
+ def prerecord(klass, name); end
800
+
801
+ # source://minitest//lib/minitest.rb#651
802
+ def record(result); end
803
+ end
804
+
805
+ # Shared code for anything that can get passed to a Reporter. See
806
+ # Minitest::Test & Minitest::Result.
807
+ #
808
+ # source://minitest//lib/minitest.rb#475
809
+ module Minitest::Reportable
810
+ # @raise [NotImplementedError]
811
+ #
812
+ # source://minitest//lib/minitest.rb#495
813
+ def class_name; end
814
+
815
+ # Did this run error?
816
+ #
817
+ # @return [Boolean]
818
+ #
819
+ # source://minitest//lib/minitest.rb#516
820
+ def error?; end
821
+
822
+ # The location identifier of this test. Depends on a method
823
+ # existing called class_name.
824
+ #
825
+ # source://minitest//lib/minitest.rb#490
826
+ def location; end
827
+
828
+ # Did this run pass?
829
+ #
830
+ # Note: skipped runs are not considered passing, but they don't
831
+ # cause the process to exit non-zero.
832
+ #
833
+ # @return [Boolean]
834
+ #
835
+ # source://minitest//lib/minitest.rb#482
836
+ def passed?; end
837
+
838
+ # Returns ".", "F", or "E" based on the result of the run.
839
+ #
840
+ # source://minitest//lib/minitest.rb#502
841
+ def result_code; end
842
+
843
+ # Was this run skipped?
844
+ #
845
+ # @return [Boolean]
846
+ #
847
+ # source://minitest//lib/minitest.rb#509
848
+ def skipped?; end
849
+ end
850
+
851
+ # source://minitest//lib/minitest.rb#619
852
+ class Minitest::Reporter < ::Minitest::AbstractReporter
853
+ # @return [Reporter] a new instance of Reporter
854
+ #
855
+ # source://minitest//lib/minitest.rb#628
856
+ def initialize(io = T.unsafe(nil), options = T.unsafe(nil)); end
857
+
858
+ # The IO used to report.
859
+ #
860
+ # source://minitest//lib/minitest.rb#621
861
+ def io; end
862
+
863
+ # The IO used to report.
864
+ #
865
+ # source://minitest//lib/minitest.rb#621
866
+ def io=(_arg0); end
867
+
868
+ # Command-line options for this run.
869
+ #
870
+ # source://minitest//lib/minitest.rb#626
871
+ def options; end
872
+
873
+ # Command-line options for this run.
874
+ #
875
+ # source://minitest//lib/minitest.rb#626
876
+ def options=(_arg0); end
877
+ end
878
+
879
+ # This represents a test result in a clean way that can be
880
+ # marshalled over a wire. Tests can do anything they want to the
881
+ # test instance and can create conditions that cause Marshal.dump to
882
+ # blow up. By using Result.from(a_test) you can be reasonably sure
883
+ # that the test result can be marshalled.
884
+ #
885
+ # source://minitest//lib/minitest.rb#528
886
+ class Minitest::Result < ::Minitest::Runnable
887
+ include ::Minitest::Reportable
888
+
889
+ # source://minitest//lib/minitest.rb#561
890
+ def class_name; end
891
+
892
+ # The class name of the test result.
893
+ #
894
+ # source://minitest//lib/minitest.rb#537
895
+ def klass; end
896
+
897
+ # The class name of the test result.
898
+ #
899
+ # source://minitest//lib/minitest.rb#537
900
+ def klass=(_arg0); end
901
+
902
+ # The location of the test method.
903
+ #
904
+ # source://minitest//lib/minitest.rb#542
905
+ def source_location; end
906
+
907
+ # The location of the test method.
908
+ #
909
+ # source://minitest//lib/minitest.rb#542
910
+ def source_location=(_arg0); end
911
+
912
+ # source://minitest//lib/minitest.rb#565
913
+ def to_s; end
914
+
915
+ class << self
916
+ # Create a new test result from a Runnable instance.
917
+ #
918
+ # source://minitest//lib/minitest.rb#547
919
+ def from(runnable); end
920
+ end
921
+ end
922
+
923
+ # re-open
924
+ #
925
+ # source://minitest//lib/minitest.rb#277
926
+ class Minitest::Runnable
927
+ # @return [Runnable] a new instance of Runnable
928
+ #
929
+ # source://minitest//lib/minitest.rb#431
930
+ def initialize(name); end
931
+
932
+ # Number of assertions executed in this run.
933
+ #
934
+ # source://minitest//lib/minitest.rb#281
935
+ def assertions; end
936
+
937
+ # Number of assertions executed in this run.
938
+ #
939
+ # source://minitest//lib/minitest.rb#281
940
+ def assertions=(_arg0); end
941
+
942
+ # source://minitest//lib/minitest.rb#427
943
+ def failure; end
944
+
945
+ # An assertion raised during the run, if any.
946
+ #
947
+ # source://minitest//lib/minitest.rb#286
948
+ def failures; end
949
+
950
+ # An assertion raised during the run, if any.
951
+ #
952
+ # source://minitest//lib/minitest.rb#286
953
+ def failures=(_arg0); end
954
+
955
+ # source://minitest//lib/minitest.rb#413
956
+ def marshal_dump; end
957
+
958
+ # source://minitest//lib/minitest.rb#423
959
+ def marshal_load(ary); end
960
+
961
+ # Name of the run.
962
+ #
963
+ # source://minitest//lib/minitest.rb#304
964
+ def name; end
965
+
966
+ # Set the name of the run.
967
+ #
968
+ # source://minitest//lib/minitest.rb#311
969
+ def name=(o); end
970
+
971
+ # Did this run pass?
972
+ #
973
+ # Note: skipped runs are not considered passing, but they don't
974
+ # cause the process to exit non-zero.
975
+ #
976
+ # @raise [NotImplementedError]
977
+ # @return [Boolean]
978
+ #
979
+ # source://minitest//lib/minitest.rb#450
980
+ def passed?; end
981
+
982
+ # Returns a single character string to print based on the result
983
+ # of the run. One of <tt>"."</tt>, <tt>"F"</tt>,
984
+ # <tt>"E"</tt> or <tt>"S"</tt>.
985
+ #
986
+ # @raise [NotImplementedError]
987
+ #
988
+ # source://minitest//lib/minitest.rb#459
989
+ def result_code; end
990
+
991
+ # Runs a single method. Needs to return self.
992
+ #
993
+ # @raise [NotImplementedError]
994
+ #
995
+ # source://minitest//lib/minitest.rb#440
996
+ def run; end
997
+
998
+ # Was this run skipped? See #passed? for more information.
999
+ #
1000
+ # @raise [NotImplementedError]
1001
+ # @return [Boolean]
1002
+ #
1003
+ # source://minitest//lib/minitest.rb#466
1004
+ def skipped?; end
1005
+
1006
+ # The time it took to run.
1007
+ #
1008
+ # source://minitest//lib/minitest.rb#291
1009
+ def time; end
1010
+
1011
+ # The time it took to run.
1012
+ #
1013
+ # source://minitest//lib/minitest.rb#291
1014
+ def time=(_arg0); end
1015
+
1016
+ # source://minitest//lib/minitest.rb#293
1017
+ def time_it; end
1018
+
1019
+ class << self
1020
+ # source://minitest//lib/minitest.rb#1069
1021
+ def inherited(klass); end
1022
+
1023
+ # Returns all instance methods matching the pattern +re+.
1024
+ #
1025
+ # source://minitest//lib/minitest.rb#318
1026
+ def methods_matching(re); end
1027
+
1028
+ # source://minitest//lib/minitest.rb#383
1029
+ def on_signal(name, action); end
1030
+
1031
+ # source://minitest//lib/minitest.rb#322
1032
+ def reset; end
1033
+
1034
+ # Responsible for running all runnable methods in a given class,
1035
+ # each in its own instance. Each instance is passed to the
1036
+ # reporter to record.
1037
+ #
1038
+ # source://minitest//lib/minitest.rb#333
1039
+ def run(reporter, options = T.unsafe(nil)); end
1040
+
1041
+ # Runs a single method and has the reporter record the result.
1042
+ # This was considered internal API but is factored out of run so
1043
+ # that subclasses can specialize the running of an individual
1044
+ # test. See Minitest::ParallelTest::ClassMethods for an example.
1045
+ #
1046
+ # source://minitest//lib/minitest.rb#363
1047
+ def run_one_method(klass, method_name, reporter); end
1048
+
1049
+ # Each subclass of Runnable is responsible for overriding this
1050
+ # method to return all runnable methods. See #methods_matching.
1051
+ #
1052
+ # @raise [NotImplementedError]
1053
+ #
1054
+ # source://minitest//lib/minitest.rb#400
1055
+ def runnable_methods; end
1056
+
1057
+ # Returns all subclasses of Runnable.
1058
+ #
1059
+ # source://minitest//lib/minitest.rb#407
1060
+ def runnables; end
1061
+
1062
+ # source://minitest//lib/minitest.rb#368
1063
+ def with_info_handler(reporter, &block); end
1064
+ end
1065
+ end
1066
+
1067
+ # source://minitest//lib/minitest.rb#381
1068
+ Minitest::Runnable::SIGNALS = T.let(T.unsafe(nil), Hash)
1069
+
1070
+ # Assertion raised when skipping a run.
1071
+ #
1072
+ # source://minitest//lib/minitest.rb#924
1073
+ class Minitest::Skip < ::Minitest::Assertion
1074
+ # source://minitest//lib/minitest.rb#925
1075
+ def result_label; end
1076
+ end
1077
+
1078
+ # A reporter that gathers statistics about a test run. Does not do
1079
+ # any IO because meant to be used as a parent class for a reporter
1080
+ # that does.
1081
+ #
1082
+ # If you want to create an entirely different type of output (eg,
1083
+ # CI, HTML, etc), this is the place to start.
1084
+ #
1085
+ # Example:
1086
+ #
1087
+ # class JenkinsCIReporter < StatisticsReporter
1088
+ # def report
1089
+ # super # Needed to calculate some statistics
1090
+ #
1091
+ # print "<testsuite "
1092
+ # print "tests='#{count}' "
1093
+ # print "failures='#{failures}' "
1094
+ # # Remaining XML...
1095
+ # end
1096
+ # end
1097
+ #
1098
+ # source://minitest//lib/minitest.rb#679
1099
+ class Minitest::StatisticsReporter < ::Minitest::Reporter
1100
+ # @return [StatisticsReporter] a new instance of StatisticsReporter
1101
+ #
1102
+ # source://minitest//lib/minitest.rb#723
1103
+ def initialize(io = T.unsafe(nil), options = T.unsafe(nil)); end
1104
+
1105
+ # Total number of assertions.
1106
+ #
1107
+ # source://minitest//lib/minitest.rb#683
1108
+ def assertions; end
1109
+
1110
+ # Total number of assertions.
1111
+ #
1112
+ # source://minitest//lib/minitest.rb#683
1113
+ def assertions=(_arg0); end
1114
+
1115
+ # Total number of test cases.
1116
+ #
1117
+ # source://minitest//lib/minitest.rb#688
1118
+ def count; end
1119
+
1120
+ # Total number of test cases.
1121
+ #
1122
+ # source://minitest//lib/minitest.rb#688
1123
+ def count=(_arg0); end
1124
+
1125
+ # Total number of tests that erred.
1126
+ #
1127
+ # source://minitest//lib/minitest.rb#716
1128
+ def errors; end
1129
+
1130
+ # Total number of tests that erred.
1131
+ #
1132
+ # source://minitest//lib/minitest.rb#716
1133
+ def errors=(_arg0); end
1134
+
1135
+ # Total number of tests that failed.
1136
+ #
1137
+ # source://minitest//lib/minitest.rb#711
1138
+ def failures; end
1139
+
1140
+ # Total number of tests that failed.
1141
+ #
1142
+ # source://minitest//lib/minitest.rb#711
1143
+ def failures=(_arg0); end
1144
+
1145
+ # @return [Boolean]
1146
+ #
1147
+ # source://minitest//lib/minitest.rb#736
1148
+ def passed?; end
1149
+
1150
+ # source://minitest//lib/minitest.rb#744
1151
+ def record(result); end
1152
+
1153
+ # Report on the tracked statistics.
1154
+ #
1155
+ # source://minitest//lib/minitest.rb#754
1156
+ def report; end
1157
+
1158
+ # An +Array+ of test cases that failed or were skipped.
1159
+ #
1160
+ # source://minitest//lib/minitest.rb#693
1161
+ def results; end
1162
+
1163
+ # An +Array+ of test cases that failed or were skipped.
1164
+ #
1165
+ # source://minitest//lib/minitest.rb#693
1166
+ def results=(_arg0); end
1167
+
1168
+ # Total number of tests that where skipped.
1169
+ #
1170
+ # source://minitest//lib/minitest.rb#721
1171
+ def skips; end
1172
+
1173
+ # Total number of tests that where skipped.
1174
+ #
1175
+ # source://minitest//lib/minitest.rb#721
1176
+ def skips=(_arg0); end
1177
+
1178
+ # source://minitest//lib/minitest.rb#740
1179
+ def start; end
1180
+
1181
+ # Time the test run started. If available, the monotonic clock is
1182
+ # used and this is a +Float+, otherwise it's an instance of
1183
+ # +Time+.
1184
+ #
1185
+ # source://minitest//lib/minitest.rb#700
1186
+ def start_time; end
1187
+
1188
+ # Time the test run started. If available, the monotonic clock is
1189
+ # used and this is a +Float+, otherwise it's an instance of
1190
+ # +Time+.
1191
+ #
1192
+ # source://minitest//lib/minitest.rb#700
1193
+ def start_time=(_arg0); end
1194
+
1195
+ # Test run time. If available, the monotonic clock is used and
1196
+ # this is a +Float+, otherwise it's an instance of +Time+.
1197
+ #
1198
+ # source://minitest//lib/minitest.rb#706
1199
+ def total_time; end
1200
+
1201
+ # Test run time. If available, the monotonic clock is used and
1202
+ # this is a +Float+, otherwise it's an instance of +Time+.
1203
+ #
1204
+ # source://minitest//lib/minitest.rb#706
1205
+ def total_time=(_arg0); end
1206
+ end
1207
+
1208
+ # A reporter that prints the header, summary, and failure details at
1209
+ # the end of the run.
1210
+ #
1211
+ # This is added to the top-level CompositeReporter at the start of
1212
+ # the run. If you want to change the output of minitest via a
1213
+ # plugin, pull this out of the composite and replace it with your
1214
+ # own.
1215
+ #
1216
+ # source://minitest//lib/minitest.rb#774
1217
+ class Minitest::SummaryReporter < ::Minitest::StatisticsReporter
1218
+ # source://minitest//lib/minitest.rb#809
1219
+ def aggregated_results(io); end
1220
+
1221
+ # Returns the value of attribute old_sync.
1222
+ #
1223
+ # source://minitest//lib/minitest.rb#777
1224
+ def old_sync; end
1225
+
1226
+ # Sets the attribute old_sync
1227
+ #
1228
+ # @param value the value to set the attribute old_sync to.
1229
+ #
1230
+ # source://minitest//lib/minitest.rb#777
1231
+ def old_sync=(_arg0); end
1232
+
1233
+ # source://minitest//lib/minitest.rb#792
1234
+ def report; end
1235
+
1236
+ # :startdoc:
1237
+ #
1238
+ # source://minitest//lib/minitest.rb#780
1239
+ def start; end
1240
+
1241
+ # source://minitest//lib/minitest.rb#804
1242
+ def statistics; end
1243
+
1244
+ # source://minitest//lib/minitest.rb#829
1245
+ def summary; end
1246
+
1247
+ # :stopdoc:
1248
+ #
1249
+ # source://minitest//lib/minitest.rb#776
1250
+ def sync; end
1251
+
1252
+ # :stopdoc:
1253
+ #
1254
+ # source://minitest//lib/minitest.rb#776
1255
+ def sync=(_arg0); end
1256
+
1257
+ # source://minitest//lib/minitest.rb#825
1258
+ def to_s; end
1259
+ end
1260
+
1261
+ # Subclass Test to create your own tests. Typically you'll want a
1262
+ # Test subclass per implementation class.
1263
+ #
1264
+ # See Minitest::Assertions
1265
+ #
1266
+ # source://minitest//lib/minitest/test.rb#10
1267
+ class Minitest::Test < ::Minitest::Runnable
1268
+ include ::Minitest::Assertions
1269
+ include ::Minitest::Reportable
1270
+ include ::Minitest::Test::LifecycleHooks
1271
+ include ::Minitest::Guard
1272
+ extend ::Minitest::Guard
1273
+
1274
+ # LifecycleHooks
1275
+ #
1276
+ # source://minitest//lib/minitest/test.rb#198
1277
+ def capture_exceptions; end
1278
+
1279
+ # source://minitest//lib/minitest/test.rb#15
1280
+ def class_name; end
1281
+
1282
+ # source://minitest//lib/minitest/test.rb#215
1283
+ def neuter_exception(e); end
1284
+
1285
+ # source://minitest//lib/minitest/test.rb#226
1286
+ def new_exception(klass, msg, bt, kill = T.unsafe(nil)); end
1287
+
1288
+ # Runs a single test with setup/teardown hooks.
1289
+ #
1290
+ # source://minitest//lib/minitest/test.rb#94
1291
+ def run; end
1292
+
1293
+ # source://minitest//lib/minitest/test.rb#208
1294
+ def sanitize_exception(e); end
1295
+
1296
+ # source://minitest//lib/minitest/test.rb#240
1297
+ def with_info_handler(&block); end
1298
+
1299
+ class << self
1300
+ # Call this at the top of your tests when you absolutely
1301
+ # positively need to have ordered tests. In doing so, you're
1302
+ # admitting that you suck and your tests are weak.
1303
+ #
1304
+ # source://minitest//lib/minitest/test.rb#35
1305
+ def i_suck_and_my_tests_are_order_dependent!; end
1306
+
1307
+ # Returns the value of attribute io_lock.
1308
+ #
1309
+ # source://minitest//lib/minitest/test.rb#26
1310
+ def io_lock; end
1311
+
1312
+ # Sets the attribute io_lock
1313
+ #
1314
+ # @param value the value to set the attribute io_lock to.
1315
+ #
1316
+ # source://minitest//lib/minitest/test.rb#26
1317
+ def io_lock=(_arg0); end
1318
+
1319
+ # Make diffs for this Test use #pretty_inspect so that diff
1320
+ # in assert_equal can have more details. NOTE: this is much slower
1321
+ # than the regular inspect but much more usable for complex
1322
+ # objects.
1323
+ #
1324
+ # source://minitest//lib/minitest/test.rb#48
1325
+ def make_my_diffs_pretty!; end
1326
+
1327
+ # Call this at the top of your tests when you want to run your
1328
+ # tests in parallel. In doing so, you're admitting that you rule
1329
+ # and your tests are awesome.
1330
+ #
1331
+ # source://minitest//lib/minitest/test.rb#59
1332
+ def parallelize_me!; end
1333
+
1334
+ # Returns all instance methods starting with "test_". Based on
1335
+ # #test_order, the methods are either sorted, randomized
1336
+ # (default), or run in parallel.
1337
+ #
1338
+ # source://minitest//lib/minitest/test.rb#69
1339
+ def runnable_methods; end
1340
+
1341
+ # Defines the order to run tests (:random by default). Override
1342
+ # this or use a convenience method to change it for your tests.
1343
+ #
1344
+ # source://minitest//lib/minitest/test.rb#87
1345
+ def test_order; end
1346
+ end
1347
+ end
1348
+
1349
+ # Provides before/after hooks for setup and teardown. These are
1350
+ # meant for library writers, NOT for regular test authors. See
1351
+ # #before_setup for an example.
1352
+ #
1353
+ # source://minitest//lib/minitest/test.rb#121
1354
+ module Minitest::Test::LifecycleHooks
1355
+ # Runs before every test, after setup. This hook is meant for
1356
+ # libraries to extend minitest. It is not meant to be used by
1357
+ # test developers.
1358
+ #
1359
+ # See #before_setup for an example.
1360
+ #
1361
+ # source://minitest//lib/minitest/test.rb#171
1362
+ def after_setup; end
1363
+
1364
+ # Runs after every test, after teardown. This hook is meant for
1365
+ # libraries to extend minitest. It is not meant to be used by
1366
+ # test developers.
1367
+ #
1368
+ # See #before_setup for an example.
1369
+ #
1370
+ # source://minitest//lib/minitest/test.rb#195
1371
+ def after_teardown; end
1372
+
1373
+ # Runs before every test, before setup. This hook is meant for
1374
+ # libraries to extend minitest. It is not meant to be used by
1375
+ # test developers.
1376
+ #
1377
+ # As a simplistic example:
1378
+ #
1379
+ # module MyMinitestPlugin
1380
+ # def before_setup
1381
+ # super
1382
+ # # ... stuff to do before setup is run
1383
+ # end
1384
+ #
1385
+ # def after_setup
1386
+ # # ... stuff to do after setup is run
1387
+ # super
1388
+ # end
1389
+ #
1390
+ # def before_teardown
1391
+ # super
1392
+ # # ... stuff to do before teardown is run
1393
+ # end
1394
+ #
1395
+ # def after_teardown
1396
+ # # ... stuff to do after teardown is run
1397
+ # super
1398
+ # end
1399
+ # end
1400
+ #
1401
+ # class MiniTest::Test
1402
+ # include MyMinitestPlugin
1403
+ # end
1404
+ #
1405
+ # source://minitest//lib/minitest/test.rb#156
1406
+ def before_setup; end
1407
+
1408
+ # Runs after every test, before teardown. This hook is meant for
1409
+ # libraries to extend minitest. It is not meant to be used by
1410
+ # test developers.
1411
+ #
1412
+ # See #before_setup for an example.
1413
+ #
1414
+ # source://minitest//lib/minitest/test.rb#180
1415
+ def before_teardown; end
1416
+
1417
+ # Runs before every test. Use this to set up before each test
1418
+ # run.
1419
+ #
1420
+ # source://minitest//lib/minitest/test.rb#162
1421
+ def setup; end
1422
+
1423
+ # Runs after every test. Use this to clean up after each test
1424
+ # run.
1425
+ #
1426
+ # source://minitest//lib/minitest/test.rb#186
1427
+ def teardown; end
1428
+ end
1429
+
1430
+ # source://minitest//lib/minitest/test.rb#19
1431
+ Minitest::Test::PASSTHROUGH_EXCEPTIONS = T.let(T.unsafe(nil), Array)
1432
+
1433
+ # source://minitest//lib/minitest/test.rb#21
1434
+ Minitest::Test::SETUP_METHODS = T.let(T.unsafe(nil), Array)
1435
+
1436
+ # source://minitest//lib/minitest/test.rb#23
1437
+ Minitest::Test::TEARDOWN_METHODS = T.let(T.unsafe(nil), Array)
1438
+
1439
+ # Assertion wrapping an unexpected error that was raised during a run.
1440
+ #
1441
+ # source://minitest//lib/minitest.rb#933
1442
+ class Minitest::UnexpectedError < ::Minitest::Assertion
1443
+ # @return [UnexpectedError] a new instance of UnexpectedError
1444
+ #
1445
+ # source://minitest//lib/minitest.rb#937
1446
+ def initialize(error); end
1447
+
1448
+ # source://minitest//lib/minitest.rb#942
1449
+ def backtrace; end
1450
+
1451
+ # TODO: figure out how to use `cause` instead
1452
+ #
1453
+ # source://minitest//lib/minitest.rb#935
1454
+ def error; end
1455
+
1456
+ # TODO: figure out how to use `cause` instead
1457
+ #
1458
+ # source://minitest//lib/minitest.rb#935
1459
+ def error=(_arg0); end
1460
+
1461
+ # source://minitest//lib/minitest.rb#946
1462
+ def message; end
1463
+
1464
+ # source://minitest//lib/minitest.rb#951
1465
+ def result_label; end
1466
+ end
1467
+
1468
+ # source://minitest//lib/minitest/unit.rb#20
1469
+ class Minitest::Unit
1470
+ class << self
1471
+ # source://minitest//lib/minitest/unit.rb#36
1472
+ def after_tests(&b); end
1473
+
1474
+ # source://minitest//lib/minitest/unit.rb#30
1475
+ def autorun; end
1476
+ end
1477
+ end
1478
+
1479
+ # source://minitest//lib/minitest/unit.rb#22
1480
+ class Minitest::Unit::TestCase < ::Minitest::Test
1481
+ class << self
1482
+ # source://minitest//lib/minitest/unit.rb#23
1483
+ def inherited(klass); end
1484
+ end
1485
+ end
1486
+
1487
+ # source://minitest//lib/minitest/unit.rb#21
1488
+ Minitest::Unit::VERSION = T.let(T.unsafe(nil), String)
1489
+
1490
+ # source://minitest//lib/minitest.rb#12
1491
+ Minitest::VERSION = T.let(T.unsafe(nil), String)