blob: d78a80ba1675698e325b27dc7735852621c909de [file] [log] [blame]
Austin Schuh4fae0fc2018-03-27 23:51:42 -07001#include "motors/seems_reasonable/spring.h"
2
3#include "gtest/gtest.h"
4
Stephan Pleinesf63bde82024-01-13 15:59:33 -08005namespace motors::seems_reasonable::testing {
Austin Schuh4fae0fc2018-03-27 23:51:42 -07006
7// Tests that NextGoal always returns the next goal.
8TEST(GoalTest, TestNextGoal) {
9 EXPECT_NEAR(1.0, NextGoal(0.0, 1.0), 1e-6);
10
11 EXPECT_NEAR(2.0 * M_PI + 1.0, NextGoal(1.1, 1.0), 1e-6);
12
13 EXPECT_NEAR(6.0 * M_PI + 1.0, NextGoal(1.1 + 4.0 * M_PI, 1.0), 1e-6);
14
15 EXPECT_NEAR(2.0 * M_PI + 1.0, NextGoal(1.0, 1.0), 1e-6);
16
17 EXPECT_NEAR(2.0 * M_PI + 6.0, NextGoal(6.1, 6.0), 1e-6);
18}
19
20// Tests that PreviousGoal always returns the previous goal.
21TEST(GoalTest, TestPreviousGoal) {
22 EXPECT_NEAR(-2.0 * M_PI + 1.0, PreviousGoal(0.0, 1.0), 1e-6);
23
24 EXPECT_NEAR(1.0, PreviousGoal(1.1, 1.0), 1e-6);
25
26 EXPECT_NEAR(4.0 * M_PI + 1.0, PreviousGoal(1.1 + 4.0 * M_PI, 1.0), 1e-6);
27
28 EXPECT_NEAR(-2.0 * M_PI + 1.0, PreviousGoal(1.0, 1.0), 1e-6);
29}
30
Stephan Pleinesf63bde82024-01-13 15:59:33 -080031} // namespace motors::seems_reasonable::testing