From 803a25e884a516a324fcc63a4d1e8ed90ea368ae Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Sun, 7 Nov 2021 06:56:37 -0600 Subject: [PATCH] Updating settings test for palette settings, adding streams test --- test/data | 2 +- .../scwx/qt/manager/settings_manager.test.cpp | 7 +- test/source/scwx/util/streams.test.cpp | 116 ++++++++++++++++++ test/test.cmake | 1 + 4 files changed, 123 insertions(+), 3 deletions(-) create mode 100644 test/source/scwx/util/streams.test.cpp diff --git a/test/data b/test/data index f52ed286..dd31c585 160000 --- a/test/data +++ b/test/data @@ -1 +1 @@ -Subproject commit f52ed2862e07b849e826ee5964e415ef73d21bb6 +Subproject commit dd31c5857e2747e8ff5e0628aaf038f3eb45c2bb diff --git a/test/source/scwx/qt/manager/settings_manager.test.cpp b/test/source/scwx/qt/manager/settings_manager.test.cpp index 0d90c11b..a1304e0b 100644 --- a/test/source/scwx/qt/manager/settings_manager.test.cpp +++ b/test/source/scwx/qt/manager/settings_manager.test.cpp @@ -25,19 +25,22 @@ void VerifyDefaults() { std::shared_ptr defaultGeneralSettings = settings::GeneralSettings::Create(); + std::shared_ptr defaultPaletteSettings = + settings::PaletteSettings::Create(); EXPECT_EQ(*defaultGeneralSettings, *SettingsManager::general_settings()); + EXPECT_EQ(*defaultPaletteSettings, *SettingsManager::palette_settings()); } void CompareFiles(const std::string& file1, const std::string& file2) { std::ifstream ifs1 {file1}; std::stringstream buffer1; - buffer1 << buffer1.rdbuf(); + buffer1 << ifs1.rdbuf(); std::ifstream ifs2 {file2}; std::stringstream buffer2; - buffer2 << buffer2.rdbuf(); + buffer2 << ifs2.rdbuf(); EXPECT_EQ(buffer1.str(), buffer2.str()); } diff --git a/test/source/scwx/util/streams.test.cpp b/test/source/scwx/util/streams.test.cpp new file mode 100644 index 00000000..948c0ecf --- /dev/null +++ b/test/source/scwx/util/streams.test.cpp @@ -0,0 +1,116 @@ +#include + +#include + +namespace scwx +{ +namespace util +{ + +void VerifyTokens(const std::vector& tokens) +{ + ASSERT_EQ(tokens.size(), 4); + EXPECT_EQ(tokens[0], "One"); + EXPECT_EQ(tokens[1], "Two"); + EXPECT_EQ(tokens[2], "Three"); + EXPECT_EQ(tokens[3], ""); +} + +TEST(StreamsTest, CRNoEnd) +{ + std::stringstream ss {"One\rTwo\rThree"}; + std::vector tokens; + std::string t; + + while (scwx::util::getline(ss, t)) + { + tokens.push_back(t); + } + + EXPECT_EQ(ss.eof(), true); + + VerifyTokens(tokens); +} + +TEST(StreamsTest, CRWithEnd) +{ + std::stringstream ss {"One\rTwo\rThree\r"}; + std::vector tokens; + std::string t; + + while (scwx::util::getline(ss, t)) + { + tokens.push_back(t); + } + + EXPECT_EQ(ss.eof(), true); + + VerifyTokens(tokens); +} + +TEST(StreamsTest, CRLFNoEnd) +{ + std::stringstream ss {"One\r\nTwo\r\nThree"}; + std::vector tokens; + std::string t; + + while (scwx::util::getline(ss, t)) + { + tokens.push_back(t); + } + + EXPECT_EQ(ss.eof(), true); + + VerifyTokens(tokens); +} + +TEST(StreamsTest, CRLFWithEnd) +{ + std::stringstream ss {"One\r\nTwo\r\nThree\r\n"}; + std::vector tokens; + std::string t; + + while (scwx::util::getline(ss, t)) + { + tokens.push_back(t); + } + + EXPECT_EQ(ss.eof(), true); + + VerifyTokens(tokens); +} + +TEST(StreamsTest, LFNoEnd) +{ + std::stringstream ss {"One\nTwo\nThree"}; + std::vector tokens; + std::string t; + + while (scwx::util::getline(ss, t)) + { + tokens.push_back(t); + } + + EXPECT_EQ(ss.eof(), true); + + VerifyTokens(tokens); +} + +TEST(StreamsTest, LFWithEnd) +{ + std::stringstream ss {"One\nTwo\nThree\n"}; + std::vector tokens; + std::string t; + + while (scwx::util::getline(ss, t)) + { + tokens.push_back(t); + } + + EXPECT_EQ(ss.eof(), true); + + VerifyTokens(tokens); +} + +} // namespace util +} // namespace scwx diff --git a/test/test.cmake b/test/test.cmake index 476e975f..528094a2 100644 --- a/test/test.cmake +++ b/test/test.cmake @@ -11,6 +11,7 @@ set(SRC_MAIN source/scwx/wxtest.cpp) set(SRC_COMMON_TESTS source/scwx/common/color_table.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 source/scwx/util/vectorbuf.test.cpp) set(SRC_WSR88D_TESTS source/scwx/wsr88d/ar2v_file.test.cpp)