added unit test for overloaded translation printing
							parent
							
								
									aa18546d7c
								
							
						
					
					
						commit
						2959acee7f
					
				|  | @ -993,6 +993,32 @@ TEST(Pose3, Create) { | |||
|   EXPECT(assert_equal(numericalDerivative22<Pose3,Rot3,Point3>(create, R, P2), actualH2, 1e-9)); | ||||
| } | ||||
| 
 | ||||
| /* ************************************************************************* */ | ||||
| TEST(Pose3, print) { | ||||
|   std::stringstream redirectStream; | ||||
|   std::streambuf* ssbuf = redirectStream.rdbuf(); | ||||
|   std::streambuf* oldbuf  = std::cout.rdbuf(); | ||||
|   // redirect cout to redirectStream
 | ||||
|   std::cout.rdbuf(ssbuf); | ||||
| 
 | ||||
|   Pose3 pose(Rot3::identity(), Point3(1, 2, 3)); | ||||
|   // output is captured to redirectStream
 | ||||
|   pose.print(); | ||||
| 
 | ||||
|   // Generate the expected output
 | ||||
|   std::stringstream expected; | ||||
|   Point3 translation(1, 2, 3); | ||||
|   expected << '[' << translation.x() << ", " << translation.y() << ", " << translation.z() << "]\';"; | ||||
| 
 | ||||
|   // reset cout to the original stream
 | ||||
|   std::cout.rdbuf(oldbuf); | ||||
| 
 | ||||
|   // Get substring corresponding to translation part
 | ||||
|   std::string actual = redirectStream.str().substr(47, 11); | ||||
| 
 | ||||
|   CHECK_EQUAL(expected.str(), actual); | ||||
| } | ||||
| 
 | ||||
| /* ************************************************************************* */ | ||||
| int main() { | ||||
|   TestResult tr; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue