Skip to content

Commit 8f468f1

Browse files
committed
test: Add test for "check_covariance_ellipse" function
Signed-off-by: Motsu-san <83898149+Motsu-san@users.noreply.github.com>
1 parent d8274a2 commit 8f468f1

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

localization/autoware_ekf_localizer/test/test_diagnostics.cpp

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,37 @@ TEST(TestEkfDiagnostics, check_measurement_mahalanobis_gate)
171171
EXPECT_TRUE(found_invalid);
172172
}
173173

174+
TEST(TestEkfDiagnostics, check_covariance_ellipse)
175+
{
176+
diagnostic_msgs::msg::DiagnosticStatus stat;
177+
178+
const std::string name = "cov_ellipse";
179+
const double curr_size = 0.5;
180+
const double warn_threshold = 1.0;
181+
const double error_threshold = 2.0;
182+
183+
// Normal case
184+
stat = check_covariance_ellipse(name, curr_size, warn_threshold, error_threshold, false);
185+
EXPECT_EQ(stat.level, diagnostic_msgs::msg::DiagnosticStatus::OK);
186+
187+
// Warn case
188+
stat = check_covariance_ellipse(name, 1.5, warn_threshold, error_threshold, false);
189+
EXPECT_EQ(stat.level, diagnostic_msgs::msg::DiagnosticStatus::WARN);
190+
191+
// Error case
192+
stat = check_covariance_ellipse(name, 2.5, warn_threshold, error_threshold, false);
193+
EXPECT_EQ(stat.level, diagnostic_msgs::msg::DiagnosticStatus::ERROR);
194+
195+
// is_invalid true
196+
stat = check_covariance_ellipse(name, curr_size, warn_threshold, error_threshold, true);
197+
EXPECT_EQ(stat.level, diagnostic_msgs::msg::DiagnosticStatus::WARN);
198+
bool found_invalid = false;
199+
for (const auto & kv : stat.values) {
200+
if (kv.key == "cov_ellipse_is_invalid" && kv.value == "True") found_invalid = true;
201+
}
202+
EXPECT_TRUE(found_invalid);
203+
}
204+
174205
TEST(TestLocalizationErrorMonitorDiagnostics, merge_diagnostic_status)
175206
{
176207
diagnostic_msgs::msg::DiagnosticStatus merged_stat;

0 commit comments

Comments
 (0)