Skip to content

Commit 9df7770

Browse files
committed
Extract out a method reference_syms to match symbols from the data vs the model
1 parent 25fd000 commit 9df7770

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/test/compare.jl

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,18 +48,21 @@ function compare(
4848
reference::DataFrame,
4949
cmp=DefaultComparison(); to_name=string, warn_observed=true)
5050
@assert "timestamp" names(reference) "The dataset must contain a column named `timestamp`"
51+
eval_syms = reference_syms(SymbolicIndexingInterface.symbolic_container(new_sol), reference, to_name, warn_observed)
52+
return compare(new_sol, reference, eval_syms .=> setdiff(names(reference), ["timestamp"]), cmp)
53+
end
5154

52-
new_container = SymbolicIndexingInterface.symbolic_container(new_sol)
55+
function reference_syms(new_container, reference, to_name, warn_observed)
5356
all_available = SymbolicIndexingInterface.all_variable_symbols(new_container)
5457
all_available_syms = Dict(to_name.(all_available) .=> all_available)
55-
eval_syms = [ begin
58+
return [ begin
5659
@assert ref_name keys(all_available_syms) "Reference value $ref_name not found in the new solution (either as state or observed)"
5760
matching_sym = all_available_syms[ref_name]
5861
if warn_observed && SymbolicIndexingInterface.is_observed(new_container, matching_sym)
5962
@warn "The variable $matching_sym is observed in the new solution while the past $ref_name is provided explicitly; problem structure may have changed"
6063
end
6164
matching_sym
6265
end for ref_name in setdiff(names(reference), ["timestamp"])]
63-
return compare(new_sol, reference, eval_syms .=> setdiff(names(reference), ["timestamp"]), cmp)
6466
end
67+
6568
export compare

0 commit comments

Comments
 (0)