add #dig tests

This commit is contained in:
Yukihiro "Matz" Matsumoto
2016-03-23 12:34:32 +09:00
parent daf83946bb
commit 817b884343
3 changed files with 20 additions and 0 deletions
+7
View File
@@ -310,3 +310,10 @@ assert("Array#to_ary") do
assert_equal [], [].to_ary
assert_equal [1,2,3], [1,2,3].to_ary
end
assert("Array#dig") do
h = [[[1]], 0]
assert_equal(1, h.dig(0, 0, 0))
assert_nil(h.dig(2, 0))
assert_raise(TypeError) {h.dig(:a)}
end
+6
View File
@@ -236,3 +236,9 @@ assert('Hash#>') do
assert_false(h2 > h1)
assert_false(h2 > h2)
end
assert("Hash#dig") do
h = {a:{b:{c:1}}}
assert_equal(1, h.dig(:a, :b, :c))
assert_nil(h.dig(:d))
end
+7
View File
@@ -148,3 +148,10 @@ assert('Struct#values_at') do
assert_equal ['io', 'aki'], a.values_at(1, 0)
assert_raise(IndexError) { a.values_at 2 }
end
assert("Struct#dig") do
a = Struct.new(:blue, :purple).new('aki', Struct.new(:red).new(1))
assert_equal 'aki', a.dig(:blue)
assert_equal 1, a.dig(:purple, :red)
assert_equal 1, a.dig(1, 0)
end