Nexrad File Factory

This commit is contained in:
Dan Paulat 2022-02-10 22:10:22 -06:00
parent 3620bfd13a
commit a32029cb31
11 changed files with 322 additions and 31 deletions

@ -1 +1 @@
Subproject commit a1b78dcb40b85271270afd7dc9d88fe8594471b2
Subproject commit 45539a5b0ecfc6baaaf7355b6b9542cc31ed9ecd

View file

@ -0,0 +1,57 @@
#include <scwx/wsr88d/nexrad_file_factory.hpp>
#include <scwx/wsr88d/ar2v_file.hpp>
#include <scwx/wsr88d/level3_file.hpp>
#include <gtest/gtest.h>
#include <boost/log/trivial.hpp>
namespace scwx
{
namespace wsr88d
{
static const std::string logPrefix_ =
"[scwx::wsr88d::nexrad_file_factory.test] ";
TEST(NexradFileFactory, Level2V06)
{
std::string filename = std::string(SCWX_TEST_DATA_DIR) +
"/nexrad/level2/Level2_KLSX_20210527_1757.ar2v";
std::shared_ptr<NexradFile> file = NexradFileFactory::Create(filename);
std::shared_ptr<Ar2vFile> level2File =
std::dynamic_pointer_cast<Ar2vFile>(file);
EXPECT_NE(file, nullptr);
EXPECT_NE(level2File, nullptr);
}
TEST(NexradFileFactory, Level2V06Gzip)
{
std::string filename = std::string(SCWX_TEST_DATA_DIR) +
"/nexrad/level2/KLSX20130206_175044_V06.gz";
std::shared_ptr<NexradFile> file = NexradFileFactory::Create(filename);
std::shared_ptr<Ar2vFile> level2File =
std::dynamic_pointer_cast<Ar2vFile>(file);
EXPECT_NE(file, nullptr);
EXPECT_NE(level2File, nullptr);
}
TEST(NexradFileFactory, Level3)
{
std::string filename = std::string(SCWX_TEST_DATA_DIR) +
"/nexrad/level3/KLSX_SDUS23_N2QLSX_202112110250";
std::shared_ptr<NexradFile> file = NexradFileFactory::Create(filename);
std::shared_ptr<Level3File> level3File =
std::dynamic_pointer_cast<Level3File>(file);
EXPECT_NE(file, nullptr);
EXPECT_NE(level3File, nullptr);
}
} // namespace wsr88d
} // namespace scwx

View file

@ -19,7 +19,8 @@ set(SRC_UTIL_TESTS source/scwx/util/rangebuf.test.cpp
source/scwx/util/streams.test.cpp
source/scwx/util/vectorbuf.test.cpp)
set(SRC_WSR88D_TESTS source/scwx/wsr88d/ar2v_file.test.cpp
source/scwx/wsr88d/level3_file.test.cpp)
source/scwx/wsr88d/level3_file.test.cpp
source/scwx/wsr88d/nexrad_file_factory.test.cpp)
add_executable(wxtest ${SRC_MAIN}
${SRC_AWIPS_TESTS}