Level 3 category and product mappings

This commit is contained in:
Dan Paulat 2022-09-05 18:07:04 -05:00
parent c9c77050ed
commit 822e523400
4 changed files with 213 additions and 6 deletions

View file

@ -0,0 +1,56 @@
#include <scwx/common/products.hpp>
#include <gtest/gtest.h>
namespace scwx
{
namespace common
{
class GetLevel3ProductByAwipsIdTest :
public testing::TestWithParam<std::pair<std::string, std::string>>
{
};
TEST(Products, GetLevel3AwipsIdsByProductTest)
{
const auto& awipsIds = GetLevel3AwipsIdsByProduct("SDR");
EXPECT_NE(std::find(awipsIds.cbegin(), awipsIds.cend(), "N0B"),
awipsIds.cend());
EXPECT_NE(std::find(awipsIds.cbegin(), awipsIds.cend(), "N1B"),
awipsIds.cend());
EXPECT_EQ(std::find(awipsIds.cbegin(), awipsIds.cend(), "N0Q"),
awipsIds.cend());
}
TEST(Products, GetLevel3ProductsByCategoryTest)
{
const auto& products = GetLevel3ProductsByCategory(Level3ProductCategory::Reflectivity);
EXPECT_NE(std::find(products.cbegin(), products.cend(), "SDR"),
products.cend());
EXPECT_NE(std::find(products.cbegin(), products.cend(), "DR"),
products.cend());
EXPECT_EQ(std::find(products.cbegin(), products.cend(), "DV"),
products.cend());
}
TEST_P(GetLevel3ProductByAwipsIdTest, AwipsIdTest)
{
auto& [awipsId, productName] = GetParam();
std::string product {GetLevel3ProductByAwipsId(awipsId)};
EXPECT_EQ(product, productName);
}
INSTANTIATE_TEST_SUITE_P(Products,
GetLevel3ProductByAwipsIdTest,
testing::Values(std::make_pair("N0Q", "DR"),
std::make_pair("N0B", "SDR"),
std::make_pair("XXX", "?")));
} // namespace common
} // namespace scwx

View file

@ -12,7 +12,8 @@ set(SRC_AWIPS_TESTS source/scwx/awips/coded_location.test.cpp
source/scwx/awips/coded_time_motion_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_COMMON_TESTS source/scwx/common/color_table.test.cpp
source/scwx/common/products.test.cpp)
set(SRC_PROVIDER_TESTS source/scwx/provider/aws_level2_data_provider.test.cpp
source/scwx/provider/aws_level3_data_provider.test.cpp)
set(SRC_QT_CONFIG_TESTS source/scwx/qt/config/radar_site.test.cpp)