Skip to content

Commit 17b45e5

Browse files
committed
adding more tests for GPS Broadcaster
1 parent d5cea7c commit 17b45e5

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

Software/real_time/ROS_RoboBuggy/src/robobuggy/test/gps/GPS_Broadcaster_Test.cpp

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,74 @@ TEST(GPS_Tests, standard_message)
2020
ASSERT_NEAR(msg->Long_deg, 11.51667, 0.001);
2121
}
2222

23+
TEST(GPS_Tests,invalid_data_unfixed)
24+
{
25+
GPS_Broadcaster broadcaster;
26+
std::string token_string = "$GPGGA,1,4.0,N,011.1,E,0,08,0.9,545.4,M,46.9,M,,*47";
27+
28+
std::istringstream ss(token_string);
29+
std::string tokens[10];
30+
31+
for (int i = 0; i < 10; i++)
32+
{
33+
std::getline(ss, tokens[i], ',');
34+
}
35+
36+
robobuggy::GPS* msg = broadcaster.parse_tokens(tokens);
37+
ASSERT_TRUE(msg==NULL);
38+
}
39+
40+
TEST(GPS_Tests,valid_data_unfixed)
41+
{
42+
GPS_Broadcaster broadcaster;
43+
std::string token_string = "$GPGGA,123519,4807.038,N,01131.000,E,0,08,0.9,545.4,M,46.9,M,,*47";
44+
45+
std::istringstream ss(token_string);
46+
std::string tokens[10];
47+
48+
for (int i = 0; i < 10; i++)
49+
{
50+
std::getline(ss, tokens[i], ',');
51+
}
52+
53+
robobuggy::GPS* msg = broadcaster.parse_tokens(tokens);
54+
ASSERT_TRUE(msg==NULL);
55+
}
56+
57+
TEST(GPS_Tests,non_GGA_format)
58+
{
59+
GPS_Broadcaster broadcaster;
60+
std::string token_string = "$GPVTG,123519,4807.038,N,01131.000,E,0,08,0.9,545.4,M,46.9,M,,*47";
61+
62+
std::istringstream ss(token_string);
63+
std::string tokens[10];
64+
65+
for (int i = 0; i < 10; i++)
66+
{
67+
std::getline(ss, tokens[i], ',');
68+
}
69+
70+
robobuggy::GPS* msg = broadcaster.parse_tokens(tokens);
71+
ASSERT_TRUE(msg==NULL);
72+
}
73+
74+
TEST(GPS_Tests,missing_field)
75+
{
76+
GPS_Broadcaster broadcaster;
77+
std::string token_string = "$GPGGA,123519,4807.038,N,,E,1,08,0.9,545.4,M,46.9,M,,*47";
78+
79+
std::istringstream ss(token_string);
80+
std::string tokens[10];
81+
82+
for (int i = 0; i < 10; i++)
83+
{
84+
std::getline(ss, tokens[i], ',');
85+
}
86+
87+
robobuggy::GPS* msg = broadcaster.parse_tokens(tokens);
88+
ASSERT_TRUE(msg==NULL);
89+
}
90+
2391
TEST(GPS_Tests, not_fixed)
2492
{
2593
GPS_Broadcaster broadcaster;

0 commit comments

Comments
 (0)