From 9755b95e8999af96fe248eb16126655ef8c425de Mon Sep 17 00:00:00 2001 From: Jing Dong Date: Sat, 4 Apr 2015 17:13:58 -0400 Subject: [PATCH] looking at fix Values of FixedInsertDynamicRead --- gtsam/nonlinear/Values-inl.h | 6 +++++- gtsam/nonlinear/tests/testValues.cpp | 30 +++++++++++++++++++++++++--- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/gtsam/nonlinear/Values-inl.h b/gtsam/nonlinear/Values-inl.h index 96c352833..8a905a0ac 100644 --- a/gtsam/nonlinear/Values-inl.h +++ b/gtsam/nonlinear/Values-inl.h @@ -281,7 +281,7 @@ namespace gtsam { } } }; - +/* // Handle dynamic matrices template struct handle > { @@ -296,6 +296,8 @@ namespace gtsam { } }; + */ + // Request for a fixed vector template struct handle > { @@ -329,6 +331,8 @@ namespace gtsam { } } }; + + } // internal /* ************************************************************************* */ diff --git a/gtsam/nonlinear/tests/testValues.cpp b/gtsam/nonlinear/tests/testValues.cpp index ea5c67d9f..ecc01c95b 100644 --- a/gtsam/nonlinear/tests/testValues.cpp +++ b/gtsam/nonlinear/tests/testValues.cpp @@ -476,16 +476,40 @@ TEST(Values, Destructors) { } /* ************************************************************************* */ -TEST(Values, FixedVector) { +TEST(Values, VectorDynamicInsertFixedRead) { Values values; Vector v(3); v << 5.0, 6.0, 7.0; values.insert(key1, v); Vector3 expected(5.0, 6.0, 7.0); - CHECK(assert_equal((Vector)expected, values.at(key1))); + Vector3 actual = values.at(key1); + CHECK(assert_equal(expected, actual)); CHECK_EXCEPTION(values.at(key1), exception); } + /* ************************************************************************* */ -TEST(Values, FixedMatrix) { +TEST(Values, VectorFixedInsertDynamicRead) { + Values values; + Vector3 v; v << 5.0, 6.0, 7.0; + values.insert(key1, v); + Vector expected(3); expected << 5.0, 6.0, 7.0; + Vector actual(3); actual = values.at(key1); + //CHECK(assert_equal(expected, actual)); + CHECK_EXCEPTION(values.at(key1), exception); +} + +/* ************************************************************************* */ +TEST(Values, VectorFixedInsertFixedRead) { + Values values; + Vector3 v; v << 5.0, 6.0, 7.0; + values.insert(key1, v); + Vector3 expected; expected << 5.0, 6.0, 7.0; + Vector3 actual = values.at(key1); + //CHECK(assert_equal(expected, actual)); + CHECK_EXCEPTION(values.at(key1), exception); +} + +/* ************************************************************************* */ +TEST(Values, MatrixDynamicInsertFixedRead) { Values values; Matrix v(1,3); v << 5.0, 6.0, 7.0; values.insert(key1, v);