oktest 1.3.1 → 1.5.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.
@@ -1,24 +1,25 @@
1
1
  # -*- coding: utf-8 -*-
2
+ # frozen_string_literal: true
2
3
 
3
4
  ###
4
- ### $Release: 1.3.1 $
5
+ ### $Release: 1.5.0 $
5
6
  ### $Copyright: copyright(c) 2011-2024 kuwata-lab.com all rights reserved $
6
7
  ### $License: MIT License $
7
8
  ###
8
9
 
9
- require_relative './initialize'
10
+ require_relative './init'
10
11
 
11
12
 
12
- class AssertionObject_TC < TC
13
- #include Test::Unit::Assertions
14
- include Oktest::SpecHelper
13
+ class AssertionObject__Test
14
+ extend NanoTest
15
+ extend Oktest::SpecHelper
15
16
 
16
- def FAIL!(errmsg, &b)
17
+ def self.FAIL!(errmsg, &b)
17
18
  failmsg = "expected to be failed, but succeeded unexpectedly."
18
19
  return ERROR!(Oktest::FAIL_EXCEPTION, errmsg, failmsg, &b)
19
20
  end
20
21
 
21
- def ERROR!(errcls, errmsg=nil, _failmsg=nil, &b)
22
+ def self.ERROR!(errcls, errmsg=nil, _failmsg=nil, &b)
22
23
  exc = nil
23
24
  begin
24
25
  yield
@@ -28,92 +29,92 @@ class AssertionObject_TC < TC
28
29
  raise
29
30
  else
30
31
  _failmsg ||= "#{errcls} expected to be raised, but nothing raised."
31
- assert false, _failmsg
32
+ test_ok? false, _failmsg
32
33
  end
33
34
  #
34
35
  if errmsg
35
- assert errmsg === exc.message,
36
- ("unexpected error message:\n"\
37
- " expected: #{errmsg}\n"\
38
- " actual: #{exc.message}")
36
+ test_ok? errmsg === exc.message,
37
+ msg: ("unexpected error message:\n"\
38
+ " expected: #{errmsg}\n"\
39
+ " actual: #{exc.message}")
39
40
  end
40
41
  #
41
42
  return exc
42
43
  end
43
44
 
44
- def PASS!()
45
+ def self.PASS!(&b)
45
46
  yield
46
47
  end
47
48
 
48
- def should_return_self
49
+ def self.should_return_self(&b)
49
50
  obj = yield
50
- assert obj.class == Oktest::AssertionObject
51
+ test_ok? obj.class == Oktest::AssertionObject
51
52
  end
52
53
 
53
54
 
54
- describe '.report_not_yet()' do
55
- it "[!3nksf] reports if 'ok{}' called but assertion not performed." do
56
- assert Oktest::AssertionObject::NOT_YET.empty?, "should be empty"
57
- sout, serr = capture do
55
+ test_target 'Oktest::AssertionObject.report_not_yet()' do
56
+ test_subject "[!3nksf] reports if 'ok{}' called but assertion not performed." do
57
+ test_ok? Oktest::AssertionObject::NOT_YET.empty?, msg: "should be empty"
58
+ sout, serr = capture_output! do
58
59
  Oktest::AssertionObject.report_not_yet()
59
60
  end
60
- assert_eq sout, ""
61
- assert_eq serr, ""
61
+ test_eq? sout, ""
62
+ test_eq? serr, ""
62
63
  #
63
64
  lineno = __LINE__ + 1
64
65
  ok {1+1}
65
- assert ! Oktest::AssertionObject::NOT_YET.empty?, "should not be empty"
66
- sout, serr = capture { Oktest::AssertionObject.report_not_yet() }
66
+ test_ok? ! Oktest::AssertionObject::NOT_YET.empty?, msg: "should not be empty"
67
+ sout, serr = capture_output! { Oktest::AssertionObject.report_not_yet() }
67
68
  expected = "** warning: ok() is called but not tested yet (at #{__FILE__}:#{lineno}:in"
68
- assert_eq sout, ""
69
- assert serr.start_with?(expected), "not matched"
69
+ test_eq? sout, ""
70
+ test_ok? serr.start_with?(expected), msg: "not matched"
70
71
  end
71
- it "[!f92q4] clears remained objects." do
72
+ test_subject "[!f92q4] clears remained objects." do
72
73
  ok {1+1}
73
- assert ! Oktest::AssertionObject::NOT_YET.empty?, "should not be empty"
74
- sout, serr = capture { Oktest::AssertionObject.report_not_yet() }
75
- assert Oktest::AssertionObject::NOT_YET.empty?, "should be empty"
74
+ test_ok? ! Oktest::AssertionObject::NOT_YET.empty?, msg: "should not be empty"
75
+ sout, serr = capture_output! { Oktest::AssertionObject.report_not_yet() }
76
+ test_ok? Oktest::AssertionObject::NOT_YET.empty?, msg: "should be empty"
76
77
  end
77
78
  end
78
79
 
79
- describe '.NOT()' do
80
- it "[!g775v] returns self." do
80
+ test_target 'Oktest::AssertionObject.NOT()' do
81
+ test_subject "[!g775v] returns self." do
81
82
  begin
82
83
  should_return_self { ok {1+1}.NOT }
83
84
  ensure
84
85
  Oktest::AssertionObject::NOT_YET.clear()
85
86
  end
86
87
  end
87
- it "[!63dde] toggles internal boolean." do
88
+ test_subject "[!63dde] toggles internal boolean." do
88
89
  begin
89
90
  x = ok {1+1}
90
- assert_eq x.bool, true
91
+ test_eq? x.bool, true
91
92
  x.NOT
92
- assert_eq x.bool, false
93
+ test_eq? x.bool, false
93
94
  ensure
94
95
  Oktest::AssertionObject::NOT_YET.clear()
95
96
  end
96
97
  end
97
98
  end
98
99
 
99
- describe '#==' do
100
- it "[!c6p0e] returns self when passed." do
100
+ test_target 'Oktest::AssertionObject#==' do
101
+ test_subject "[!c6p0e] returns self when passed." do
101
102
  should_return_self { ok {1+1} == 2 }
102
103
  end
103
- it "[!1iun4] raises assertion error when failed." do
104
+ test_subject "[!1iun4] raises assertion error when failed." do
104
105
  errmsg = "$<actual> == $<expected>: failed.\n"\
105
106
  " $<actual>: 2\n"\
106
107
  " $<expected>: 3"
107
108
  FAIL!(errmsg) { ok {1+1} == 3 }
108
109
  end
109
- it "[!eyslp] is avaialbe with NOT." do
110
+ test_subject "[!eyslp] is avaialbe with NOT." do
110
111
  PASS! { ok {1+1}.NOT == 3 }
111
112
  errmsg = "$<actual> != $<expected>: failed.\n"\
112
113
  " $<actual>: 2\n"\
113
114
  " $<expected>: 2"
114
115
  FAIL!(errmsg) { ok {1+1}.NOT == 2 }
115
116
  end
116
- it "[!3xnqv] shows context diff when both actual and expected are text." do
117
+ test_subject "[!3xnqv] shows context diff when both actual and expected are text." do
117
118
  expected = "Haruhi\nMikuru\nYuki\n"
118
119
  actual = "Haruhi\nMichiru\nYuki\n"
119
120
  errmsg = <<'END'
@@ -132,18 +133,18 @@ END
132
133
  end
133
134
  end
134
135
 
