Skip to content

Commit d22face

Browse files
committed
More ArrayLikeBlock tests
1 parent 222334a commit d22face

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

test/varnamedtuple.jl

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -562,6 +562,30 @@ Base.size(st::SizedThing) = st.size
562562
@test @inferred(getindex(vnt, @varname(y.z[2:3, 2:3]))) == val
563563
@test haskey(vnt, @varname(y.z[4:5, 2:3]))
564564
@test @inferred(getindex(vnt, @varname(y.z[4:5, 2:3]))) == val
565+
566+
# A lot like above, but with extra indices that are not ranges.
567+
val = SizedThing((2, 2))
568+
vnt = VarNamedTuple()
569+
vnt = @inferred(setindex!!(vnt, val, @varname(y.z[2, 1:2, 3, 1:2, 4])))
570+
test_invariants(vnt)
571+
@test haskey(vnt, @varname(y.z[2, 1:2, 3, 1:2, 4]))
572+
@test @inferred(getindex(vnt, @varname(y.z[2, 1:2, 3, 1:2, 4]))) == val
573+
@test !haskey(vnt, @varname(y.z[2, 1, 3, 1, 4]))
574+
@test_throws expected_err getindex(vnt, @varname(y.z[2, 1, 3, 1, 4]))
575+
576+
vnt = @inferred(setindex!!(vnt, val, @varname(y.z[2, 2:3, 3, 2:3, 4])))
577+
test_invariants(vnt)
578+
@test haskey(vnt, @varname(y.z[2, 2:3, 3, 2:3, 4]))
579+
@test @inferred(getindex(vnt, @varname(y.z[2, 2:3, 3, 2:3, 4]))) == val
580+
@test !haskey(vnt, @varname(y.z[2, 1:2, 3, 1:2, 4]))
581+
@test_throws BoundsError getindex(vnt, @varname(y.z[2, 1:2, 3, 1:2, 4]))
582+
583+
vnt = @inferred(setindex!!(vnt, val, @varname(y.z[3, 2:3, 3, 2:3, 4])))
584+
test_invariants(vnt)
585+
@test haskey(vnt, @varname(y.z[2, 2:3, 3, 2:3, 4]))
586+
@test @inferred(getindex(vnt, @varname(y.z[2, 2:3, 3, 2:3, 4]))) == val
587+
@test haskey(vnt, @varname(y.z[3, 2:3, 3, 2:3, 4]))
588+
@test @inferred(getindex(vnt, @varname(y.z[3, 2:3, 3, 2:3, 4]))) == val
565589
end
566590
end
567591

0 commit comments

Comments
 (0)