1 #include "ros/duration.h"
3 #include <gtest/gtest.h>
17 {0UL, 0UL}, {0UL, 500000000UL}, {1UL, 500000000UL}};
20 {0L, 0L}, {0L, 500000000L}, {0L, 600000000L},
21 {1L, 600000000L}, {0L, -100000000L}, {-1L, 100000000L}};
31 {0xFFFFFFFF, 900000000UL},
32 {0xFFFFFFFF, 100000000UL},
39 {0xFFFFFFFF, 600000000UL},
49 {0xFFFFFFFF, 500000000UL},
50 {0xFFFFFFFF, 400000000UL},
51 {0xFFFFFFFF - 1, 400000000UL},
57 {0xFFFFFFFF, 900000000UL},
58 {0xFFFFFFFF - 1, 900000000UL},
65 {0xFFFFFFFF, 900000000UL},
70 for (
int i = 0; i < num_times; ++i) {
71 for (
int j = 0; j < num_durations; ++j) {
74 auto idx = i * num_durations + j;
75 EXPECT_EQ(time.sec, additions[idx].sec)
76 <<
"Add " << durations[j].sec <<
"." << durations[j].nsec <<
" to "
77 << times[i].sec <<
"." << times[i].nsec;
78 EXPECT_EQ(time.nsec, additions[idx].nsec)
79 <<
"Add " << durations[j].sec <<
"." << durations[j].nsec <<
" to "
80 << times[i].sec <<
"." << times[i].nsec;
82 auto dur = time - times[i];
83 EXPECT_EQ(dur.sec, durations[j].sec)
84 <<
"Subtract " << times[i].sec <<
"." << times[i].nsec <<
" from "
85 << time.sec <<
"." << time.nsec;
86 EXPECT_EQ(dur.nsec, durations[j].nsec)
87 <<
"Subtract " << times[i].sec <<
"." << times[i].nsec <<
" from "
88 << time.sec <<
"." << time.nsec;
94 for (
int i = 0; i < num_times; ++i) {
95 for (
int j = 0; j < num_durations; ++j) {
98 auto idx = i * num_durations + j;
99 EXPECT_EQ(time.sec, subtractions[idx].sec)
100 <<
"Subtract " << durations[j].sec <<
"." << durations[j].nsec
101 <<
" from " << times[i].sec <<
"." << times[i].nsec;
102 EXPECT_EQ(time.nsec, subtractions[idx].nsec)
103 <<
"Subtract " << durations[j].sec <<
"." << durations[j].nsec
104 <<
" from " << times[i].sec <<
"." << times[i].nsec;
106 auto dur = times[i] - time;
107 EXPECT_EQ(dur.sec, durations[j].sec)
108 <<
"Subtract " << time.sec <<
"." << time.nsec <<
" from "
109 << times[i].sec <<
"." << times[i].nsec;
110 EXPECT_EQ(dur.nsec, durations[j].nsec)
111 <<
"Subtract " << time.sec <<
"." << time.nsec <<
" from "
112 << times[i].sec <<
"." << times[i].nsec;
117 int main(
int argc,
char **argv) {
118 testing::InitGoogleTest(&argc, argv);
119 return RUN_ALL_TESTS();