135
- describe '#!=' do
136
- it "[!iakbb] returns self when passed." do
136
+ test_target 'Oktest::AssertionObject#!=' do
137
+ test_subject "[!iakbb] returns self when passed." do
137
138
  should_return_self { ok {1+1} != 3 }
138
139
  end
139
- it "[!90tfb] raises assertion error when failed." do
140
+ test_subject "[!90tfb] raises assertion error when failed." do
140
141
  #errmsg = "<2> expected to be != to\n<2>."
141
142
  errmsg = "$<actual> != $<expected>: failed.\n"\
142
143
  " $<actual>: 2\n"\
143
144
  " $<expected>: 2"
144
145
  FAIL!(errmsg) { ok {1+1} != 2 }
145
146
  end
146
- it "[!l6afg] is avaialbe with NOT." do
147
+ test_subject "[!l6afg] is avaialbe with NOT." do
147
148
  PASS! { ok {1+1}.NOT != 2 }
148
149
  #errmsg = "<3> expected but was\n<2>."
149
150
  errmsg = "$<actual> == $<expected>: failed.\n"\
@@ -153,39 +154,41 @@ END
153
154
  end
154
155
  end #if RUBY_VERSION >= "1.9"
155
156
 
156
- describe '#===' do
157
- it "[!uh8bm] returns self when passed." do
157
+ test_target 'Oktest::AssertionObject#===' do
158
+ test_subject "[!uh8bm] returns self when passed." do
158
159
  should_return_self { ok {String} === 'str' }
159
160
  end
160
- it "[!42f6a] raises assertion error when failed." do
161
+ test_subject "[!42f6a] raises assertion error when failed." do
161
162
  errmsg = "$<actual> === $<expected>: failed.\n"\
162
163
  " $<actual>: Integer\n"\
163
164
  " $<expected>: \"str\""
164
165
  FAIL!(errmsg) { ok {Integer} === 'str' }
165
166
  end
166
- it "[!vhvyu] is avaialbe with NOT." do
167
+ test_subject "[!vhvyu] is avaialbe with NOT." do
167
168
  PASS! { ok {Integer}.NOT === 'str' }
168
169
  errmsg = "!($<actual> === $<expected>): failed.\n"\
169
170
  " $<actual>: String\n"\
170
171
  " $<expected>: \"str\""
171
172
  FAIL!(errmsg) { ok {String}.NOT === 'str' }
172
173
  end
173
- it "[!mjh4d] raises error when combination of 'not_ok()' and matcher object." do
174
+ test_subject "[!mjh4d] raises error when combination of 'not_ok()' and matcher object." do
174
175
  errmsg = "negative `===` is not available with matcher object."
175
- assert_exc(Oktest::OktestError, errmsg) do
176
+ exc = test_exception? Oktest::OktestError do
176
177
  not_ok {Oktest::JsonMatcher.new({})} === {}
177
178
  end
178
- assert_exc(Oktest::OktestError, errmsg) do
179
+ test_eq? errmsg, exc.message
180
+ exc = test_exception? Oktest::OktestError do
179
181
  ok {Oktest::JsonMatcher.new({})}.NOT === {}
180
182
  end
183
+ test_eq? errmsg, exc.message
181
184
  end
182
185
  end
183
186
 
184
- describe '>' do
185
- it "[!3j7ty] returns self when passed." do
187
+ test_target 'Oktest::AssertionObject>' do
188
+ test_subject "[!3j7ty] returns self when passed." do
186
189
  should_return_self { ok {2} > 1 }
187
190
  end
188
- it "[!vjjuq] raises assertion error when failed." do
191
+ test_subject "[!vjjuq] raises assertion error when failed." do
189
192
  #errmsg = "Expected 2 to be > 2."
190
193
  errmsg = "2 > 2: failed."
191
194
  FAIL!(errmsg) { ok {2} > 2 }
@@ -195,7 +198,7 @@ END
195
198
  errmsg = "\"aaa\" > \"bbb\": failed."
196
199
  FAIL!(errmsg) { ok {'aaa'} > 'bbb' }
197
200
  end
198
- it "[!73a0t] is avaialbe with NOT." do
201
+ test_subject "[!73a0t] is avaialbe with NOT." do
199
202
  PASS! { ok {2}.NOT > 2 }
200
203
  #errmsg = "Expected 2 to be <= 1."
201
204
  errmsg = "2 <= 1: failed."
@@ -203,12 +206,12 @@ END
203
206
  end
204
207
  end
205
208
 
206
- describe '>=' do
207
- it "[!75iqw] returns self when passed." do
209
+ test_target 'Oktest::AssertionObject>=' do
210
+ test_subject "[!75iqw] returns self when passed." do
208
211
  should_return_self { ok {2} >= 2 }
209
212
  should_return_self { ok {2} >= 1 }
210
213
  end
211
- it "[!isdfc] raises assertion error when failed." do
214
+ test_subject "[!isdfc] raises assertion error when failed." do
212
215
  #errmsg = "Expected 1 to be >= 2."
213
216
  errmsg = "1 >= 2: failed."
214
217
  FAIL!(errmsg) { ok {1} >= 2 }
@@ -216,7 +219,7 @@ END
216
219
  errmsg = "\"aaa\" >= \"bbb\": failed."
217
220
  FAIL!(errmsg) { ok {'aaa'} >= 'bbb' }
218
221
  end
219
- it "[!3dgmh] is avaialbe with NOT." do
222
+ test_subject "[!3dgmh] is avaialbe with NOT." do
220
223
  PASS! { ok {1}.NOT >= 2 }
221
224
  #errmsg = "Expected 2 to be < 2."
222
225
  errmsg = "2 < 2: failed."
@@ -224,11 +227,11 @@ END
224
227
  end
225
228
  end
226
229
 
227
- describe '<' do
228
- it "[!vkwcc] returns self when passed." do
230
+ test_target 'Oktest::AssertionObject<' do
231
+ test_subject "[!vkwcc] returns self when passed." do
229
232
  should_return_self { ok {1} < 2 }
230
233
  end
231
- it "[!ukqa0] raises assertion error when failed." do
234
+ test_subject "[!ukqa0] raises assertion error when failed." do
232
235
  #errmsg = "Expected 2 to be < 2."
233
236
  errmsg = "2 < 2: failed."
234
237
  FAIL!(errmsg) { ok {2} < 2 }
@@ -238,7 +241,7 @@ END
238
241
  errmsg = "\"bbb\" < \"aaa\": failed."
239
242
  FAIL!(errmsg) { ok {'bbb'} < 'aaa' }
240
243
  end
241
- it "[!gwvdl] is avaialbe with NOT." do
244
+ test_subject "[!gwvdl] is avaialbe with NOT." do
242
245
  PASS! { ok {2}.NOT < 2 }
243
246
  #errmsg = "Expected 1 to be >= 2."
244
247
  errmsg = "1 >= 2: failed."
@@ -246,12 +249,12 @@ END
246
249
  end
247
250
  end
248
251
 
249
- describe '<=' do
250
- it "[!yk7t2] returns self when passed." do
252
+ test_target 'Oktest::AssertionObject<=' do
253
+ test_subject "[!yk7t2] returns self when passed." do
251
254
  should_return_self { ok {1} <= 2 }
252
255
  should_return_self { ok {1} <= 1 }
253
256
  end
254
- it "[!ordwe] raises assertion error when failed." do
257
+ test_subject "[!ordwe] raises assertion error when failed." do
255
258
  #errmsg = "Expected 2 to be <= 1."
