Skip to content

Commit bfb9ce0

Browse files
committed
more tests
1 parent b790adb commit bfb9ce0

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

test/varinfo.jl

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,7 @@ DynamicPPL.getspace(::DynamicPPL.Sampler{MySAlg}) = (:s,)
474474
return nothing
475475
end
476476
model = demo_subsetting_varinfo()
477+
vns = [@varname(s), @varname(m), @varname(x[1]), @varname(x[2])]
477478

478479
@testset "$(short_varinfo_name(varinfo))" for varinfo in [
479480
VarInfo(model), last(DynamicPPL.evaluate!!(model, VarInfo(), SamplingContext()))
@@ -483,11 +484,11 @@ DynamicPPL.getspace(::DynamicPPL.Sampler{MySAlg}) = (:s,)
483484
@test isempty(
484485
setdiff(
485486
keys(varinfo),
486-
[@varname(s), @varname(m), @varname(x[1]), @varname(x[2])],
487+
vns,
487488
),
488489
)
489490

490-
@testset "$(convert(Vector{VarName}, vns))" for vns in [
491+
@testset "$(convert(Vector{VarName}, vns_subset))" for vns_subset in [
491492
[@varname(s)],
492493
[@varname(m)],
493494
[@varname(x[1])],
@@ -504,11 +505,19 @@ DynamicPPL.getspace(::DynamicPPL.Sampler{MySAlg}) = (:s,)
504505
[@varname(m), @varname(x[1]), @varname(x[2])],
505506
[@varname(s), @varname(m), @varname(x[1]), @varname(x[2])],
506507
]
507-
varinfo_subset = subset(varinfo, vns)
508-
# Should now only contain the variables in `vns`.
509-
@test isempty(setdiff(keys(varinfo_subset), vns))
508+
varinfo_subset = subset(varinfo, vns_subset)
509+
# Should now only contain the variables in `vns_subset`.
510+
@test isempty(setdiff(keys(varinfo_subset), vns_subset))
510511
# Values should be the same.
511-
@test [varinfo_subset[vn] for vn in vns] == [varinfo[vn] for vn in vns]
512+
@test [varinfo_subset[vn] for vn in vns_subset] == [varinfo[vn] for vn in vns_subset]
513+
514+
# `merge` with the original.
515+
varinfo_merged = merge(varinfo, varinfo_subset)
516+
vns_merged = keys(varinfo_merged)
517+
# Should be equivalent.
518+
@test union(vns_merged, vns) == intersect(vns_merged, vns)
519+
# Values should be the same.
520+
@test [varinfo_merged[vn] for vn in vns] == [varinfo[vn] for vn in vns]
512521
end
513522
end
514523
end
@@ -519,9 +528,7 @@ DynamicPPL.getspace(::DynamicPPL.Sampler{MySAlg}) = (:s,)
519528
VarInfo(model),
520529
last(DynamicPPL.evaluate!!(model, VarInfo(), SamplingContext()))
521530
]
522-
523531
vns = DynamicPPL.TestUtils.varnames(model)
524-
525532
@testset "with itself" begin
526533
# Merging itself should be a no-op.
527534
varinfo_merged = merge(varinfo, varinfo)

0 commit comments

Comments
 (0)