Added a test for rounding errors in stamp conversion

for some values the test fails. This is because of rounding errors. See #14.
This commit is contained in:
Brice Rebsamen 2015-02-11 11:29:33 -08:00
parent 3acde03e8a
commit 2c57225370

View File

@ -100,6 +100,49 @@ TEST_F(PCLConversionTests, pointcloud2Conversion) {
} // namespace
struct StampTestData
{
const ros::Time stamp_;
ros::Time stamp2_;
explicit StampTestData(const ros::Time &stamp)
: stamp_(stamp)
{
pcl::uint64_t pcl_stamp;
pcl_conversions::toPCL(stamp_, pcl_stamp);
pcl_conversions::fromPCL(pcl_stamp, stamp2_);
}
};
TEST(PCLConversionStamp, Stamps)
{
{
const StampTestData d(ros::Time(1.000001));
EXPECT_TRUE(d.stamp_==d.stamp2_);
}
{
const StampTestData d(ros::Time(1.999999));
EXPECT_TRUE(d.stamp_==d.stamp2_);
}
{
const StampTestData d(ros::Time(1.999));
EXPECT_TRUE(d.stamp_==d.stamp2_);
}
{
const StampTestData d(ros::Time(1423680574, 746000000));
EXPECT_TRUE(d.stamp_==d.stamp2_);
}
{
const StampTestData d(ros::Time(1423680629, 901000000));
EXPECT_TRUE(d.stamp_==d.stamp2_);
}
}
int main(int argc, char **argv) {
try {
::testing::InitGoogleTest(&argc, argv);