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