256
259
  errmsg = "2 <= 1: failed."
257
260
  FAIL!(errmsg) { ok {2} <= 1 }
@@ -259,7 +262,7 @@ END
259
262
  errmsg = "\"bbb\" <= \"aaa\": failed."
260
263
  FAIL!(errmsg) { ok {'bbb'} <= 'aaa' }
261
264
  end
262
- it "[!mcb9w] is avaialbe with NOT." do
265
+ test_subject "[!mcb9w] is avaialbe with NOT." do
263
266
  PASS! { ok {2}.NOT <= 1 }
264
267
  #errmsg = "Expected 1 to be > 2."
265
268
  errmsg = "1 > 2: failed."
@@ -267,11 +270,11 @@ END
267
270
  end
268
271
  end
269
272
 
270
- describe '=~' do
271
- it "[!acypf] returns self when passed." do
273
+ test_target 'Oktest::AssertionObject=~' do
274
+ test_subject "[!acypf] returns self when passed." do
272
275
  should_return_self { ok {'SOS'} =~ /^[A-Z]+$/ }
273
276
  end
274
- it "[!xkldu] raises assertion error when failed." do
277
+ test_subject "[!xkldu] raises assertion error when failed." do
275
278
  #errmsg = 'Expected /^\\d+$/ to match "SOS".'
276
279
  errmsg = "$<actual> =~ $<expected>: failed.\n"\
277
280
  " $<expected>: /^\\d+$/\n"\
@@ -280,7 +283,7 @@ END
280
283
  "END\n"
281
284
  FAIL!(errmsg) { ok {"SOS\n"} =~ /^\d+$/ }
282
285
  end
283
- it "[!2aa6f] is avaialbe with NOT." do
286
+ test_subject "[!2aa6f] is avaialbe with NOT." do
284
287
  PASS! { ok {'SOS'}.NOT =~ /^\d+$/ }
285
288
  #errmsg = "</\\w+/> expected to not match\n<\"SOS\">."
286
289
  errmsg = "$<actual> !~ $<expected>: failed.\n"\
@@ -290,18 +293,18 @@ END
290
293
  end if false
291
294
  end
292
295
 
293
- describe '!~' do
294
- it "[!xywdr] returns self when passed." do
296
+ test_target 'Oktest::AssertionObject!~' do
297
+ test_subject "[!xywdr] returns self when passed." do
295
298
  should_return_self { ok {'SOS'} !~ /^\d+$/ }
296
299
  end
297
- it "[!58udu] raises assertion error when failed." do
300
+ test_subject "[!58udu] raises assertion error when failed." do
298
301
  #errmsg = "</^\\w+$/> expected to not match\n<\"SOS\">."
299
302
  errmsg = "$<actual> !~ $<expected>: failed.\n"\
300
303
  " $<expected>: /^\\w+$/\n"\
301
304
  " $<actual>: \"SOS\"\n"
302
305
  FAIL!(errmsg) { ok {'SOS'} !~ /^\w+$/ }
303
306
  end
304
- it "[!iuf5j] is avaialbe with NOT." do
307
+ test_subject "[!iuf5j] is avaialbe with NOT." do
305
308
  PASS! { ok {'SOS'}.NOT !~ /^\w+$/ }
306
309
  #errmsg = "Expected /\\d+/ to match \"SOS\"."
307
310
  errmsg = "$<actual> =~ $<expected>: failed.\n"\
@@ -311,18 +314,18 @@ END
311
314
  end
312
315
  end #if RUBY_VERSION >= "1.9"
313
316
 
314
- describe '#in_delta?' do
315
- it "[!m0791] returns self when passed." do
317
+ test_target 'Oktest::AssertionObject#in_delta?' do
318
+ test_subject "[!m0791] returns self when passed." do
316
319
  should_return_self { ok {3.14159}.in_delta?(3.141, 0.001) }
317
320
  end
318
- it "[!f3zui] raises assertion error when failed." do
321
+ test_subject "[!f3zui] raises assertion error when failed." do
319
322
  errmsg = "($<actual> - $<expected>).abs < #{0.1}: failed.\n"\
320
323
  " $<actual>: 1.375\n"\
321
324
  " $<expected>: 1.5\n"\
322
325
  " ($<actual> - $<expected>).abs: #{0.125}"
323
326
  FAIL!(errmsg) { ok {1.375}.in_delta?(1.5, 0.1) }
324
327
  end
325
- it "[!t7liw] is avaialbe with NOT." do
328
+ test_subject "[!t7liw] is avaialbe with NOT." do
326
329
  PASS! { ok {1.375}.NOT.in_delta?(1.5, 0.1) }
327
330
  errmsg = "($<actual> - $<expected>).abs < #{0.2} == false: failed.\n"\
328
331
  " $<actual>: 1.375\n"\
@@ -332,18 +335,18 @@ END
332
335
  end
333
336
  end
334
337
 
335
- describe '#same?' do
336
- it "[!yk7zo] returns self when passed." do
338
+ test_target 'Oktest::AssertionObject#same?' do
339
+ test_subject "[!yk7zo] returns self when passed." do
337
340
  should_return_self { ok {:SOS}.same?(:SOS) }
338
341
  end
339
- it "[!ozbf4] raises assertion error when failed." do
342
+ test_subject "[!ozbf4] raises assertion error when failed." do
340
343
  errmsg = "$<actual>.equal?($<expected>): failed.\n"\
341
344
  " $<actual>: \"SOS\"\n"\
342
345
  " $<expected>: \"SOS\"\n"
343
- FAIL!(errmsg) { ok {'SOS'}.same?('SOS') }
346
+ FAIL!(errmsg) { ok {'SOS'.dup}.same?('SOS') }
344
347
  end
345
- it "[!dwtig] is avaialbe with NOT." do
346
- PASS! { ok {'SOS'}.NOT.same? 'SOS' }
348
+ test_subject "[!dwtig] is avaialbe with NOT." do
349
+ PASS! { ok {'SOS'.dup}.NOT.same? 'SOS' }
347
350
  errmsg = "$<actual>.equal?($<expected>) == false: failed.\n"\
348
351
  " $<actual>: :SOS\n"\
349
352
  " $<expected>: :SOS\n"
@@ -351,21 +354,21 @@ END
351
354
  end
352
355
  end
353
356
 
354
- describe '#method_missing()' do
355
- it "[!7bbrv] returns self when passed." do
357
+ test_target 'Oktest::AssertionObject#method_missing()' do
358
+ test_subject "[!7bbrv] returns self when passed." do
356
359
  should_return_self { ok {"file.png"}.end_with?(".png") }
357
360
  end
358
- it "[!yjnxb] enables to handle boolean methods." do
361
+ test_subject "[!yjnxb] enables to handle boolean methods." do
359
362
  PASS! { ok {""}.empty? }
360
363
  PASS! { ok {nil}.nil? }
361
364
  PASS! { ok {1}.is_a?(Integer) }
362
365
  end
363
- it "[!ttow6] raises NoMethodError when not a boolean method." do
366
+ test_subject "[!ttow6] raises NoMethodError when not a boolean method." do
364
367
  ERROR!(NoMethodError) do
365
368
  ok {"a"}.start_with
366
369
  end
367
370
  end
368
- it "[!gd3vg] supports keyword arguments on Ruby >= 2.7." do
371
+ test_subject "[!gd3vg] supports keyword arguments on Ruby >= 2.7." do
369
372
  #if RUBY_VERSION >= "2.7"
