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