Merge pull request #15 from bricerebsamen/stamp_rounding_error
🏁 Thanks! 🏁 `catkin build pcl_conversions -v --make-args run_tests` --- ``` [100%] Built target tests -- run_tests.py: execute commands /home/username/rospcl_ws/devel/lib/pcl_conversions/pcl_conversions-test --gtest_output=xml:/home/username/rospcl_ws/build/pcl_conversions/test_results/pcl_conversions/gtest-pcl_conversions-test.xml [==========] Running 3 tests from 2 test cases. [----------] Global test environment set-up. [----------] 2 tests from PCLConversionTests [ RUN ] PCLConversionTests.imageConversion [ OK ] PCLConversionTests.imageConversion (0 ms) [ RUN ] PCLConversionTests.pointcloud2Conversion [ OK ] PCLConversionTests.pointcloud2Conversion (0 ms) [----------] 2 tests from PCLConversionTests (0 ms total) [----------] 1 test from PCLConversionStamp [ RUN ] PCLConversionStamp.Stamps [ OK ] PCLConversionStamp.Stamps (0 ms) [----------] 1 test from PCLConversionStamp (0 ms total) [----------] Global test environment tear-down [==========] 3 tests from 2 test cases ran. (0 ms total) [ PASSED ] 3 tests. ```
This commit is contained in:
commit
4675fefe36
@ -79,13 +79,13 @@ namespace pcl_conversions {
|
|||||||
inline
|
inline
|
||||||
void fromPCL(const pcl::uint64_t &pcl_stamp, ros::Time &stamp)
|
void fromPCL(const pcl::uint64_t &pcl_stamp, ros::Time &stamp)
|
||||||
{
|
{
|
||||||
stamp.fromNSec(pcl_stamp * 1e3); // Convert from us to ns
|
stamp.fromNSec(pcl_stamp * 1000ull); // Convert from us to ns
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
inline
|
||||||
void toPCL(const ros::Time &stamp, pcl::uint64_t &pcl_stamp)
|
void toPCL(const ros::Time &stamp, pcl::uint64_t &pcl_stamp)
|
||||||
{
|
{
|
||||||
pcl_stamp = stamp.toNSec() / 1e3; // Convert from ns to us
|
pcl_stamp = stamp.toNSec() / 1000ull; // Convert from ns to us
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
inline
|
||||||
|
|||||||
@ -100,6 +100,49 @@ TEST_F(PCLConversionTests, pointcloud2Conversion) {
|
|||||||
|
|
||||||
} // namespace
|
} // 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) {
|
int main(int argc, char **argv) {
|
||||||
try {
|
try {
|
||||||
::testing::InitGoogleTest(&argc, argv);
|
::testing::InitGoogleTest(&argc, argv);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user