add #dig tests

parent daf83946
......@@ -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
......@@ -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
......@@ -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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment