blob: 9922b1b235578d619b5d3f38f201f6f3caa988a0 [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 Ostrowskicb8b4082024-01-21 02:23:46 -080031TEST(TeamNumberTest, ParsePiOrOrinTeamNumber) {
32 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
40 EXPECT_FALSE(ParseRoborioTeamNumber("pi"));
41 EXPECT_FALSE(ParseRoborioTeamNumber("pi-"));
42 EXPECT_FALSE(ParseRoborioTeamNumber("pi-971"));
43 EXPECT_FALSE(ParseRoborioTeamNumber("pi-971a-1"));
Jim Ostrowskicb8b4082024-01-21 02:23:46 -080044 EXPECT_FALSE(ParseRoborioTeamNumber("orin-971-1"));
Austin Schuh1f2996e2020-03-15 23:09:00 -070045
Jim Ostrowskicb8b4082024-01-21 02:23:46 -080046 EXPECT_EQ(1u, *ParsePiOrOrinNumber("pi-971-1"));
47 EXPECT_EQ(22u, *ParsePiOrOrinNumber("pi-8971-22"));
48 EXPECT_EQ(1u, *ParsePiOrOrinNumber("orin-971-1"));
49 EXPECT_EQ(22u, *ParsePiOrOrinNumber("orin-8971-22"));
Austin Schuh1f2996e2020-03-15 23:09:00 -070050
Jim Ostrowskicb8b4082024-01-21 02:23:46 -080051 EXPECT_FALSE(ParsePiOrOrinNumber("pi-8971-"));
52 EXPECT_FALSE(ParsePiOrOrinNumber("pi"));
53 EXPECT_FALSE(ParsePiOrOrinNumber("pi-"));
54 EXPECT_FALSE(ParsePiOrOrinNumber("pi-971"));
55
56 EXPECT_FALSE(ParsePiOrOrinNumber("orin-8971-"));
57 EXPECT_FALSE(ParsePiOrOrinNumber("orin"));
58 EXPECT_FALSE(ParsePiOrOrinNumber("orin-"));
59 EXPECT_FALSE(ParsePiOrOrinNumber("orin-971"));
Brian Silverman5f06ed22020-02-17 21:49:42 -080060}
61
Stephan Pleinesf63bde82024-01-13 15:59:33 -080062} // namespace aos::network::testing