| 
									
										
										
										
											2009-08-22 06:23:24 +08:00
										 |  |  | /**
 | 
					
						
							|  |  |  |  * @file   testPoint2.cpp | 
					
						
							|  |  |  |  * @brief  Unit tests for Point2 class | 
					
						
							|  |  |  |  * @author Frank Dellaert | 
					
						
							|  |  |  |  **/ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-20 01:23:19 +08:00
										 |  |  | #include <gtsam/CppUnitLite/TestHarness.h>
 | 
					
						
							|  |  |  | #include <gtsam/geometry/Point2.h>
 | 
					
						
							| 
									
										
										
										
											2009-08-22 06:23:24 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | using namespace std; | 
					
						
							|  |  |  | using namespace gtsam; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* ************************************************************************* */ | 
					
						
							| 
									
										
										
										
											2010-01-12 10:09:03 +08:00
										 |  |  | TEST( Point2, expmap) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	Vector d(2); | 
					
						
							|  |  |  | 	d(0) = 1; | 
					
						
							|  |  |  | 	d(1) = -1; | 
					
						
							|  |  |  | 	Point2 a(4, 5), b = expmap(a, d), c(5, 4); | 
					
						
							|  |  |  | 	CHECK(assert_equal(b,c)); | 
					
						
							| 
									
										
										
										
											2009-08-22 06:23:24 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* ************************************************************************* */ | 
					
						
							| 
									
										
										
										
											2010-03-01 09:38:26 +08:00
										 |  |  | TEST( Point2, arithmetic) | 
					
						
							| 
									
										
										
										
											2010-01-12 10:09:03 +08:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2010-03-01 09:38:26 +08:00
										 |  |  | 	CHECK(assert_equal( Point2(-5,-6), -Point2(5,6) )); | 
					
						
							|  |  |  | 	CHECK(assert_equal( Point2(5,6), Point2(4,5)+Point2(1,1))); | 
					
						
							|  |  |  | 	CHECK(assert_equal( Point2(3,4), Point2(4,5)-Point2(1,1) )); | 
					
						
							| 
									
										
										
										
											2010-03-03 10:49:06 +08:00
										 |  |  | 	CHECK(assert_equal( Point2(8,6), Point2(4,3)*2)); | 
					
						
							|  |  |  | 	CHECK(assert_equal( Point2(4,6), 2*Point2(2,3))); | 
					
						
							|  |  |  | 	CHECK(assert_equal( Point2(2,3), Point2(4,6)/2)); | 
					
						
							| 
									
										
										
										
											2009-08-22 06:23:24 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* ************************************************************************* */ | 
					
						
							| 
									
										
										
										
											2010-01-12 10:09:03 +08:00
										 |  |  | TEST( Point2, norm) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	Point2 p0(cos(5), sin(5)); | 
					
						
							|  |  |  | 	DOUBLES_EQUAL(1,p0.norm(),1e-6); | 
					
						
							|  |  |  | 	Point2 p1(4, 5), p2(1, 1); | 
					
						
							|  |  |  | 	DOUBLES_EQUAL( 5,p1.dist(p2),1e-6); | 
					
						
							|  |  |  | 	DOUBLES_EQUAL( 5,(p2-p1).norm(),1e-6); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* ************************************************************************* */ | 
					
						
							|  |  |  | int main() { | 
					
						
							|  |  |  | 	TestResult tr; | 
					
						
							|  |  |  | 	return TestRegistry::runAllTests(tr); | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2009-08-22 06:23:24 +08:00
										 |  |  | /* ************************************************************************* */ |