1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
##
# NilClass ISO Test
assert('NilClass', '15.2.4') do
assert_equal Class, NilClass.class
end
assert('NilClass', '15.2.4.1') do
assert_equal NilClass, nil.class
assert_false NilClass.method_defined? :new
end
assert('NilClass#&', '15.2.4.3.1') do
assert_false nil.&(true)
assert_false nil.&(nil)
end
assert('NilClass#^', '15.2.4.3.2') do
assert_true nil.^(true)
assert_false nil.^(false)
end
assert('NilClass#|', '15.2.4.3.3') do
assert_true nil.|(true)
assert_false nil.|(false)
end
assert('NilClass#nil?', '15.2.4.3.4') do
assert_true nil.nil?
end
assert('NilClass#to_s', '15.2.4.3.5') do
assert_equal '', nil.to_s
end
assert('safe navigation') do
assert_nil nil&.size
assert_equal 0, []&.size
end
|