diff --git a/wrap/tests/testType.cpp b/wrap/tests/testType.cpp index b7171f62c..538bcef3e 100644 --- a/wrap/tests/testType.cpp +++ b/wrap/tests/testType.cpp @@ -23,7 +23,7 @@ using namespace std; using namespace wrap; //****************************************************************************** -TEST( spirit, grammar ) { +TEST( Type, grammar ) { using classic::space_p; @@ -31,37 +31,50 @@ TEST( spirit, grammar ) { Qualified actual; type_grammar type_g(actual); - // a class type with namespaces + // a class type with 2 namespaces EXPECT(parse("gtsam::internal::Point2", type_g, space_p).full); EXPECT(actual.name=="Point2"); EXPECT_LONGS_EQUAL(2, actual.namespaces.size()); EXPECT(actual.namespaces[0]=="gtsam"); EXPECT(actual.namespaces[1]=="internal"); EXPECT(actual.category==Qualified::CLASS); + actual.clear(); + + // a class type with 1 namespace + EXPECT(parse("gtsam::Point2", type_g, space_p).full); + EXPECT(actual.name=="Point2"); + EXPECT_LONGS_EQUAL(1, actual.namespaces.size()); + EXPECT(actual.namespaces[0]=="gtsam"); + EXPECT(actual.category==Qualified::CLASS); + actual.clear(); // a class type with no namespaces EXPECT(parse("Point2", type_g, space_p).full); EXPECT(actual.name=="Point2"); EXPECT(actual.namespaces.empty()); EXPECT(actual.category==Qualified::CLASS); + actual.clear(); // an Eigen type EXPECT(parse("Vector", type_g, space_p).full); EXPECT(actual.name=="Vector"); EXPECT(actual.namespaces.empty()); EXPECT(actual.category==Qualified::EIGEN); + actual.clear(); // a basic type EXPECT(parse("double", type_g, space_p).full); EXPECT(actual.name=="double"); EXPECT(actual.namespaces.empty()); EXPECT(actual.category==Qualified::BASIS); + actual.clear(); // void EXPECT(parse("void", type_g, space_p).full); EXPECT(actual.name=="void"); EXPECT(actual.namespaces.empty()); EXPECT(actual.category==Qualified::VOID); + actual.clear(); } //******************************************************************************