370
373
  if true
371
374
  eval <<-END
@@ -386,14 +389,14 @@ END
386
389
  end
387
390
  end
388
391
  end
389
- it "[!f0ekh] skip top of backtrace when NoMethodError raised." do
392
+ test_subject "[!f0ekh] skip top of backtrace when NoMethodError raised." do
390
393
  exc = ERROR!(NoMethodError) do
391
394
  ok {[1]}.start_with?(1)
392
395
  end
393
- assert exc.backtrace[0] !~ /\/oktest\.rbc?:/, "backtrace not skipped"
394
- assert exc.backtrace[0].start_with?(__FILE__), "backtrace not skipped"
396
+ test_ok? exc.backtrace[0] !~ /\/oktest\.rbc?:/, msg: "backtrace not skipped"
397
+ test_ok? exc.backtrace[0].start_with?(__FILE__), msg: "backtrace not skipped"
395
398
  end
396
- it "[!cun59] fails when boolean method failed returned false." do
399
+ test_subject "[!cun59] fails when boolean method failed returned false." do
397
400
  errmsg = "$<actual>.empty?: failed.\n $<actual>: \"SOS\""
398
401
  FAIL!(errmsg) { ok {"SOS"}.empty? }
399
402
  errmsg = "$<actual>.nil?: failed.\n $<actual>: \"\""
@@ -401,7 +404,7 @@ END
401
404
  errmsg = "$<actual>.is_a?(Integer): failed.\n $<actual>: 3.14"
402
405
  FAIL!(errmsg) { ok {3.14}.is_a?(Integer) }
403
406
  end
404
- it "[!4objh] is available with NOT." do
407
+ test_subject "[!4objh] is available with NOT." do
405
408
  ok {"SOS"}.NOT.empty?
406
409
  ok {"SOS"}.NOT.nil?
407
410
  ok {"SOS"}.NOT.is_a?(Integer)
@@ -412,15 +415,15 @@ END
412
415
  errmsg = "$<actual>.is_a?(Integer) == false: failed.\n $<actual>: 1"
413
416
  FAIL!(errmsg) { ok {1}.NOT.is_a?(Integer) }
414
417
  end
415
- it "[!sljta] raises TypeError when boolean method returned non-boolean value." do
418
+ test_subject "[!sljta] raises TypeError when boolean method returned non-boolean value." do
416
419
  errmsg = "ok(): String#sos?() expected to return true or false, but got 1."
417
420
  ERROR!(TypeError, errmsg) do
418
- s = "SOS"
421
+ s = "SOS".dup
419
422
  def s.sos?; return 1; end
420
423
  ok {s}.sos?
421
424
  end
422
425
  end
423
- it "[!5y9iu] reports args and kwargs in error message." do
426
+ test_subject "[!5y9iu] reports args and kwargs in error message." do
424
427
  if RUBY_VERSION >= "2.7"
425
428
  str = '123, "abc", x: "45", y: true'
426
429
  else
@@ -429,7 +432,7 @@ END
429
432
  errmsg = "$<actual>.bla?(#{str}): failed.\n"\
430
433
  " $<actual>: \"Blabla\""
431
434
  FAIL!(errmsg) do
432
- s = "Blabla"
435
+ s = "Blabla".dup
433
436
  def s.bla?(*a, **k); return false; end
434
437
  ok {s}.bla?(123, "abc", x: "45", y: true)
435
438
  end
@@ -439,12 +442,12 @@ END
439
442
  actual = obj.instance_eval {
440
443
  __inspect_args_and_kwargs([123, "abc"], c: "45", d: true)
441
444
  }
442
- assert_eq actual, expected
445
+ test_eq? actual, expected
443
446
  end
444
447
  end
445
448
 
446
- describe '#raise?' do
447
- it "[!y1b28] returns exception object." do
449
+ test_target 'Oktest::AssertionObject#raise?' do
450
+ test_subject "[!y1b28] returns exception object." do
448
451
  pr = proc { "SOS".sos }
449
452
  if RUBY_VERSION >= "3.3"
450
453
  expected = "undefined method `sos' for an instance of String"
@@ -457,10 +460,10 @@ END
457
460
  expected = "undefined method `sos' for \"SOS\":String"
458
461
  end
459
462
  ret = ok {pr}.raise?(NoMethodError, expected)
460
- assert_eq ret.class, NoMethodError
461
- assert_eq ret.message, expected
463
+ test_eq? ret.class, NoMethodError
464
+ test_eq? ret.message, expected
462
465
  end
463
- it "[!2rnni] 1st argument can be error message string or rexp." do
466
+ test_subject "[!2rnni] 1st argument can be error message string or rexp." do
464
467
  pr = proc { raise "something wrong" }
465
468
  PASS! { ok {pr}.raise?("something wrong") }
466
469
  PASS! { ok {pr}.raise?(/something wrong/) }
@@ -468,31 +471,31 @@ END
468
471
  pr = proc { raise StandardError, "something wrong" }
469
472
  ERROR!(StandardError, "something wrong") { ok {pr}.raise?("something wrong") }
470
473
  end
471
- describe '[!dpv5g] when `ok{}` called...' do
472
- it "[!yps62] assertion passes when expected exception raised." do
474
+ test_target 'Oktest::AssertionObject[!dpv5g] when `ok{}` called...' do
475
+ test_subject "[!yps62] assertion passes when expected exception raised." do
473
476
  pr = proc { "SOS".sub() }
474
477
  PASS! { ok {pr}.raise?(ArgumentError) }
475
478
  pr = proc { 1/0 }
476
479
  PASS! { ok {pr}.raise?(ZeroDivisionError) }
477
480
  end
478
- it "[!wbwdo] raises assertion error when nothing raised." do
481
+ test_subject "[!wbwdo] raises assertion error when nothing raised." do
479
482
  pr = proc { nil }
480
483
  errmsg = "Expected ArgumentError to be raised but nothing raised."
481
484
  FAIL!(errmsg) { ok {pr}.raise?(ArgumentError) }
482
485
  end
483
- it "[!lq6jv] compares error class with '==' operator, not '.is_a?'." do
486
+ test_subject "[!lq6jv] compares error class with '==' operator, not '.is_a?'." do
484
487
  pr = proc { "SOS".foobar }
485
488
  PASS! { ok {pr}.raise?(NoMethodError) }
486
- assert NoMethodError < NameError, "NoMethodError extends NameError"
489
+ test_ok? NoMethodError < NameError, msg: "NoMethodError extends NameError"
487
490
  ERROR!(NoMethodError, /foobar/) { ok {pr}.raise?(NameError) }
488
491
  end
489
- it "[!hwg0z] compares error class with '.is_a?' if '_subclass: true' specified." do
492
+ test_subject "[!hwg0z] compares error class with '.is_a?' if '_subclass: true' specified." do
490
493
  pr = proc { "SOS".foobar }
491
494
  PASS! { ok {pr}.raise?(NoMethodError, nil) }
492
- assert NoMethodError < NameError, "NoMethodError extends NameError"
495
+ test_ok? NoMethodError < NameError, msg: "NoMethodError extends NameError"
493
496
  PASS! { ok {pr}.raise?(NameError, nil, _subclass: true) }
494
497
  end
495
- it "[!4n3ed] reraises if exception is not matched to specified error class." do
498
+ test_subject "[!4n3ed] reraises if exception is not matched to specified error class." do
496
499
  pr = proc { "SOS".sos }
497
500
  if RUBY_VERSION >= "3.3"
