From d712498c0824fa664d6c4867ed56770b7e271239 Mon Sep 17 00:00:00 2001 From: dellaert Date: Mon, 7 Aug 2017 08:37:37 -0700 Subject: [PATCH] Fixed this test with V4 compatibility (where Points are not initialized) --- cython/gtsam/tests/test_Values.py | 51 ++++++++++++++++--------------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/cython/gtsam/tests/test_Values.py b/cython/gtsam/tests/test_Values.py index cca38d8cd..08e133840 100644 --- a/cython/gtsam/tests/test_Values.py +++ b/cython/gtsam/tests/test_Values.py @@ -1,25 +1,28 @@ import unittest -import gtsam import numpy as np +from gtsam import Point2, Point3, Unit3, Rot2, Pose2, Rot3, Pose3 +from gtsam import Values, Cal3_S2, Cal3DS2, Cal3Bundler, EssentialMatrix, imuBias_ConstantBias + + class TestValues(unittest.TestCase): def test_values(self): - values = gtsam.Values() - E = gtsam.EssentialMatrix(gtsam.Rot3(), gtsam.Unit3()) + values = Values() + E = EssentialMatrix(Rot3(), Unit3()) tol = 1e-9 - values.insert(0, gtsam.Point2()) - values.insert(1, gtsam.Point3()) - values.insert(2, gtsam.Rot2()) - values.insert(3, gtsam.Pose2()) - values.insert(4, gtsam.Rot3()) - values.insert(5, gtsam.Pose3()) - values.insert(6, gtsam.Cal3_S2()) - values.insert(7, gtsam.Cal3DS2()) - values.insert(8, gtsam.Cal3Bundler()) + values.insert(0, Point2(0,0)) + values.insert(1, Point3(0,0,0)) + values.insert(2, Rot2()) + values.insert(3, Pose2()) + values.insert(4, Rot3()) + values.insert(5, Pose3()) + values.insert(6, Cal3_S2()) + values.insert(7, Cal3DS2()) + values.insert(8, Cal3Bundler()) values.insert(9, E) - values.insert(10, gtsam.imuBias_ConstantBias()) + values.insert(10, imuBias_ConstantBias()) # Special cases for Vectors and Matrices # Note that gtsam's Eigen Vectors and Matrices requires double-precision @@ -29,7 +32,7 @@ class TestValues(unittest.TestCase): # will have 'int' type. # # The wrapper will automatically fix the type and storage order for you, - # but for performace reasons, it's recommended to specify the correct + # but for performance reasons, it's recommended to specify the correct # type and storage order. vec = np.array([1., 2., 3.]) # for vectors, the order is not important, but dtype still is values.insert(11, vec) @@ -41,18 +44,18 @@ class TestValues(unittest.TestCase): mat2 = np.array([[1,2,],[3,5]]) values.insert(13, mat2) - self.assertTrue(values.atPoint2(0).equals(gtsam.Point2(), tol)) - self.assertTrue(values.atPoint3(1).equals(gtsam.Point3(), tol)) - self.assertTrue(values.atRot2(2).equals(gtsam.Rot2(), tol)) - self.assertTrue(values.atPose2(3).equals(gtsam.Pose2(), tol)) - self.assertTrue(values.atRot3(4).equals(gtsam.Rot3(), tol)) - self.assertTrue(values.atPose3(5).equals(gtsam.Pose3(), tol)) - self.assertTrue(values.atCal3_S2(6).equals(gtsam.Cal3_S2(), tol)) - self.assertTrue(values.atCal3DS2(7).equals(gtsam.Cal3DS2(), tol)) - self.assertTrue(values.atCal3Bundler(8).equals(gtsam.Cal3Bundler(), tol)) + self.assertTrue(values.atPoint2(0).equals(Point2(), tol)) + self.assertTrue(values.atPoint3(1).equals(Point3(), tol)) + self.assertTrue(values.atRot2(2).equals(Rot2(), tol)) + self.assertTrue(values.atPose2(3).equals(Pose2(), tol)) + self.assertTrue(values.atRot3(4).equals(Rot3(), tol)) + self.assertTrue(values.atPose3(5).equals(Pose3(), tol)) + self.assertTrue(values.atCal3_S2(6).equals(Cal3_S2(), tol)) + self.assertTrue(values.atCal3DS2(7).equals(Cal3DS2(), tol)) + self.assertTrue(values.atCal3Bundler(8).equals(Cal3Bundler(), tol)) self.assertTrue(values.atEssentialMatrix(9).equals(E, tol)) self.assertTrue(values.atimuBias_ConstantBias( - 10).equals(gtsam.imuBias_ConstantBias(), tol)) + 10).equals(imuBias_ConstantBias(), tol)) # special cases for Vector and Matrix: actualVector = values.atVector(11)