supercell-wx/test/source/scwx/awips/text_product_file.test.cpp
2022-01-23 16:53:45 -06:00

60 lines
1.6 KiB
C++

#include <scwx/awips/text_product_file.hpp>
#include <gtest/gtest.h>
#include <boost/log/trivial.hpp>
namespace scwx
{
namespace awips
{
static const std::string logPrefix_ = "[scwx::awips::text_product_file.test] ";
class TextProductValidFileTest : public testing::TestWithParam<std::string>
{
};
TEST_P(TextProductValidFileTest, ValidFile)
{
TextProductFile file;
auto param = GetParam();
const std::string filename {std::string(SCWX_TEST_DATA_DIR) + param};
file.LoadFile(filename);
EXPECT_GT(file.message_count(), 0);
}
INSTANTIATE_TEST_SUITE_P(
TextProductFile,
TextProductValidFileTest,
testing::Values("/warnings/warnings_20210604_21.txt",
"/warnings/warnings_20210606_15.txt",
"/warnings/warnings_20210606_22-59.txt",
"/nexrad/level3/KLSX_NOUS63_FTMLSX_202201041404"));
TEST(TextProductFile, Update)
{
const std::string filename1 {std::string(SCWX_TEST_DATA_DIR) +
"/warnings/warnings_20210606_22-08.txt"};
const std::string filename2 {std::string(SCWX_TEST_DATA_DIR) +
"/warnings/warnings_20210606_22-19.txt"};
const std::string filename3 {std::string(SCWX_TEST_DATA_DIR) +
"/warnings/warnings_20210606_22-59.txt"};
TextProductFile file;
file.LoadFile(filename1);
EXPECT_EQ(file.message_count(), 2);
file.LoadFile(filename2);
EXPECT_EQ(file.message_count(), 4);
file.LoadFile(filename3);
EXPECT_EQ(file.message_count(), 13);
}
} // namespace awips
} // namespace scwx