mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-07-05 03:21:42 +00:00
[wpilibc] Change DriverStationSim to use a C++ enum for alliance station (#8991)
This commit is contained in:
@@ -127,81 +127,88 @@ TEST(DriverStationTest, AllianceStationId) {
|
||||
|
||||
EnumCallback callback;
|
||||
|
||||
HAL_AllianceStationID allianceStation = HAL_ALLIANCE_STATION_BLUE_2;
|
||||
hal::AllianceStationID allianceStation = hal::AllianceStationID::BLUE_2;
|
||||
DriverStationSim::SetAllianceStationId(allianceStation);
|
||||
|
||||
auto cb = DriverStationSim::RegisterAllianceStationIdCallback(
|
||||
callback.GetCallback(), false);
|
||||
|
||||
// Unknown
|
||||
allianceStation = HAL_ALLIANCE_STATION_UNKNOWN;
|
||||
allianceStation = hal::AllianceStationID::UNKNOWN;
|
||||
DriverStationSim::SetAllianceStationId(allianceStation);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
EXPECT_EQ(allianceStation, DriverStationSim::GetAllianceStationId());
|
||||
EXPECT_FALSE(MatchState::GetAlliance().has_value());
|
||||
EXPECT_FALSE(MatchState::GetLocation().has_value());
|
||||
EXPECT_TRUE(callback.WasTriggered());
|
||||
EXPECT_EQ(allianceStation, callback.GetLastValue());
|
||||
EXPECT_EQ(static_cast<HAL_AllianceStationID>(allianceStation),
|
||||
callback.GetLastValue());
|
||||
|
||||
// B1
|
||||
allianceStation = HAL_ALLIANCE_STATION_BLUE_1;
|
||||
allianceStation = hal::AllianceStationID::BLUE_1;
|
||||
DriverStationSim::SetAllianceStationId(allianceStation);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
EXPECT_EQ(allianceStation, DriverStationSim::GetAllianceStationId());
|
||||
EXPECT_EQ(Alliance::BLUE, MatchState::GetAlliance());
|
||||
EXPECT_EQ(1, MatchState::GetLocation());
|
||||
EXPECT_TRUE(callback.WasTriggered());
|
||||
EXPECT_EQ(allianceStation, callback.GetLastValue());
|
||||
EXPECT_EQ(static_cast<HAL_AllianceStationID>(allianceStation),
|
||||
callback.GetLastValue());
|
||||
|
||||
// B2
|
||||
allianceStation = HAL_ALLIANCE_STATION_BLUE_2;
|
||||
allianceStation = hal::AllianceStationID::BLUE_2;
|
||||
DriverStationSim::SetAllianceStationId(allianceStation);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
EXPECT_EQ(allianceStation, DriverStationSim::GetAllianceStationId());
|
||||
EXPECT_EQ(Alliance::BLUE, MatchState::GetAlliance());
|
||||
EXPECT_EQ(2, MatchState::GetLocation());
|
||||
EXPECT_TRUE(callback.WasTriggered());
|
||||
EXPECT_EQ(allianceStation, callback.GetLastValue());
|
||||
EXPECT_EQ(static_cast<HAL_AllianceStationID>(allianceStation),
|
||||
callback.GetLastValue());
|
||||
|
||||
// B3
|
||||
allianceStation = HAL_ALLIANCE_STATION_BLUE_3;
|
||||
allianceStation = hal::AllianceStationID::BLUE_3;
|
||||
DriverStationSim::SetAllianceStationId(allianceStation);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
EXPECT_EQ(allianceStation, DriverStationSim::GetAllianceStationId());
|
||||
EXPECT_EQ(Alliance::BLUE, MatchState::GetAlliance());
|
||||
EXPECT_EQ(3, MatchState::GetLocation());
|
||||
EXPECT_TRUE(callback.WasTriggered());
|
||||
EXPECT_EQ(allianceStation, callback.GetLastValue());
|
||||
EXPECT_EQ(static_cast<HAL_AllianceStationID>(allianceStation),
|
||||
callback.GetLastValue());
|
||||
|
||||
// R1
|
||||
allianceStation = HAL_ALLIANCE_STATION_RED_1;
|
||||
allianceStation = hal::AllianceStationID::RED_1;
|
||||
DriverStationSim::SetAllianceStationId(allianceStation);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
EXPECT_EQ(allianceStation, DriverStationSim::GetAllianceStationId());
|
||||
EXPECT_EQ(Alliance::RED, MatchState::GetAlliance());
|
||||
EXPECT_EQ(1, MatchState::GetLocation());
|
||||
EXPECT_TRUE(callback.WasTriggered());
|
||||
EXPECT_EQ(allianceStation, callback.GetLastValue());
|
||||
EXPECT_EQ(static_cast<HAL_AllianceStationID>(allianceStation),
|
||||
callback.GetLastValue());
|
||||
|
||||
// R2
|
||||
allianceStation = HAL_ALLIANCE_STATION_RED_2;
|
||||
allianceStation = hal::AllianceStationID::RED_2;
|
||||
DriverStationSim::SetAllianceStationId(allianceStation);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
EXPECT_EQ(allianceStation, DriverStationSim::GetAllianceStationId());
|
||||
EXPECT_EQ(Alliance::RED, MatchState::GetAlliance());
|
||||
EXPECT_EQ(2, MatchState::GetLocation());
|
||||
EXPECT_TRUE(callback.WasTriggered());
|
||||
EXPECT_EQ(allianceStation, callback.GetLastValue());
|
||||
EXPECT_EQ(static_cast<HAL_AllianceStationID>(allianceStation),
|
||||
callback.GetLastValue());
|
||||
|
||||
// R3
|
||||
allianceStation = HAL_ALLIANCE_STATION_RED_3;
|
||||
allianceStation = hal::AllianceStationID::RED_3;
|
||||
DriverStationSim::SetAllianceStationId(allianceStation);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
EXPECT_EQ(allianceStation, DriverStationSim::GetAllianceStationId());
|
||||
EXPECT_EQ(Alliance::RED, MatchState::GetAlliance());
|
||||
EXPECT_EQ(3, MatchState::GetLocation());
|
||||
EXPECT_TRUE(callback.WasTriggered());
|
||||
EXPECT_EQ(allianceStation, callback.GetLastValue());
|
||||
EXPECT_EQ(static_cast<HAL_AllianceStationID>(allianceStation),
|
||||
callback.GetLastValue());
|
||||
}
|
||||
|
||||
TEST(DriverStationTest, ReplayNumber) {
|
||||
|
||||
Reference in New Issue
Block a user