56 lines
1.2 KiB
C++
56 lines
1.2 KiB
C++
/*
|
|
* @file testKey.cpp
|
|
* @author Alex Cunningham
|
|
*/
|
|
|
|
#include <CppUnitLite/TestHarness.h>
|
|
#include "Key.h"
|
|
|
|
using namespace gtsam;
|
|
|
|
class Pose3;
|
|
|
|
/* ************************************************************************* */
|
|
TEST ( TypedSymbol, basic_operations ) {
|
|
typedef TypedSymbol<Pose3, 'x'> Key;
|
|
|
|
Key key1(0),
|
|
key2(0),
|
|
key3(1),
|
|
key4(2);
|
|
|
|
CHECK(key1.index()==0);
|
|
CHECK(key1 == key2);
|
|
CHECK(assert_equal(key1, key2));
|
|
CHECK(!(key1 == key3));
|
|
CHECK(key1 < key3);
|
|
CHECK(key3 < key4);
|
|
}
|
|
|
|
/* ************************************************************************* */
|
|
TEST ( TypedLabledSymbol, basic_operations ) {
|
|
typedef TypedLabeledSymbol<Pose3, 'x', int> RobotKey;
|
|
|
|
RobotKey key1(0, 1),
|
|
key2(0, 1),
|
|
key3(1, 1),
|
|
key4(2, 1),
|
|
key5(0, 2),
|
|
key6(1, 2);
|
|
|
|
CHECK(key1.label()==1);
|
|
CHECK(key1.index()==0);
|
|
CHECK(key1 == key2);
|
|
CHECK(assert_equal(key1, key2));
|
|
CHECK(!(key1 == key3));
|
|
CHECK(key1 < key3);
|
|
CHECK(key3 < key4);
|
|
CHECK(!(key1 == key5));
|
|
CHECK(key1 < key5);
|
|
CHECK(key5 < key6);
|
|
}
|
|
|
|
/* ************************************************************************* */
|
|
int main() { TestResult tr; return TestRegistry::runAllTests(tr); }
|
|
/* ************************************************************************* */
|