From ba0b68110f5ae428574cc69554454f1b9476792b Mon Sep 17 00:00:00 2001 From: dellaert Date: Mon, 13 Oct 2014 13:56:51 +0200 Subject: [PATCH] Boost Fusion needed to access values :-( --- .../nonlinear/tests/testExpressionFactor.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/gtsam_unstable/nonlinear/tests/testExpressionFactor.cpp b/gtsam_unstable/nonlinear/tests/testExpressionFactor.cpp index f3099778f..45936fc8e 100644 --- a/gtsam_unstable/nonlinear/tests/testExpressionFactor.cpp +++ b/gtsam_unstable/nonlinear/tests/testExpressionFactor.cpp @@ -462,10 +462,24 @@ typedef mpl::transform >::type Jacobians; BOOST_MPL_ASSERT((mpl::equal< ExpectedJacobians, Jacobians >)); // Try accessing a Jacobian -typedef mpl::int_<1> one; -typedef mpl::at::type Jacobian23; // base zero ! +typedef mpl::at_c::type Jacobian23; // base zero ! BOOST_MPL_ASSERT((boost::is_same< Matrix23, Jacobian23>)); +#include +#include +#include + +// Create a value and access it +TEST(ExpressionFactor, JacobiansValue) { + Matrix23 expected; + ExpectedJacobians jacobians; + using boost::fusion::at_c; + + Matrix23 actual = at_c<1>(jacobians); + CHECK(actual.cols() == expected.cols()); + CHECK(actual.rows() == expected.rows()); +} + /* ************************************************************************* */ int main() { TestResult tr;