2 #include <gtest/gtest.h>
6 TEST(Angles, shortestDistanceWithLimits){
16 EXPECT_NEAR(shortest_angle, -2*M_PI+1.0,1e-6);
20 EXPECT_NEAR(shortest_angle, 0,1e-6);
24 EXPECT_NEAR(shortest_angle, -0.5,1e-6);
28 EXPECT_NEAR(shortest_angle, 0.5,1e-6);
32 EXPECT_NEAR(shortest_angle, -2*M_PI+0.4,1e-6);
36 EXPECT_NEAR(shortest_angle,2*M_PI-0.4,1e-6);
40 EXPECT_NEAR(shortest_angle,2*M_PI-0.2,1e-6);
44 EXPECT_NEAR(shortest_angle,-2*M_PI+0.2,1e-6);
48 EXPECT_NEAR(shortest_angle,-0.25,1e-6);
52 EXPECT_NEAR(shortest_angle,-2*M_PI+0.75,1e-6);
56 EXPECT_NEAR(shortest_angle,-2*M_PI+0.5+0.2500001,1e-6);
72 EXPECT_NEAR(shortest_angle,0.0,1e-6);
77 TEST(Angles, shortestDistanceWithLargeLimits)
79 double shortest_angle;
85 EXPECT_NEAR(shortest_angle, 0.5*M_PI, 1e-6);
90 EXPECT_NEAR(shortest_angle, -1.5*M_PI, 1e-6);
102 EXPECT_FALSE(result);
107 EXPECT_NEAR(shortest_angle, 0.000493, 1e-6);
113 double epsilon = 1e-9;
129 double epsilon = 1e-9;
133 EXPECT_NEAR(
to_degrees(M_PI*3/2), 270, epsilon);
134 EXPECT_NEAR(
to_degrees(2*M_PI), 360, epsilon);
136 EXPECT_NEAR(
to_degrees(M_PI*2/3), 120, epsilon);
138 EXPECT_NEAR(
to_degrees(M_PI*3/4), 135, epsilon);
144 double epsilon = 1e-9;
174 double epsilon = 1e-9;
203 double epsilon = 1e-9;
226 double epsilon = 1e-9;
247 double epsilon = 1e-9;
248 double min_delta, max_delta;
251 EXPECT_NEAR(min_delta, -M_PI, epsilon);
252 EXPECT_NEAR(max_delta, M_PI, epsilon);
256 EXPECT_NEAR(min_delta, -3*M_PI/2, epsilon);
257 EXPECT_NEAR(max_delta, M_PI/2, epsilon);
261 EXPECT_NEAR(min_delta, -M_PI/2, epsilon);
262 EXPECT_NEAR(max_delta, 3*M_PI/2, epsilon);
266 EXPECT_NEAR(min_delta, -M_PI/2, epsilon);
267 EXPECT_NEAR(max_delta, M_PI/2, epsilon);
271 EXPECT_NEAR(min_delta, -3*M_PI/4, epsilon);
272 EXPECT_NEAR(max_delta, M_PI/4, epsilon);
276 EXPECT_NEAR(min_delta, -M_PI/4, epsilon);
277 EXPECT_NEAR(max_delta, 3*M_PI/4, epsilon);
281 EXPECT_TRUE((fabs(min_delta) <= epsilon && fabs(max_delta - 2*M_PI) <= epsilon) || (fabs(min_delta+2*M_PI) <= epsilon && fabs(max_delta) <= epsilon));
282 EXPECT_NEAR(min_delta, 0.0, epsilon);
283 EXPECT_NEAR(max_delta, 2*M_PI, epsilon);
286 EXPECT_NEAR(min_delta, -2*M_PI+0.5, epsilon);
287 EXPECT_NEAR(max_delta, 0.0, epsilon);
292 EXPECT_NEAR(min_delta, -2*M_PI+epsilon, epsilon);
293 EXPECT_NEAR(max_delta, epsilon, epsilon);
297 EXPECT_NEAR(min_delta, 0, epsilon);
298 EXPECT_NEAR(max_delta, 2*M_PI, epsilon);
302 EXPECT_NEAR(min_delta, 0.0, epsilon);
303 EXPECT_NEAR(max_delta, M_PI, epsilon);
314 EXPECT_NEAR(min_delta, -M_PI/4, epsilon);
315 EXPECT_NEAR(max_delta, 3*M_PI/4, epsilon);
320 int main(
int argc,
char **argv){
321 testing::InitGoogleTest(&argc, argv);
322 return RUN_ALL_TESTS();