From 439b72401127a975b6ff550d88701ea1894fd5af Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Sun, 16 Sep 2012 17:54:59 +0000 Subject: [PATCH] test new solver functions --- .../tests/testSymbolicSequentialSolver.cpp | 87 +++++++++++-------- 1 file changed, 51 insertions(+), 36 deletions(-) diff --git a/gtsam/inference/tests/testSymbolicSequentialSolver.cpp b/gtsam/inference/tests/testSymbolicSequentialSolver.cpp index a1c637dcf..943358b79 100644 --- a/gtsam/inference/tests/testSymbolicSequentialSolver.cpp +++ b/gtsam/inference/tests/testSymbolicSequentialSolver.cpp @@ -63,47 +63,62 @@ TEST( SymbolicSequentialSolver, inference ) { EXPECT(assert_equal(expected,*actual)); { - // jointBayesNet - vector js; - js.push_back(0); - js.push_back(4); - js.push_back(3); - SymbolicBayesNet::shared_ptr actualBN = solver.jointBayesNet(js); - SymbolicBayesNet expectedBN; - expectedBN.push_front(boost::make_shared(3)); - expectedBN.push_front(boost::make_shared(4, 3)); - expectedBN.push_front(boost::make_shared(0, 4)); - EXPECT( assert_equal(expectedBN,*actualBN)); + // jointBayesNet + vector js; + js.push_back(0); + js.push_back(4); + js.push_back(3); + SymbolicBayesNet::shared_ptr actualBN = solver.jointBayesNet(js); + SymbolicBayesNet expectedBN; + expectedBN.push_front(boost::make_shared(3)); + expectedBN.push_front(boost::make_shared(4, 3)); + expectedBN.push_front(boost::make_shared(0, 4)); + EXPECT( assert_equal(expectedBN,*actualBN)); - // jointFactorGraph - SymbolicFactorGraph::shared_ptr actualFG = solver.jointFactorGraph(js); - SymbolicFactorGraph expectedFG; - expectedFG.push_factor(0, 4); - expectedFG.push_factor(4, 3); - expectedFG.push_factor(3); - EXPECT( assert_equal(expectedFG,(SymbolicFactorGraph)(*actualFG))); + // jointFactorGraph + SymbolicFactorGraph::shared_ptr actualFG = solver.jointFactorGraph(js); + SymbolicFactorGraph expectedFG; + expectedFG.push_factor(0, 4); + expectedFG.push_factor(4, 3); + expectedFG.push_factor(3); + EXPECT( assert_equal(expectedFG,(SymbolicFactorGraph)(*actualFG))); } { - // jointBayesNet - vector js; - js.push_back(0); - js.push_back(3); - js.push_back(4); - SymbolicBayesNet::shared_ptr actualBN = solver.jointBayesNet(js); - SymbolicBayesNet expectedBN; - expectedBN.push_front(boost::make_shared(3)); - expectedBN.push_front(boost::make_shared(4, 3)); - expectedBN.push_front(boost::make_shared(0, 4)); - EXPECT( assert_equal(expectedBN,*actualBN)); + // jointBayesNet + vector js; + js.push_back(0); + js.push_back(2); + js.push_back(3); + SymbolicBayesNet::shared_ptr actualBN = solver.jointBayesNet(js); + SymbolicBayesNet expectedBN; + expectedBN.push_front(boost::make_shared(2)); + expectedBN.push_front(boost::make_shared(3, 2)); + expectedBN.push_front(boost::make_shared(0, 3, 2)); + EXPECT( assert_equal(expectedBN,*actualBN)); - // jointFactorGraph - SymbolicFactorGraph::shared_ptr actualFG = solver.jointFactorGraph(js); - SymbolicFactorGraph expectedFG; - expectedFG.push_factor(0, 4); - expectedFG.push_factor(4, 3); - expectedFG.push_factor(3); - EXPECT( assert_equal(expectedFG,(SymbolicFactorGraph)(*actualFG))); + // jointFactorGraph + SymbolicFactorGraph::shared_ptr actualFG = solver.jointFactorGraph(js); + SymbolicFactorGraph expectedFG; + expectedFG.push_factor(0, 3, 2); + expectedFG.push_factor(3, 2); + expectedFG.push_factor(2); + EXPECT( assert_equal(expectedFG,(SymbolicFactorGraph)(*actualFG))); + } + + { + // conditionalBayesNet + vector js; + js.push_back(0); + js.push_back(2); + js.push_back(3); + size_t nrFrontals = 2; + SymbolicBayesNet::shared_ptr actualBN = // + solver.conditionalBayesNet(js, nrFrontals); + SymbolicBayesNet expectedBN; + expectedBN.push_front(boost::make_shared(3, 2)); + expectedBN.push_front(boost::make_shared(0, 3, 2)); + EXPECT( assert_equal(expectedBN,*actualBN)); } }