Add GetCounties to county database

- Also remove mutex, as the database is only modified on initialization
This commit is contained in:
Dan Paulat 2023-12-06 06:20:00 -06:00
parent 7cf2121b8e
commit bcc7391a19
3 changed files with 80 additions and 16 deletions

View file

@ -15,6 +15,12 @@ class CountyDatabaseTest :
virtual void SetUp() { scwx::qt::config::CountyDatabase::Initialize(); }
};
class CountyCountTest :
public testing::TestWithParam<std::pair<std::string, std::size_t>>
{
virtual void SetUp() { scwx::qt::config::CountyDatabase::Initialize(); }
};
TEST_P(CountyDatabaseTest, CountyName)
{
auto& [id, name] = GetParam();
@ -24,6 +30,15 @@ TEST_P(CountyDatabaseTest, CountyName)
EXPECT_EQ(actualName, name);
}
TEST_P(CountyCountTest, State)
{
auto& [state, size] = GetParam();
auto counties = CountyDatabase::GetCounties(state);
EXPECT_EQ(counties.size(), size);
}
INSTANTIATE_TEST_SUITE_P(
CountyDatabase,
CountyDatabaseTest,
@ -33,6 +48,14 @@ INSTANTIATE_TEST_SUITE_P(
std::make_pair("GMZ335", "Galveston Bay"),
std::make_pair("ANZ338", "New York Harbor")));
INSTANTIATE_TEST_SUITE_P(CountyDatabase,
CountyCountTest,
testing::Values(std::make_pair("AZ", 15),
std::make_pair("MO", 115),
std::make_pair("TX", 254),
std::make_pair("GM", 0),
std::make_pair("AN", 0)));
} // namespace config
} // namespace qt
} // namespace scwx