diff --git a/wpilibc/src/main/native/cpp/Alert.cpp b/wpilibc/src/main/native/cpp/Alert.cpp index 17fa52f4ea..f74f0ab759 100644 --- a/wpilibc/src/main/native/cpp/Alert.cpp +++ b/wpilibc/src/main/native/cpp/Alert.cpp @@ -87,9 +87,9 @@ class Alert::SendableAlerts : public nt::NTSendable, wpi::SendableRegistry::EnsureInitialized(); static wpi::StringMap groups; - auto [iter, exists] = groups.try_emplace(group); + auto [iter, inserted] = groups.try_emplace(group); SendableAlerts& sendable = iter->second; - if (!exists) { + if (inserted) { frc::SmartDashboard::PutData(group, &iter->second); } return sendable; diff --git a/wpilibc/src/test/native/cpp/AlertTest.cpp b/wpilibc/src/test/native/cpp/AlertTest.cpp index a02e0166a8..b19f0dd0c4 100644 --- a/wpilibc/src/test/native/cpp/AlertTest.cpp +++ b/wpilibc/src/test/native/cpp/AlertTest.cpp @@ -33,8 +33,7 @@ class AlertsTest : public ::testing::Test { std::string GetGroupName() { const ::testing::TestInfo* testInfo = ::testing::UnitTest::GetInstance()->current_test_info(); - return fmt::format("{}_{}", testInfo->test_suite_name(), - testInfo->test_case_name()); + return fmt::format("{}_{}", testInfo->test_suite_name(), testInfo->name()); } template @@ -80,7 +79,16 @@ class AlertsTest : public ::testing::Test { #define EXPECT_STATE(type, ...) \ EXPECT_EQ(GetActiveAlerts(type), (std::vector{__VA_ARGS__})) -TEST_F(AlertsTest, SetUnset) { +TEST_F(AlertsTest, SetUnsetSingle) { + auto one = MakeAlert("one", kInfo); + EXPECT_FALSE(IsAlertActive("one", kInfo)); + one.Set(true); + EXPECT_TRUE(IsAlertActive("one", kInfo)); + one.Set(false); + EXPECT_FALSE(IsAlertActive("one", kInfo)); +} + +TEST_F(AlertsTest, SetUnsetMultiple) { auto one = MakeAlert("one", kError); auto two = MakeAlert("two", kInfo); EXPECT_FALSE(IsAlertActive("one", kError)); diff --git a/wpilibj/src/test/java/edu/wpi/first/wpilibj/AlertTest.java b/wpilibj/src/test/java/edu/wpi/first/wpilibj/AlertTest.java index 3e1f9b3abd..79e4bb0f88 100644 --- a/wpilibj/src/test/java/edu/wpi/first/wpilibj/AlertTest.java +++ b/wpilibj/src/test/java/edu/wpi/first/wpilibj/AlertTest.java @@ -81,7 +81,18 @@ class AlertTest { } @Test - void setUnset() { + void setUnsetSingle() { + try (var one = makeAlert("one", AlertType.kInfo)) { + assertFalse(isAlertActive("one", AlertType.kInfo)); + one.set(true); + assertTrue(isAlertActive("one", AlertType.kInfo)); + one.set(false); + assertFalse(isAlertActive("one", AlertType.kInfo)); + } + } + + @Test + void setUnsetMultiple() { try (var one = makeAlert("one", AlertType.kError); var two = makeAlert("two", AlertType.kInfo)) { assertFalse(isAlertActive("one", AlertType.kError));