From 03dcf17393d34bfb902816cea93fc7e269eca34b Mon Sep 17 00:00:00 2001 From: Alex Cunningham Date: Fri, 8 Nov 2013 21:55:35 +0000 Subject: [PATCH] Added test to verify that GaussianFactorGraph worked in serialization --- .../linear/tests/testSerializationLinear.cpp | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gtsam/linear/tests/testSerializationLinear.cpp b/gtsam/linear/tests/testSerializationLinear.cpp index 3859bcfa9..ffdab5d96 100644 --- a/gtsam/linear/tests/testSerializationLinear.cpp +++ b/gtsam/linear/tests/testSerializationLinear.cpp @@ -130,6 +130,7 @@ TEST (Serialization, SharedDiagonal_noiseModels) { /* ************************************************************************* */ BOOST_CLASS_EXPORT_GUID(gtsam::JacobianFactor, "gtsam::JacobianFactor"); BOOST_CLASS_EXPORT_GUID(gtsam::HessianFactor , "gtsam::HessianFactor"); +BOOST_CLASS_EXPORT_GUID(gtsam::GaussianConditional , "gtsam::GaussianConditional"); /* ************************************************************************* */ TEST (Serialization, linear_factors) { @@ -169,6 +170,33 @@ TEST (Serialization, gaussian_conditional) { EXPECT(equalsBinary(cg)); } +/* ************************************************************************* */ +TEST (Serialization, gaussian_factor_graph) { + GaussianFactorGraph graph; + { + Matrix A1 = Matrix_(2,2, 1., 2., 3., 4.); + Matrix A2 = Matrix_(2,2, 6., 0.2, 8., 0.4); + Matrix R = Matrix_(2,2, 0.1, 0.3, 0.0, 0.34); + Vector d(2); d << 0.2, 0.5; + GaussianConditional cg(0, d, R, 1, A1, 2, A2); + graph.push_back(cg); + } + + { + Key i1 = 4, i2 = 7; + Matrix A1 = eye(3), A2 = -1.0 * eye(3); + Vector b = ones(3); + SharedDiagonal model = noiseModel::Diagonal::Sigmas((Vec(3) << 1.0, 2.0, 3.0)); + JacobianFactor jacobianfactor(i1, A1, i2, A2, b, model); + HessianFactor hessianfactor(jacobianfactor); + graph.push_back(jacobianfactor); + graph.push_back(hessianfactor); + } + EXPECT(equalsObj(graph)); + EXPECT(equalsXML(graph)); + EXPECT(equalsBinary(graph)); +} + /* ************************************************************************* */ TEST (Serialization, gaussian_bayes_tree) { const Key x1=1, x2=2, x3=3, x4=4;