blob: 278a364901e1b0fefcd4317dbd0fab4ee88b9390 [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
Jim Ostrowskicb8b4082024-01-21 02:23:46 -08007using team_number_internal::ParsePiOrOrinTeamNumber;
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
Jim Ostrowski73ffc7a2024-09-21 15:13:18 -070031TEST(HostnameParseTest, ParsePiOrOrinTeamNumber) {
Jim Ostrowskicb8b4082024-01-21 02:23:46 -080032 EXPECT_EQ(971u, *ParsePiOrOrinTeamNumber("pi-971-1"));
33 EXPECT_EQ(8971u, *ParsePiOrOrinTeamNumber("pi-8971-22"));
34 EXPECT_EQ(8971u, *ParsePiOrOrinTeamNumber("pi-8971-"));
35
36 EXPECT_EQ(971u, *ParsePiOrOrinTeamNumber("orin-971-1"));
37 EXPECT_EQ(8971u, *ParsePiOrOrinTeamNumber("orin-8971-22"));
38 EXPECT_EQ(8971u, *ParsePiOrOrinTeamNumber("orin-8971-"));
Brian Silverman5f06ed22020-02-17 21:49:42 -080039
Jim Ostrowski73ffc7a2024-09-21 15:13:18 -070040 EXPECT_FALSE(ParsePiOrOrinTeamNumber("roboRIO-971-FRC"));
41
Brian Silverman5f06ed22020-02-17 21:49:42 -080042 EXPECT_FALSE(ParseRoborioTeamNumber("pi"));
43 EXPECT_FALSE(ParseRoborioTeamNumber("pi-"));
44 EXPECT_FALSE(ParseRoborioTeamNumber("pi-971"));
45 EXPECT_FALSE(ParseRoborioTeamNumber("pi-971a-1"));
Jim Ostrowskicb8b4082024-01-21 02:23:46 -080046 EXPECT_FALSE(ParseRoborioTeamNumber("orin-971-1"));
Jim Ostrowski73ffc7a2024-09-21 15:13:18 -070047}
Austin Schuh1f2996e2020-03-15 23:09:00 -070048
Jim Ostrowski73ffc7a2024-09-21 15:13:18 -070049TEST(HostnameParseTest, ParsePiOrOrinNumber) {
Jim Ostrowskicb8b4082024-01-21 02:23:46 -080050 EXPECT_EQ(1u, *ParsePiOrOrinNumber("pi-971-1"));
51 EXPECT_EQ(22u, *ParsePiOrOrinNumber("pi-8971-22"));
52 EXPECT_EQ(1u, *ParsePiOrOrinNumber("orin-971-1"));
53 EXPECT_EQ(22u, *ParsePiOrOrinNumber("orin-8971-22"));
Austin Schuh1f2996e2020-03-15 23:09:00 -070054
Jim Ostrowskicb8b4082024-01-21 02:23:46 -080055 EXPECT_FALSE(ParsePiOrOrinNumber("pi-8971-"));
56 EXPECT_FALSE(ParsePiOrOrinNumber("pi"));
57 EXPECT_FALSE(ParsePiOrOrinNumber("pi-"));
58 EXPECT_FALSE(ParsePiOrOrinNumber("pi-971"));
59
60 EXPECT_FALSE(ParsePiOrOrinNumber("orin-8971-"));
61 EXPECT_FALSE(ParsePiOrOrinNumber("orin"));
62 EXPECT_FALSE(ParsePiOrOrinNumber("orin-"));
63 EXPECT_FALSE(ParsePiOrOrinNumber("orin-971"));
Brian Silverman5f06ed22020-02-17 21:49:42 -080064}
65
Jim Ostrowski73ffc7a2024-09-21 15:13:18 -070066TEST(HostnameParseTest, ParsePiOrOrin) {
67 EXPECT_EQ("pi", *ParsePiOrOrin("pi-971-1"));
68 EXPECT_EQ("pi", *ParsePiOrOrin("pi-8971-22"));
69 EXPECT_EQ("pi", *ParsePiOrOrin("pi-8971-"));
70
71 EXPECT_EQ("orin", *ParsePiOrOrin("orin-971-1"));
72 EXPECT_EQ("orin", *ParsePiOrOrin("orin-8971-22"));
73 EXPECT_EQ("orin", *ParsePiOrOrin("orin-8971-"));
74
75 EXPECT_EQ("orin", *ParsePiOrOrin("imu-971-1"));
76
77 EXPECT_FALSE(ParsePiOrOrin("roboRIO-971-FRC"));
78 EXPECT_FALSE(ParsePiOrOrin("laptop"));
79}
80
Stephan Pleinesf63bde82024-01-13 15:59:33 -080081} // namespace aos::network::testing