|
1 | 1 | @testset "base getvalue + hasvalue" begin
|
2 | 2 | @testset "basic NamedTuple" begin
|
3 |
| - nt = (a=[1], b=2, c=(x=3,), d=[1.0 0.5; 0.5 1.0]) |
| 3 | + nt = (a=[1], b=2, c=(x=3, y=[4], z=(; p=[(; q=5)])), d=[1.0 0.5; 0.5 1.0]) |
4 | 4 | @test hasvalue(nt, @varname(a))
|
5 | 5 | @test getvalue(nt, @varname(a)) == [1]
|
6 | 6 | @test hasvalue(nt, @varname(a[1]))
|
7 | 7 | @test getvalue(nt, @varname(a[1])) == 1
|
8 | 8 | @test hasvalue(nt, @varname(b))
|
9 | 9 | @test getvalue(nt, @varname(b)) == 2
|
10 | 10 | @test hasvalue(nt, @varname(c))
|
11 |
| - @test getvalue(nt, @varname(c)) == (x=3,) |
| 11 | + @test getvalue(nt, @varname(c)) == (x=3, y=[4], z=(p = [(; q=5)])) |
12 | 12 | @test hasvalue(nt, @varname(c.x))
|
13 | 13 | @test getvalue(nt, @varname(c.x)) == 3
|
| 14 | + @test hasvalue(nt, @varname(c.y)) |
| 15 | + @test getvalue(nt, @varname(c.y)) == [4] |
| 16 | + @test hasvalue(nt, @varname(c.y[1])) |
| 17 | + @test getvalue(nt, @varname(c.y[1])) == 4 |
| 18 | + @test hasvalue(nt, @varname(c.z)) |
| 19 | + @test getvalue(nt, @varname(c.z)) == (; p=[(; q=5)]) |
| 20 | + @test hasvalue(nt, @varname(c.z.p)) |
| 21 | + @test getvalue(nt, @varname(c.z.p)) == [(; q=5)] |
| 22 | + @test hasvalue(nt, @varname(c.z.p[1])) |
| 23 | + @test getvalue(nt, @varname(c.z.p[1])) == (; q=5) |
| 24 | + @test hasvalue(nt, @varname(c.z.p[1].q)) |
| 25 | + @test getvalue(nt, @varname(c.z.p[1].q)) == 5 |
14 | 26 | @test hasvalue(nt, @varname(d))
|
15 | 27 | @test getvalue(nt, @varname(d)) == [1.0 0.5; 0.5 1.0]
|
16 | 28 | @test hasvalue(nt, @varname(d[1, 1]))
|
|
27 | 39 | @test !hasvalue(nt, @varname(a[2]))
|
28 | 40 | @test !hasvalue(nt, @varname(a[1][1]))
|
29 | 41 | @test !hasvalue(nt, @varname(c.x[1]))
|
30 |
| - @test !hasvalue(nt, @varname(c.y)) |
| 42 | + @test !hasvalue(nt, @varname(c.y[2])) |
| 43 | + @test !hasvalue(nt, @varname(c.y.a)) |
| 44 | + @test !hasvalue(nt, @varname(c.zzzz)) |
31 | 45 | @test !hasvalue(nt, @varname(d[1, 3]))
|
32 | 46 | @test !hasvalue(nt, @varname(d[3, :]))
|
33 | 47 | end
|
|
37 | 51 | d = Dict(
|
38 | 52 | @varname(a) => [1],
|
39 | 53 | @varname(b) => 2,
|
40 |
| - @varname(c) => (x=3,), |
| 54 | + @varname(c) => (x=3, y=[4], z=(; p=[(; q=5)])), |
41 | 55 | @varname(d) => [1.0 0.5; 0.5 1.0],
|
42 | 56 | )
|
43 | 57 | @test hasvalue(d, @varname(a))
|
|
47 | 61 | @test hasvalue(d, @varname(b))
|
48 | 62 | @test getvalue(d, @varname(b)) == 2
|
49 | 63 | @test hasvalue(d, @varname(c))
|
50 |
| - @test getvalue(d, @varname(c)) == (x=3,) |
| 64 | + @test getvalue(d, @varname(c)) == (x=3, y=[4], z=(p = [(; q=5)])) |
51 | 65 | @test hasvalue(d, @varname(c.x))
|
52 | 66 | @test getvalue(d, @varname(c.x)) == 3
|
| 67 | + @test hasvalue(d, @varname(c.y)) |
| 68 | + @test getvalue(d, @varname(c.y)) == [4] |
| 69 | + @test hasvalue(d, @varname(c.y[1])) |
| 70 | + @test getvalue(d, @varname(c.y[1])) == 4 |
| 71 | + @test hasvalue(d, @varname(c.z)) |
| 72 | + @test getvalue(d, @varname(c.z)) == (; p=[(; q=5)]) |
| 73 | + @test hasvalue(d, @varname(c.z.p)) |
| 74 | + @test getvalue(d, @varname(c.z.p)) == [(; q=5)] |
| 75 | + @test hasvalue(d, @varname(c.z.p[1])) |
| 76 | + @test getvalue(d, @varname(c.z.p[1])) == (; q=5) |
| 77 | + @test hasvalue(d, @varname(c.z.p[1].q)) |
| 78 | + @test getvalue(d, @varname(c.z.p[1].q)) == 5 |
53 | 79 | @test hasvalue(d, @varname(d))
|
54 | 80 | @test getvalue(d, @varname(d)) == [1.0 0.5; 0.5 1.0]
|
55 | 81 | @test hasvalue(d, @varname(d[1, 1]))
|
|
66 | 92 | @test !hasvalue(d, @varname(a[2]))
|
67 | 93 | @test !hasvalue(d, @varname(a[1][1]))
|
68 | 94 | @test !hasvalue(d, @varname(c.x[1]))
|
69 |
| - @test !hasvalue(d, @varname(c.y)) |
| 95 | + @test !hasvalue(d, @varname(c.y[2])) |
| 96 | + @test !hasvalue(d, @varname(c.y.a)) |
| 97 | + @test !hasvalue(d, @varname(c.zzzz)) |
70 | 98 | @test !hasvalue(d, @varname(d[1, 3]))
|
71 | 99 | end
|
72 | 100 |
|
|
0 commit comments