Find nearest radar site

This commit is contained in:
Dan Paulat 2023-02-19 13:01:19 -06:00
parent b739aad4bb
commit 4a31cf6d3e
3 changed files with 91 additions and 4 deletions

View file

@ -12,12 +12,23 @@ namespace config
static const std::string DEFAULT_RADAR_SITE_FILE =
":/res/config/radar_sites.json";
TEST(RadarSite, DefaultConfig)
class RadarSiteTest : public testing::Test
{
size_t numSites = RadarSite::ReadConfig(DEFAULT_RADAR_SITE_FILE);
protected:
static size_t numSites_;
ASSERT_GT(numSites, 0);
EXPECT_EQ(numSites, 204);
static void SetUpTestSuite()
{
numSites_ = RadarSite::ReadConfig(DEFAULT_RADAR_SITE_FILE);
}
};
size_t RadarSiteTest::numSites_ {0u};
TEST_F(RadarSiteTest, DefaultConfig)
{
ASSERT_GT(numSites_, 0);
EXPECT_EQ(numSites_, 204);
std::shared_ptr<RadarSite> radarSite = RadarSite::Get("KLSX");
@ -31,6 +42,25 @@ TEST(RadarSite, DefaultConfig)
EXPECT_DOUBLE_EQ(radarSite->longitude(), -90.682877);
}
TEST_F(RadarSiteTest, FindNearest)
{
ASSERT_GT(numSites_, 0);
std::shared_ptr<RadarSite> nearest1 =
RadarSite::FindNearest(46.591111, -112.020278); // Helena, MT
std::shared_ptr<RadarSite> nearest2 =
RadarSite::FindNearest(28.54, -81.38); // Orlando, FL
std::shared_ptr<RadarSite> nearest3 =
RadarSite::FindNearest(38.627222, -90.197778, "wsr88d"); // St Louis, MO
std::shared_ptr<RadarSite> nearest4 =
RadarSite::FindNearest(38.627222, -90.197778, "tdwr"); // St Louis, MO
EXPECT_EQ(nearest1->id(), "KTFX");
EXPECT_EQ(nearest2->id(), "TMCO");
EXPECT_EQ(nearest3->id(), "KLSX");
EXPECT_EQ(nearest4->id(), "TSTL");
}
} // namespace config
} // namespace qt
} // namespace scwx