Support loadable radar sites

This commit is contained in:
Dan Paulat 2022-01-31 00:30:05 -06:00
parent 56cda08b0d
commit 9c2f86b00a
8 changed files with 510 additions and 3 deletions

View file

@ -0,0 +1,36 @@
#include <scwx/qt/config/radar_site.hpp>
#include <gtest/gtest.h>
namespace scwx
{
namespace qt
{
namespace config
{
static const std::string DEFAULT_RADAR_SITE_FILE =
":/res/config/radar_sites.json";
TEST(RadarSite, DefaultConfig)
{
size_t numSites = RadarSite::ReadConfig(DEFAULT_RADAR_SITE_FILE);
ASSERT_GT(numSites, 0);
EXPECT_EQ(numSites, 204);
std::shared_ptr<RadarSite> radarSite = RadarSite::Get("KLSX");
ASSERT_NE(radarSite, nullptr);
EXPECT_EQ(radarSite->type(), "wsr88d");
EXPECT_EQ(radarSite->country(), "USA");
EXPECT_EQ(radarSite->state(), "MO");
EXPECT_EQ(radarSite->place(), "St. Louis");
EXPECT_DOUBLE_EQ(radarSite->latitude(), 38.6986863);
EXPECT_DOUBLE_EQ(radarSite->longitude(), -90.682877);
}
} // namespace config
} // namespace qt
} // namespace scwx

View file

@ -13,6 +13,7 @@ set(SRC_AWIPS_TESTS source/scwx/awips/coded_location.test.cpp
source/scwx/awips/pvtec.test.cpp
source/scwx/awips/text_product_file.test.cpp)
set(SRC_COMMON_TESTS source/scwx/common/color_table.test.cpp)
set(SRC_QT_CONFIG_TESTS source/scwx/qt/config/radar_site.test.cpp)
set(SRC_QT_MANAGER_TESTS source/scwx/qt/manager/settings_manager.test.cpp)
set(SRC_UTIL_TESTS source/scwx/util/rangebuf.test.cpp
source/scwx/util/streams.test.cpp
@ -23,6 +24,7 @@ set(SRC_WSR88D_TESTS source/scwx/wsr88d/ar2v_file.test.cpp
add_executable(wxtest ${SRC_MAIN}
${SRC_AWIPS_TESTS}
${SRC_COMMON_TESTS}
${SRC_QT_CONFIG_TESTS}
${SRC_QT_MANAGER_TESTS}
${SRC_UTIL_TESTS}
${SRC_WSR88D_TESTS})
@ -30,6 +32,7 @@ add_executable(wxtest ${SRC_MAIN}
source_group("Source Files\\main" FILES ${SRC_MAIN})
source_group("Source Files\\awips" FILES ${SRC_AWIPS_TESTS})
source_group("Source Files\\common" FILES ${SRC_COMMON_TESTS})
source_group("Source Files\\qt\\config" FILES ${SRC_QT_CONFIG_TESTS})
source_group("Source Files\\qt\\manager" FILES ${SRC_QT_MANAGER_TESTS})
source_group("Source Files\\util" FILES ${SRC_UTIL_TESTS})
source_group("Source Files\\wsr88d" FILES ${SRC_WSR88D_TESTS})