/* ---------------------------------------------------------------------------- * GTSAM Copyright 2010, Georgia Tech Research Corporation, * Atlanta, Georgia 30332-0415 * All Rights Reserved * Authors: Frank Dellaert, et al. (see THANKS for the full author list) * See LICENSE for the license information * -------------------------------------------------------------------------- */ /** * @file testFactorgraph.cpp * @brief Unit tests for IndexFactor Graphs * @author Christian Potthast **/ /*STL/C++*/ #include #include #include #include #include // for operator += using namespace boost::assign; #include #define GTSAM_MAGIC_KEY #include using namespace std; using namespace gtsam; typedef boost::shared_ptr shared; ///* ************************************************************************* */ // SL-FIX TEST( FactorGraph, splitMinimumSpanningTree ) //{ // SymbolicFactorGraph G; // G.push_factor("x1", "x2"); // G.push_factor("x1", "x3"); // G.push_factor("x1", "x4"); // G.push_factor("x2", "x3"); // G.push_factor("x2", "x4"); // G.push_factor("x3", "x4"); // // SymbolicFactorGraph T, C; // boost::tie(T, C) = G.splitMinimumSpanningTree(); // // SymbolicFactorGraph expectedT, expectedC; // expectedT.push_factor("x1", "x2"); // expectedT.push_factor("x1", "x3"); // expectedT.push_factor("x1", "x4"); // expectedC.push_factor("x2", "x3"); // expectedC.push_factor("x2", "x4"); // expectedC.push_factor("x3", "x4"); // CHECK(assert_equal(expectedT,T)); // CHECK(assert_equal(expectedC,C)); //} ///* ************************************************************************* */ ///** // * x1 - x2 - x3 - x4 - x5 // * | | / | // * l1 l2 l3 // */ // SL-FIX TEST( FactorGraph, removeSingletons ) //{ // SymbolicFactorGraph G; // G.push_factor("x1", "x2"); // G.push_factor("x2", "x3"); // G.push_factor("x3", "x4"); // G.push_factor("x4", "x5"); // G.push_factor("x2", "l1"); // G.push_factor("x3", "l2"); // G.push_factor("x4", "l2"); // G.push_factor("x4", "l3"); // // SymbolicFactorGraph singletonGraph; // set singletons; // boost::tie(singletonGraph, singletons) = G.removeSingletons(); // // set singletons_excepted; singletons_excepted += "x1", "x2", "x5", "l1", "l3"; // CHECK(singletons_excepted == singletons); // // SymbolicFactorGraph singletonGraph_excepted; // singletonGraph_excepted.push_factor("x2", "l1"); // singletonGraph_excepted.push_factor("x4", "l3"); // singletonGraph_excepted.push_factor("x1", "x2"); // singletonGraph_excepted.push_factor("x4", "x5"); // singletonGraph_excepted.push_factor("x2", "x3"); // CHECK(singletonGraph_excepted.equals(singletonGraph)); //} /* ************************************************************************* */ int main() { TestResult tr; return TestRegistry::runAllTests(tr); } /* ************************************************************************* */