-
Notifications
You must be signed in to change notification settings - Fork 128
Expand file tree
/
Copy pathprimitive_msg_factory_test.cpp
More file actions
64 lines (54 loc) · 2.26 KB
/
Copy pathprimitive_msg_factory_test.cpp
File metadata and controls
64 lines (54 loc) · 2.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include "proto/primitive/primitive_msg_factory.h"
#include <gtest/gtest.h>
#include "shared/constants.h"
#include "shared/robot_constants.h"
#include "software/test_util/test_util.h"
class PrimitiveFactoryTest : public testing::Test
{
protected:
robot_constants::RobotConstants robot_constants = robot_constants::createRobotConstants();};
TEST_F(PrimitiveFactoryTest, test_auto_chip_or_kick_equality)
{
AutoChipOrKick auto_chip_or_kick = {AutoChipOrKickMode::AUTOCHIP, 3.2};
AutoChipOrKick auto_chip_or_kick_other = {AutoChipOrKickMode::AUTOCHIP, 3.2};
EXPECT_EQ(auto_chip_or_kick, auto_chip_or_kick_other);
auto_chip_or_kick = {AutoChipOrKickMode::OFF, 3.2};
auto_chip_or_kick_other = {AutoChipOrKickMode::AUTOCHIP, 3.2};
EXPECT_NE(auto_chip_or_kick, auto_chip_or_kick_other);
auto_chip_or_kick = {AutoChipOrKickMode::OFF, 3.2};
auto_chip_or_kick_other = {AutoChipOrKickMode::OFF, 2};
EXPECT_EQ(auto_chip_or_kick, auto_chip_or_kick_other);
}
TEST_F(PrimitiveFactoryTest, test_create_direct_velocity)
{
auto direct_velocity_primitive =
createDirectControlPrimitive(Vector(2, -4), AngularVelocity::fromRadians(0.5),
200, TbotsProto::AutoChipOrKick());
ASSERT_TRUE(direct_velocity_primitive->has_direct_control());
EXPECT_EQ(direct_velocity_primitive->direct_control()
.motor_control()
.direct_velocity_control()
.velocity()
.x_component_meters(),
2);
EXPECT_EQ(direct_velocity_primitive->direct_control()
.motor_control()
.direct_velocity_control()
.velocity()
.y_component_meters(),
-4);
EXPECT_EQ(direct_velocity_primitive->direct_control()
.motor_control()
.direct_velocity_control()
.angular_velocity()
.radians_per_second(),
0.5);
EXPECT_EQ(
direct_velocity_primitive->direct_control().motor_control().dribbler_speed_rpm(),
200);
}
TEST_F(PrimitiveFactoryTest, test_create_stop_primitive_brake)
{
auto stop_primitive = createStopPrimitiveProto();
ASSERT_TRUE(stop_primitive->has_stop());
}