@@ -6,18 +6,27 @@ using Test
6
6
struct TestInferenceVariable1 <: InferenceVariable end
7
7
struct TestInferenceVariable2 <: InferenceVariable end
8
8
9
+ # Build a graph
9
10
v1 = DFGVariable (:a , TestInferenceVariable1 ())
10
11
v2 = DFGVariable (:b , TestInferenceVariable1 ())
11
12
f1 = DFGFactor {Int, :Symbol} (:f1 )
12
13
addVariable! (dfg, v1)
13
14
addVariable! (dfg, v2)
14
15
addFactor! (dfg, [v1, v2], f1)
15
16
17
+ # Standard tests
16
18
newdfg = buildSubgraphFromLabels! (dfg, [:b ])
17
19
@test ls (newdfg) == [:b ]
18
20
# Okay it looks like this function only accepts variables, is that right?
19
21
@test_throws Exception newdfg = buildSubgraphFromLabels! (dfg, [:b , :f1 ])
20
22
newdfg = buildSubgraphFromLabels! (dfg, [:b , :a ])
21
23
@test symdiff (ls (newdfg), [:b , :a ]) == []
24
+ @test lsf (newdfg) == [:f1 ]
22
25
26
+ # Check solvable filter
27
+ @test setSolvable! (getVariable (dfg, :a ), 1 ) == 1
28
+ @test setSolvable! (getVariable (dfg, :b ), 0 ) == 0
29
+ @test setSolvable! (getFactor (dfg, :f1 ), 1 ) == 1
30
+ newdfg = buildSubgraphFromLabels! (dfg, [:b , :a ]; solvable = 1 )
31
+ @test ls (newdfg) == [:a ]
23
32
end
0 commit comments