blob: 1ca3fc26ccf4987e808a40eeff4c9486a5a0d6fa [file] [log] [blame]
John Park33858a32018-09-28 23:05:48 -07001#include "aos/network/team_number.h"
Austin Schuhdf5591e2015-12-19 22:36:50 -08002
3#include "gtest/gtest.h"
4
Stephan Pleinesf63bde82024-01-13 15:59:33 -08005namespace aos::network::testing {
Austin Schuhdf5591e2015-12-19 22:36:50 -08006
Brian Silverman5f06ed22020-02-17 21:49:42 -08007using team_number_internal::ParsePiTeamNumber;
Austin Schuh1f2996e2020-03-15 23:09:00 -07008using team_number_internal::ParseRoborioTeamNumber;
Austin Schuhdf5591e2015-12-19 22:36:50 -08009
Brian Silverman3dfbfb12020-02-17 20:35:18 -080010TEST(TeamNumberTest, Parse2015TeamNumber) {
11 EXPECT_EQ(971u, *ParseRoborioTeamNumber("roboRIO-971"));
12
13 EXPECT_EQ(8971u, ParseRoborioTeamNumber("roboRIO-8971"));
14
15 EXPECT_FALSE(ParseRoborioTeamNumber("abc"));
16 EXPECT_FALSE(ParseRoborioTeamNumber("roboRIO-8abc"));
17 EXPECT_FALSE(ParseRoborioTeamNumber("roboRIO-"));
Austin Schuhdf5591e2015-12-19 22:36:50 -080018}
19
20TEST(TeamNumberTest, Parse2016TeamNumber) {
Brian Silverman3dfbfb12020-02-17 20:35:18 -080021 EXPECT_EQ(971u, *ParseRoborioTeamNumber("roboRIO-971-FRC"));
Austin Schuhdf5591e2015-12-19 22:36:50 -080022
Brian Silverman3dfbfb12020-02-17 20:35:18 -080023 EXPECT_EQ(8971u, *ParseRoborioTeamNumber("roboRIO-8971-FRC"));
24
25 EXPECT_FALSE(ParseRoborioTeamNumber("roboRIO-8abc-FRC"));
26 EXPECT_FALSE(ParseRoborioTeamNumber("roboRIO-8971-FRC2"));
27 EXPECT_FALSE(ParseRoborioTeamNumber("roboRIO-8971-2FRC"));
28 EXPECT_FALSE(ParseRoborioTeamNumber("roboRIO--FRC"));
Austin Schuhdf5591e2015-12-19 22:36:50 -080029}
30
Brian Silverman5f06ed22020-02-17 21:49:42 -080031TEST(TeamNumberTest, ParsePiTeamNumber) {
32 EXPECT_EQ(971u, *ParsePiTeamNumber("pi-971-1"));
33 EXPECT_EQ(8971u, *ParsePiTeamNumber("pi-8971-22"));
34 EXPECT_EQ(8971u, *ParsePiTeamNumber("pi-8971-"));
35
36 EXPECT_FALSE(ParseRoborioTeamNumber("pi"));
37 EXPECT_FALSE(ParseRoborioTeamNumber("pi-"));
38 EXPECT_FALSE(ParseRoborioTeamNumber("pi-971"));
39 EXPECT_FALSE(ParseRoborioTeamNumber("pi-971a-1"));
Austin Schuh1f2996e2020-03-15 23:09:00 -070040
41 EXPECT_EQ(1u, *ParsePiNumber("pi-971-1"));
42 EXPECT_EQ(22u, *ParsePiNumber("pi-8971-22"));
43
44 EXPECT_FALSE(ParsePiNumber("pi-8971-"));
45 EXPECT_FALSE(ParsePiNumber("pi"));
46 EXPECT_FALSE(ParsePiNumber("pi-"));
47 EXPECT_FALSE(ParsePiNumber("pi-971"));
Brian Silverman5f06ed22020-02-17 21:49:42 -080048}
49
Stephan Pleinesf63bde82024-01-13 15:59:33 -080050} // namespace aos::network::testing