498
501
  errmsg = "undefined method `sos' for an instance of String"
@@ -506,7 +509,7 @@ END
506
509
  end
507
510
  ERROR!(NoMethodError, errmsg) { ok {pr}.raise?(ArgumentError) }
508
511
  end
509
- it "[!tpxlv] accepts string or regexp as error message." do
512
+ test_subject "[!tpxlv] accepts string or regexp as error message." do
510
513
  if RUBY_VERSION >= "3.1"
511
514
  expected = "undefined method `sos' for \"SOS\":String\n"\
512
515
  "\n"\
@@ -525,7 +528,7 @@ END
525
528
  end
526
529
  PASS! { ok {pr}.raise?(NoMethodError, expected) }
527
530
  end
528
- it "[!4c6x3] not check exception class when nil specified as errcls." do
531
+ test_subject "[!4c6x3] not check exception class when nil specified as errcls." do
529
532
  pr = proc { foobar() }
530
533
  PASS! { ok {pr}.raise?(nil, /undefined method `foobar'/) }
531
534
  pr = proc { 1/0 }
@@ -533,31 +536,31 @@ END
533
536
  pr = proc { 1/0 }
534
537
  PASS! { ok {pr}.raise?(nil) }
535
538
  end
536
- it "[!dq97o] if block given, call it with exception object." do
539
+ test_subject "[!dq97o] if block given, call test_subject with exception object." do
537
540
  pr = proc { "SOS".foobar }
538
541
  exc1 = nil
539
542
  ok {pr}.raise?(NoMethodError) do |exc2|
540
543
  exc1 = exc2
541
544
  end
542
- assert exc1 != nil
543
- assert exc1.equal?(pr.exc)
545
+ test_ok? exc1 != nil
546
+ test_ok? exc1.equal?(pr.exc)
544
547
  end
545
548
  end
546
- describe '[!qkr3h] when `ok{}.NOT` called...' do
547
- it "[!cownv] not support error message." do
549
+ test_target 'Oktest::AssertionObject[!qkr3h] when `ok{}.NOT` called...' do
550
+ test_subject "[!cownv] not support error message." do
548
551
  pr = proc { raise "some error" }
549
552
  errmsg = "\"some error\": NOT.raise?() can't take errmsg."
550
553
  ERROR!(ArgumentError, errmsg) { ok {pr}.NOT.raise?(Exception, "some error") }
551
554
  end
552
- it "[!spzy2] is available with NOT." do
555
+ test_subject "[!spzy2] is available with NOT." do
553
556
  pr = proc { "SOS".length }
554
557
  PASS! { ok {pr}.NOT.raise? }
555
558
  end
556
- it "[!a1a40] assertion passes when nothing raised." do
559
+ test_subject "[!a1a40] assertion passes when nothing raised." do
557
560
  pr = proc { nil }
558
561
  PASS! { ok {pr}.NOT.raise? }
559
562
  end
560
- it "[!61vtv] assertion fails when specified exception raised." do
563
+ test_subject "[!61vtv] assertion fails when specified exception raised." do
561
564
  pr = proc { "SOS".foobar }
562
565
  if RUBY_VERSION >= "3.3"
563
566
  errmsg = "NoMethodError should not be raised but got #<NoMethodError: undefined method `foobar' for an instance of String>."
@@ -571,36 +574,36 @@ END
571
574
  end
572
575
  FAIL!(errmsg) { ok {pr}.NOT.raise?(NoMethodError) }
573
576
  end
574
- it "[!smprc] compares error class with '==' operator, not '.is_a?'." do
577
+ test_subject "[!smprc] compares error class with '==' operator, not '.is_a?'." do
575
578
  pr = proc { "SOS".foobar }
576
579
  FAIL!(/foobar/) { ok {pr}.NOT.raise?(NoMethodError) }
577
- assert NoMethodError < NameError, "NoMethodError extends NameError"
580
+ test_ok? NoMethodError < NameError, msg: "NoMethodError extends NameError"
578
581
  ERROR!(NoMethodError) { ok {pr}.NOT.raise?(NameError) }
579
582
  end
580
- it "[!34nd8] compares error class with '.is_a?' if '_subclass: true' specified." do
583
+ test_subject "[!34nd8] compares error class with '.is_a?' if '_subclass: true' specified." do
581
584
  pr = proc { "SOS".foobar }
582
585
  FAIL!(/foobar/) { ok {pr}.NOT.raise?(NoMethodError, nil) }
583
- assert NoMethodError < NameError, "NoMethodError extends NameError"
586
+ test_ok? NoMethodError < NameError, msg: "NoMethodError extends NameError"
584
587
  FAIL!(/foobar/) { ok {pr}.NOT.raise?(NameError, nil, _subclass: true) }
585
588
  end
586
- it "[!shxne] reraises exception if different from specified error class." do
589
+ test_subject "[!shxne] reraises exception if different from specified error class." do
587
590
  pr = proc { 1/0 }
588
591
  errmsg = "divided by 0"
589
592
  ERROR!(ZeroDivisionError, errmsg) { ok {pr}.NOT.raise?(NoMethodError) }
590
593
  end
591
- it "[!36032] re-raises exception when errcls is nil." do
594
+ test_subject "[!36032] re-raises exception when errcls is nil." do
592
595
  pr = proc { foobar() }
593
596
  ERROR!(NoMethodError) { ok {pr}.NOT.raise?(nil) }
594
597
  pr = proc { 1/0 }
595
598
  ERROR!(ZeroDivisionError) { ok {pr}.NOT.raise?(nil) }
596
599
  end
597
600
  end
598
- it "[!vnc6b] sets exception object into '#exc' attribute." do
601
+ test_subject "[!vnc6b] sets exception object into '#exc' attribute." do
599
602
  pr = proc { "SOS".foobar }
600
- assert !pr.respond_to?(:exc)
603
+ test_ok? !pr.respond_to?(:exc)
601
604
  PASS! { ok {pr}.raise?(NoMethodError) }
602
- assert pr.respond_to?(:exc)
603
- assert pr.exc.is_a?(NoMethodError)
605
+ test_ok? pr.respond_to?(:exc)
606
+ test_ok? pr.exc.is_a?(NoMethodError)
604
607
  if RUBY_VERSION >= "3.3"
605
608
  errmsg = "undefined method `foobar' for an instance of String"
606
609
  elsif RUBY_VERSION =~ /^3\.1\./
@@ -611,18 +614,18 @@ END
611
614
  else
612
615
  errmsg = "undefined method `foobar' for \"SOS\":String"
613
616
  end
614
- assert_eq pr.exc.message, errmsg
617
+ test_eq? pr.exc.message, errmsg
615
618
  #
616
619
  pr = proc { nil }
617
- assert !pr.respond_to?(:exc)
620
+ test_ok? !pr.respond_to?(:exc)
618
621
  PASS! { ok {pr}.NOT.raise?(NoMethodError) }
619
- assert pr.respond_to?(:exc)
620
- assert_eq pr.exc, nil
622
+ test_ok? pr.respond_to?(:exc)
623
+ test_eq? pr.exc, nil
621
624
  end
622
625
  end
623
626
 
624
- describe '#raise!' do
625
- it "[!8k6ee] compares error class by '.is_a?' instead of '=='." do
627
+ test_target 'Oktest::AssertionObject#raise!' do
628
+ test_subject "[!8k6ee] compares error class by '.is_a?' instead of '=='." do
626
629
  pr = proc { "SOS".foobar }
627
630
  PASS! { ok {pr}.raise!(NoMethodError) }
628
631
  PASS! { ok {pr}.raise!(NameError) }
@@ -630,47 +633,59 @@ END
630
633
  end
631
634
  end
632
635
 
633
- describe '#thrown?' do
634
- it "[!w7935] raises ArgumentError when arg of 'thrown?()' is nil." do
636
+ test_target 'Oktest::AssertionObject#raise_nothing?' do
637
+ test_subject "[!leqey] do nothing without calling proc object." do
638
+ pr = proc { 1/0 }
639
+ ERROR!(ZeroDivisionError) { ok {pr}.raise_nothing? }
640
+ end
641
+ test_subject "[!a61b7] not available with `.NOT`." do
642
+ pr = proc { nil }
643
+ errmsg = "`raise_nothing?()` is not available with `.NOT`."
644
+ ERROR!(Oktest::OktestError, errmsg) { ok {pr}.NOT.raise_nothing? }
645
+ end
646
+ end
647
+
648
+ test_target 'Oktest::AssertionObject#thrown?' do
649
+ test_subject "[!w7935] raises ArgumentError when arg of 'thrown?()' is nil." do
635
650
  ERROR!(ArgumentError, "throw?(nil): expected tag required.") do
636
651
  pr = proc { throw :sym1 }
637
652
  ok {pr}.throw?(nil)
638
653
  end
639
654
  end
640
- it "[!lglzr] assertion passes when expected symbol thrown." do
655
+ test_subject "[!lglzr] assertion passes when expected symbol thrown." do
641
656
  pr = proc { throw :sym2 }
642
657
  ok {pr}.throw?(:sym2)
643
- assert true, "ok"
658
+ test_ok? true, msg: "ok"
644
659
  end
645
- it "[!gf9nx] assertion fails when thrown tag is equal to but not same as expected." do
660
+ test_subject "[!gf9nx] assertion fails when thrown tag is equal to but not same as expected." do
646
661
  pr = proc { throw "sym" }
647
662
  expected = ("Thrown tag \"sym\" is equal to but not same as expected.\n"\
648
663
  " (`\"sym\".equal?(\"sym\")` should be true but not.)")
649
- FAIL!(expected) { ok {pr}.throw?("sym") }
664
+ FAIL!(expected) { ok {pr}.throw?("sym".dup) }
650
665
  end
651
- it "[!flgwy] assertion fails when thrown tag is different from expectd." do
666
+ test_subject "[!flgwy] assertion fails when thrown tag is different from expectd." do
652
667
  FAIL!(":sym4 should be thrown but actually :sym9 thrown.") do
653
668
  pr = proc { throw :sym9 }
654
669
  ok {pr}.throw?(:sym4)
655
670
  end
656
671
  end
657
- it "[!9ik3x] assertion fails when nothing thrown." do
672
+ test_subject "[!9ik3x] assertion fails when nothing thrown." do
658
673
  pr = proc { nil }
659
674
  expected = ":sym5 should be thrown but nothing thrown."
660
675
  FAIL!(expected) { ok {pr}.throw?(:sym5) }
661
676
  end
662
- it "[!m03vq] raises ArgumentError when non-nil arg passed to 'NOT.thrown?()'." do
677
+ test_subject "[!m03vq] raises ArgumentError when non-nil arg passed to 'NOT.thrown?()'." do
663
678
  ERROR!(ArgumentError, "NOT.throw?(:sym6): argument should be nil.") do
664
679
  pr = proc { nil }
665
680
  ok {pr}.NOT.throw?(:sym6)
666
681
  end
667
682
  end
668
- it "[!kxizg] assertion fails when something thrown in 'NOT.throw?()'." do
683
+ test_subject "[!kxizg] assertion fails when something thrown in 'NOT.throw?()'." do
669
684
  pr = proc { throw :sym7 }
670
685
  expected = "Nothing should be thrown but :sym7 thrown."
671
686
  FAIL!(expected) { ok {pr}.NOT.throw?(nil) }
672
687
  end
673
- it "[!zq9h6] returns self when passed." do
688
+ test_subject "[!zq9h6] returns self when passed." do
674
689
  pr = proc { throw :sym8 }
675
690
  should_return_self { ok {pr}.throw?(:sym8) }
676
691
  #
@@ -679,17 +694,17 @@ END
679
694
  end
680
695
  end
681
696
 
682
- describe '#in?' do
683
- it "[!jzoxg] returns self when passed." do
697
+ test_target 'Oktest::AssertionObject#in?' do
698
+ test_subject "[!jzoxg] returns self when passed." do
684
699
  should_return_self { ok {3}.in?(1..5) }
685
700
  end
686
- it "[!9rm8g] raises assertion error when failed." do
701
+ test_subject "[!9rm8g] raises assertion error when failed." do
687
702
  errmsg = "$<expected>.include?($<actual>): failed.\n"\
688
703
  " $<actual>: 3\n"\
689
704
  " $<expected>: 1..2"
690
705
  FAIL!(errmsg) { ok {3}.in?(1..2) }
691
706
  end
692
- it "[!singl] is available with NOT." do
707
+ test_subject "[!singl] is available with NOT." do
693
708
  PASS! { ok {3}.NOT.in?(1..2) }
694
709
  errmsg = "$<expected>.include?($<actual>) == false: failed.\n"\
695
710
  " $<actual>: 3\n"\
@@ -698,17 +713,17 @@ END
698
713
  end
699
714
  end
700
715
 
701
- describe '#attr()' do
702
- it "[!lz3lb] returns self when passed." do
716
+ test_target 'Oktest::AssertionObject#attr()' do
717
+ test_subject "[!lz3lb] returns self when passed." do
703
718
  should_return_self { ok {"SOS"}.attr(:length, 3) }
704
719
  end
705
- it "[!79tgn] raises assertion error when failed." do
720
+ test_subject "[!79tgn] raises assertion error when failed." do
706
721
  errmsg = "$<actual>.size == $<expected>: failed.\n"\
707
722
  " $<actual>.size: 3\n"\
708
723
  " $<expected>: 2"
709
724
  FAIL!(errmsg) { ok {"SOS"}.attr(:size, 2) }
710
725
  end
711
- it "[!cqnu3] is available with NOT." do
726
+ test_subject "[!cqnu3] is available with NOT." do
712
727
  PASS! { ok {"SOS"}.NOT.attr(:length, 2) }
713
728
  errmsg = "$<actual>.size != $<expected>: failed.\n"\
714
729
  " $<actual>.size: 3\n"\
@@ -717,17 +732,17 @@ END
717
732
  end
718
733
  end
719
734
 
720
- describe '#attrs()' do
721
- it "[!rtq9f] returns self when passed." do
735
+ test_target 'Oktest::AssertionObject#attrs()' do
736
+ test_subject "[!rtq9f] returns self when passed." do
722
737
  should_return_self { ok {"SOS"}.attrs(:length=>3, :size=>3) }
723
738
  end
724
- it "[!7ta0s] raises assertion error when failed." do
739
+ test_subject "[!7ta0s] raises assertion error when failed." do
725
740
  errmsg = "$<actual>.size == $<expected>: failed.\n"\
726
741
  " $<actual>.size: 3\n"\
727
742
  " $<expected>: 2"
728
743
  FAIL!(errmsg) { ok {"SOS"}.attrs(:size=>2) }
729
744
  end
730
- it "[!s0pnk] is available with NOT." do
745
+ test_subject "[!s0pnk] is available with NOT." do
731
746
  PASS! { ok {"SOS"}.NOT.attrs(:length=>2) }
732
747
  errmsg = "$<actual>.size != $<expected>: failed.\n"\
733
748
  " $<actual>.size: 3\n"\
@@ -736,19 +751,19 @@ END
736
751
  end
737
752
  end
738
753
 
739
- describe '#keyval()' do
740
- it "[!byebv] returns self when passed." do
754
+ test_target 'Oktest::AssertionObject#keyval()' do
755
+ test_subject "[!byebv] returns self when passed." do
741
756
  d = {'a'=>1}
742
757
  should_return_self { ok {d}.keyval('a', 1) }
743
758
  end
744
- it "[!vtrlz] raises assertion error when failed." do
759
+ test_subject "[!vtrlz] raises assertion error when failed." do
745
760
  d = {'a'=>1}
746
761
  errmsg = "$<actual>[\"a\"] == $<expected>: failed.\n"\
747
762
  " $<actual>[\"a\"]: 1\n"\
748
763
  " $<expected>: \"1\""
749
764
  FAIL!(errmsg) { ok {d}.keyval('a', '1') }
750
765
  end
751
- it "[!mmpwz] is available with NOT." do
766
+ test_subject "[!mmpwz] is available with NOT." do
752
767
  d = {'a'=>1}
753
768
  PASS! { ok {d}.NOT.keyval('a', '1') }
754
769
  errmsg = "$<actual>[\"a\"] != $<expected>: failed.\n"\
@@ -758,19 +773,19 @@ END
758
773
  end
759
774
  end
760
775
 
761
- describe '#keyvals()' do
762
- it "[!vtw22] returns self when passed." do
776
+ test_target 'Oktest::AssertionObject#keyvals()' do
777
+ test_subject "[!vtw22] returns self when passed." do
763
778
  d = {'a'=>1, 'b'=>2}
764
779
  should_return_self { ok {d}.keyvals('a'=>1, 'b'=>2) }
765
780
  end
766
- it "[!fyvmn] raises assertion error when failed." do
781
+ test_subject "[!fyvmn] raises assertion error when failed." do
767
782
  d = {'a'=>1, 'b'=>2}
768
783
  errmsg = "$<actual>[\"a\"] == $<expected>: failed.\n"\
769
784
  " $<actual>[\"a\"]: 1\n"\
770
785
  " $<expected>: \"1\""
771
786
  FAIL!(errmsg) { ok {d}.keyvals('a'=>'1', 'b'=>2) }
772
787
  end
773
- it "[!js2j2] is available with NOT." do
788
+ test_subject "[!js2j2] is available with NOT." do
774
789
  d = {'a'=>1, 'b'=>2}
775
790
  PASS! { ok {d}.NOT.keyvals('a'=>'1') }
776
791
  errmsg = "$<actual>[\"a\"] != $<expected>: failed.\n"\
@@ -780,17 +795,17 @@ END
780
795
  end
781
796
  end
782
797
 
783
- describe '#length' do
784
- it "[!l9vnv] returns self when passed." do
798
+ test_target 'Oktest::AssertionObject#length' do
799
+ test_subject "[!l9vnv] returns self when passed." do
785
800
  should_return_self { ok {"SOS"}.length(3) }
786
801
  end
787
- it "[!1y787] raises assertion error when failed." do
802
+ test_subject "[!1y787] raises assertion error when failed." do
788
803
  errmsg = "$<actual>.length == 5: failed.\n"\
789
804
  " $<actual>.length: 3\n"\
790
805
  " $<actual>: \"SOS\""
791
806
  FAIL!(errmsg) { ok {"SOS"}.length(5) }
792
807
  end
793
- it "[!kryx2] is available with NOT." do
808
+ test_subject "[!kryx2] is available with NOT." do
794
809
  PASS! { ok {"SOS"}.NOT.length(5) }
795
810
  errmsg = "$<actual>.length != 3: failed.\n"\
796
811
  " $<actual>.length: 3\n"\
@@ -799,16 +814,16 @@ END
799
814
  end
800
815
  end
801
816
 
802
- describe '#truthy?' do
803
- it "[!nhmuk] returns self when passed." do
817
+ test_target 'Oktest::AssertionObject#truthy?' do
818
+ test_subject "[!nhmuk] returns self when passed." do
804
819
  should_return_self { ok {""}.truthy? }
805
820
  end
806
- it "[!3d94h] raises assertion error when failed." do
821
+ test_subject "[!3d94h] raises assertion error when failed." do
807
822
  errmsg = "!!$<actual> == true: failed.\n"\
808
823
  " $<actual>: nil"
809
824
  FAIL!(errmsg) { ok {nil}.truthy? }
810
825
  end
811
- it "[!8rmgp] is available with NOT." do
826
+ test_subject "[!8rmgp] is available with NOT." do
812
827
  PASS! { ok {nil}.NOT.truthy? }
813
828
  errmsg = "!!$<actual> != true: failed.\n"\
814
829
  " $<actual>: 0"
@@ -816,16 +831,16 @@ END
816
831
  end
817
832
  end
818
833
 
819
- describe '#falsy?' do
820
- it "[!w1vm6] returns self when passed." do
834
+ test_target 'Oktest::AssertionObject#falsy?' do
835
+ test_subject "[!w1vm6] returns self when passed." do
821
836
  should_return_self { ok {nil}.falsy? }
822
837
  end
823
- it "[!7o48g] raises assertion error when failed." do
838
+ test_subject "[!7o48g] raises assertion error when failed." do
824
839
  errmsg = "!!$<actual> == false: failed.\n"\
825
840
  " $<actual>: 0"
826
841
  FAIL!(errmsg) { ok {0}.falsy? }
827
842
  end
828
- it "[!i44q6] is available with NOT." do
843
+ test_subject "[!i44q6] is available with NOT." do
829
844
  PASS! { ok {0}.NOT.falsy? }
830
845
  errmsg = "!!$<actual> != false: failed.\n"\
831
846
  " $<actual>: nil"
@@ -833,16 +848,16 @@ END
833
848
  end
834
849
  end
835
850
 
836
- describe '#file_exist?' do
837
- it "[!6bcpp] returns self when passed." do
851
+ test_target 'Oktest::AssertionObject#file_exist?' do
852
+ test_subject "[!6bcpp] returns self when passed." do
838
853
  should_return_self { ok {__FILE__}.file_exist? }
839
854
  end
840
- it "[!69bs0] raises assertion error when failed." do
855
+ test_subject "[!69bs0] raises assertion error when failed." do
841
856
  errmsg = "File.file?($<actual>): failed.\n"\
842
857
  " $<actual>: \".\""
843
858
  FAIL!(errmsg) { ok {'.'}.file_exist? }
844
859
  end
845
- it "[!r1mze] is available with NOT." do
860
+ test_subject "[!r1mze] is available with NOT." do
846
861
  PASS! { ok {'.'}.NOT.file_exist? }
847
862
  errmsg = "File.file?($<actual>) == false: failed.\n"\
848
863
  " $<actual>: \"#{__FILE__}\""
@@ -850,16 +865,16 @@ END
850
865
  end
851
866
  end
852
867
 
853
- describe '#dir_exist?' do
854
- it "[!8qe7u] returns self when passed." do
868
+ test_target 'Oktest::AssertionObject#dir_exist?' do
869
+ test_subject "[!8qe7u] returns self when passed." do
855
870
  should_return_self { ok {'.'}.dir_exist? }
856
871
  end
857
- it "[!vfh7a] raises assertion error when failed." do
872
+ test_subject "[!vfh7a] raises assertion error when failed." do
858
873
  errmsg = "File.directory?($<actual>): failed.\n"\
859
874
  " $<actual>: \"#{__FILE__}\""
860
875
  FAIL!(errmsg) { ok {__FILE__}.dir_exist? }
861
876
  end
862
- it "[!qtllp] is available with NOT." do
877
+ test_subject "[!qtllp] is available with NOT." do
863
878
  PASS! { ok {__FILE__}.NOT.dir_exist? }
864
879
  errmsg = "File.directory?($<actual>) == false: failed.\n"\
865
880
  " $<actual>: \".\""
@@ -867,20 +882,20 @@ END
867
882
  end
868
883
  end
869
884
 
870
- describe '#symlink_exist?' do
871
- def with_symlink
885
+ test_target 'Oktest::AssertionObject#symlink_exist?' do
886
+ def self.with_symlink(&b)
872
887
  linkname = "_sym_#{rand().to_s[2...7]}"
873
888
  File.symlink(__FILE__, linkname)
874
- yield linkname
889
+ b.call linkname
875
890
  ensure
876
891
  File.unlink(linkname)
877
892
  end
878
- it "[!ugfi3] returns self when passed." do
893
+ test_subject "[!ugfi3] returns self when passed." do
879
894
  with_symlink do |linkname|
880
895
  should_return_self { ok {linkname}.symlink_exist? }
881
896
  end
882
897
  end
883
- it "[!qwngl] raises assertion error when failed." do
898
+ test_subject "[!qwngl] raises assertion error when failed." do
884
899
  with_symlink do |linkname|
885
900
  errmsg = "File.symlink?($<actual>): failed.\n"\
886
901
  " $<actual>: \"_not_exist\""
@@ -890,7 +905,7 @@ END
890
905
  FAIL!(errmsg) { ok {'.'}.symlink_exist? }
891
906
  end
892
907
  end
893
- it "[!cgpbt] is available with NOT." do
908
+ test_subject "[!cgpbt] is available with NOT." do
894
909
  with_symlink do |linkname|
895
910
  PASS! { ok {'_not_exist'}.NOT.symlink_exist? }
896
911
  PASS! { ok {'.'}.NOT.symlink_exist? }
@@ -901,16 +916,16 @@ END
901
916
  end
902
917
  end
903
918
 
904
- describe '#not_exist?' do
905
- it "[!1ujag] returns self when passed." do
919
+ test_target 'Oktest::AssertionObject#not_exist?' do
920
+ test_subject "[!1ujag] returns self when passed." do
906
921
  should_return_self { ok {'_not_exist'}.not_exist? }
907
922
  end
908
- it "[!ja84s] raises assertion error when failed." do
923
+ test_subject "[!ja84s] raises assertion error when failed." do
909
924
  errmsg = "File.exist?($<actual>) == false: failed.\n"\
910
925
  " $<actual>: \".\""
911
926
  FAIL!(errmsg) { ok {'.'}.not_exist? }
912
927
  end
913
- it "[!to5z3] is available with NOT." do
928
+ test_subject "[!to5z3] is available with NOT." do
914
929
  PASS! { ok {'.'}.NOT.not_exist? }
915
930
  errmsg = "File.exist?($<actual>): failed.\n"\
916
931
  " $<actual>: \"_not_exist\""
@@ -918,59 +933,59 @@ END
918
933
  end
919
934
  end
920
935
 
921
- describe '#JSON()' do
922
- it "[!n0k03] creates JsonMatcher object." do
936
+ test_target 'Oktest::AssertionObject#JSON()' do
937
+ test_subject "[!n0k03] creates JsonMatcher object." do
923
938
  o = JSON({})
924
- assert_eq o.class, Oktest::JsonMatcher
939
+ test_eq? o.class, Oktest::JsonMatcher
925
940
  end
926
941
  end
927
942
 
928
- describe '#Enum()' do
929
- it "[!fbfr0] creates Enum object which is a subclass of Set." do
943
+ test_target 'Oktest::AssertionObject#Enum()' do
944
+ test_subject "[!fbfr0] creates Enum object which is a subclass of Set." do
930
945
  o = Enum("a", "b", "c")
931
- assert_eq o.class, Oktest::JsonMatcher::Enum
932
- assert o.class < Set
933
- assert_eq (o === "a"), true
934
- assert_eq (o === "b"), true
935
- assert_eq (o === "c"), true
936
- assert_eq (o === "d"), false
946
+ test_eq? o.class, Oktest::JsonMatcher::Enum
947
+ test_ok? o.class < Set
948
+ test_eq? (o === "a"), true
949
+ test_eq? (o === "b"), true
950
+ test_eq? (o === "c"), true
951
+ test_eq? (o === "d"), false
937
952
  end
938
953
  end
939
954
 
940
- describe '#Bool()' do
941
- it "[!vub5j] creates a set of true and false." do
942
- assert_eq Bool().class, Oktest::JsonMatcher::Enum
943
- assert Bool() === true
944
- assert Bool() === false
945
- assert_eq (Bool() === 1), false
946
- assert_eq (Bool() === 0), false
955
+ test_target 'Oktest::AssertionObject#Bool()' do
956
+ test_subject "[!vub5j] creates a set of true and false." do
957
+ test_eq? Bool().class, Oktest::JsonMatcher::Enum
958
+ test_ok? Bool() === true
959
+ test_ok? Bool() === false
960
+ test_eq? (Bool() === 1), false
961
+ test_eq? (Bool() === 0), false
947
962
  end
948
963
  end
949
964
 
950
- describe '#OR()' do
951
- it "[!9e8im] creates `OR` object." do
965
+ test_target 'Oktest::AssertionObject#OR()' do
966
+ test_subject "[!9e8im] creates `OR` object." do
952
967
  o = OR(1, 2, 3)
953
- assert_eq o.class, Oktest::JsonMatcher::OR
968
+ test_eq? o.class, Oktest::JsonMatcher::OR
954
969
  end
955
970
  end
956
971
 
957
- describe '#AND()' do
958
- it "[!38jln] creates `AND` object." do
972
+ test_target 'Oktest::AssertionObject#AND()' do
973
+ test_subject "[!38jln] creates `AND` object." do
959
974
  o = AND(4, 5, 6)
960
- assert_eq o.class, Oktest::JsonMatcher::AND
975
+ test_eq? o.class, Oktest::JsonMatcher::AND
961
976
  end
962
977
  end
963
978
 
964
- describe '#Length()' do
965
- it "[!qqas3] creates Length object." do
979
+ test_target 'Oktest::AssertionObject#Length()' do
980
+ test_subject "[!qqas3] creates Length object." do
966
981
  o = Length(3)
967
- assert_eq o.class, Oktest::JsonMatcher::Length
982
+ test_eq? o.class, Oktest::JsonMatcher::Length
968
983
  end
969
984
  end
970
985
 
971
- describe '#Any()' do
972
- it "[!dlo1o] creates an 'Any' object." do
973
- assert_eq Any().class, Oktest::JsonMatcher::Any
986
+ test_target 'Oktest::AssertionObject#Any()' do
987
+ test_subject "[!dlo1o] creates an 'Any' object." do
988
+ test_eq? Any().class, Oktest::JsonMatcher::Any
974
989
  end
975
990
  end
976
991