@@ -17,7 +17,7 @@ addFactor!(dfg, [v1, v2], f1)
1717# end
1818
1919@testset " Adding Removing Nodes" begin
20- dfg2 = testDFGAPI {NoSolverParams} ()
20+ dfg2 = GraphsDFG {NoSolverParams} ()
2121 v1 = DFGVariable (:a )
2222 v2 = DFGVariable (:b )
2323 v3 = DFGVariable (:c )
100100 var = getVariable (dfg, :a )
101101 # make a copy and simulate external changes
102102 newvar = deepcopy (var)
103- newvar. estimateDict [:default ] = Dict {Symbol, VariableEstimate} (
103+ estimates ( newvar) [:default ] = Dict {Symbol, VariableEstimate} (
104104 :max => VariableEstimate (:default , :max , [100.0 ]),
105105 :mean => VariableEstimate (:default , :mean , [50.0 ]),
106106 :ppe => VariableEstimate (:default , :ppe , [75.0 ]))
@@ -115,25 +115,23 @@ end
115115 return true
116116 end
117117 # For now spot check
118- @test newvar . solverDataDict == var . solverDataDict
119- @test newvar. estimateDict == var. estimateDict
118+ @test solverDataDict (newvar) == solverDataDict (var)
119+ @test estimates ( newvar) == estimates ( var)
120120
121- # delete :default and replace to see if new ones can be added
122- delete! (newvar. estimateDict, :default )
123- newvar. estimateDict [:second ] = Dict {Symbol, VariableEstimate} (
121+ # Delete :default and replace to see if new ones can be added
122+ delete! (estimates ( newvar), :default )
123+ estimates ( newvar) [:second ] = Dict {Symbol, VariableEstimate} (
124124 :max => VariableEstimate (:default , :max , [10.0 ]),
125125 :mean => VariableEstimate (:default , :mean , [5.0 ]),
126126 :ppe => VariableEstimate (:default , :ppe , [7.0 ]))
127127
128+ # Persist to the original variable.
128129 updateVariableSolverData! (dfg, newvar)
129-
130- # FIXME
131- if testDFGAPI != GraphsDFG
132- @test symdiff (collect (keys (var. estimateDict)),Symbol[:default , :second ]) == Symbol[]
133- else
134- @error " FIXME: $(keys (var. estimateDict)) should be [:default, :second]"
135- @test_skip symdiff (collect (keys (var. estimateDict)),Symbol[:default , :second ]) == Symbol[]
136- end
130+ # At this point newvar will have only :second, and var should have both (it is the reference)
131+ @test symdiff (collect (keys (estimates (var))), [:default , :second ]) == Symbol[]
132+ @test symdiff (collect (keys (estimates (newvar))), [:second ]) == Symbol[]
133+ # Get the source too.
134+ @test symdiff (collect (keys (estimates (getVariable (dfg, :a )))), [:default , :second ]) == Symbol[]
137135end
138136
139137# Connectivity test
0 commit comments