diff --git a/gtsam_unstable/nonlinear/tests/testExpressionFactor.cpp b/gtsam_unstable/nonlinear/tests/testExpressionFactor.cpp index 04ade90be..f3099778f 100644 --- a/gtsam_unstable/nonlinear/tests/testExpressionFactor.cpp +++ b/gtsam_unstable/nonlinear/tests/testExpressionFactor.cpp @@ -429,7 +429,6 @@ TEST(ExpressionFactor, composeTernary) { namespace mpl = boost::mpl; #include -#include #include template struct Incomplete; @@ -443,20 +442,29 @@ BOOST_MPL_ASSERT((boost::is_same< Matrix2, Generated::Record::Jacobian2T >)); typedef mpl::vector, ExecutionTrace > ExpectedTraces; typedef mpl::transform >::type MyTraces; -BOOST_MPL_ASSERT((boost::mpl::equal< ExpectedTraces, MyTraces >)); +BOOST_MPL_ASSERT((mpl::equal< ExpectedTraces, MyTraces >)); template struct MakeTrace { typedef ExecutionTrace type; }; typedef mpl::transform >::type MyTraces1; -BOOST_MPL_ASSERT((boost::mpl::equal< ExpectedTraces, MyTraces1 >)); +BOOST_MPL_ASSERT((mpl::equal< ExpectedTraces, MyTraces1 >)); // Try generating vectors of Expression types typedef mpl::vector, Expression > ExpectedExpressions; - typedef mpl::transform >::type Expressions; -BOOST_MPL_ASSERT((boost::mpl::equal< ExpectedExpressions, Expressions >)); +BOOST_MPL_ASSERT((mpl::equal< ExpectedExpressions, Expressions >)); + +// Try generating vectors of Jacobian types +typedef mpl::vector ExpectedJacobians; +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 ! +BOOST_MPL_ASSERT((boost::is_same< Matrix23, Jacobian23>)); /* ************************************************************************* */ int main() {