mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 08:00:06 +00:00
AWS Level 3 Data Provider
This commit is contained in:
parent
c5c54fbfa2
commit
70b8f78eb5
7 changed files with 259 additions and 1 deletions
91
test/source/scwx/provider/aws_level3_data_provider.test.cpp
Normal file
91
test/source/scwx/provider/aws_level3_data_provider.test.cpp
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
#include <scwx/provider/aws_level3_data_provider.hpp>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
namespace scwx
|
||||
{
|
||||
namespace provider
|
||||
{
|
||||
|
||||
TEST(AwsLevel3DataProvider, FindKeyFixed)
|
||||
{
|
||||
using namespace std::chrono;
|
||||
using sys_days = time_point<system_clock, days>;
|
||||
|
||||
const auto date = sys_days {2021y / May / 27d};
|
||||
const auto time = date + 17h + 59min;
|
||||
|
||||
AwsLevel3DataProvider provider("KLSX", "N0Q");
|
||||
|
||||
provider.ListObjects(date);
|
||||
std::string key = provider.FindKey(time);
|
||||
|
||||
EXPECT_EQ(key, "LSX_N0Q_2021_05_27_17_57_17");
|
||||
}
|
||||
|
||||
TEST(AwsLevel3DataProvider, FindKeyNow)
|
||||
{
|
||||
AwsLevel3DataProvider provider("KLSX", "N0B");
|
||||
|
||||
provider.Refresh();
|
||||
std::string key = provider.FindKey(std::chrono::system_clock::now());
|
||||
|
||||
EXPECT_GT(key.size(), 0);
|
||||
}
|
||||
|
||||
TEST(AwsLevel3DataProvider, LoadObjectByKey)
|
||||
{
|
||||
const std::string key = "LSX_N0Q_2021_05_27_17_57_17";
|
||||
|
||||
AwsLevel3DataProvider provider("KLSX", "N0Q");
|
||||
|
||||
auto file = provider.LoadObjectByKey(key);
|
||||
|
||||
EXPECT_NE(file, nullptr);
|
||||
}
|
||||
|
||||
TEST(AwsLevel3DataProvider, Refresh)
|
||||
{
|
||||
AwsLevel3DataProvider provider("KLSX", "N0B");
|
||||
|
||||
size_t newObjects = provider.Refresh();
|
||||
|
||||
EXPECT_GT(newObjects, 0);
|
||||
EXPECT_GT(provider.cache_size(), 0);
|
||||
}
|
||||
|
||||
TEST(AwsLevel3DataProvider, TimePointValid)
|
||||
{
|
||||
using namespace std::chrono;
|
||||
using sys_days = time_point<system_clock, days>;
|
||||
|
||||
constexpr auto expectedTime =
|
||||
sys_days {2022y / April / 30d} + 17h + 27min + 34s;
|
||||
|
||||
auto time =
|
||||
AwsLevel3DataProvider::GetTimePointFromKey("LSX_N0Q_2022_04_30_17_27_34");
|
||||
|
||||
EXPECT_EQ(time, expectedTime);
|
||||
}
|
||||
|
||||
TEST(AwsLevel3DataProvider, TimePointInvalid)
|
||||
{
|
||||
constexpr std::chrono::system_clock::time_point expectedTime {};
|
||||
|
||||
auto time = AwsLevel3DataProvider::GetTimePointFromKey(
|
||||
"LSX_N0Q_2022-04-30_17-27-34");
|
||||
|
||||
EXPECT_EQ(time, expectedTime);
|
||||
}
|
||||
|
||||
TEST(AwsLevel3DataProvider, TimePointBadKey)
|
||||
{
|
||||
constexpr std::chrono::system_clock::time_point expectedTime {};
|
||||
|
||||
auto time = AwsLevel3DataProvider::GetTimePointFromKey("???");
|
||||
|
||||
EXPECT_EQ(time, expectedTime);
|
||||
}
|
||||
|
||||
} // namespace provider
|
||||
} // namespace scwx
|
||||
|
|
@ -13,7 +13,8 @@ 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_PROVIDER_TESTS source/scwx/provider/aws_level2_data_provider.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)
|
||||
set(SRC_QT_MANAGER_TESTS source/scwx/qt/manager/settings_manager.test.cpp)
|
||||
set(SRC_UTIL_TESTS source/scwx/util/float.test.cpp
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue