/* * Author: Patrick-Christopher Mattulat * Company: Lynar Studios * E-Mail: webmaster@lynarstudios.com * Created: 2020-08-17 * Changed: 2023-03-25 * * */ #include #include #include #include using ls::std::core::FileNotFoundException; using ls::std::io::File; using ls::std::io::FileWriter; using ls::std::test::TestHelper; using std::string; using testing::Test; namespace { class FileWriterTest : public Test { public: FileWriterTest() = default; ~FileWriterTest() override = default; }; TEST_F(FileWriterTest, constructor_file_does_not_exist) { string path = TestHelper::getResourcesFolderLocation() + "not-existing-file.txt"; File file{path}; EXPECT_THROW( { try { FileWriter writer{file}; } catch (const FileNotFoundException &_exception) { throw; } }, FileNotFoundException); } TEST_F(FileWriterTest, reset) { string path = TestHelper::getResourcesFolderLocation() + "tmp-file-writer-test.txt"; File file{path}; file.createNewFile(); FileWriter writer{file}; ASSERT_TRUE(writer.write("Testing something!\n")); // reset path = TestHelper::getResourcesFolderLocation() + "tmp-file-writer-test2.txt"; File anotherFile{path}; anotherFile.createNewFile(); writer.reset(anotherFile); ASSERT_TRUE(writer.write("Testing something else!\n")); // remove file.remove(); ASSERT_FALSE(file.exists()); anotherFile.remove(); ASSERT_FALSE(anotherFile.exists()); } TEST_F(FileWriterTest, write) { string path = TestHelper::getResourcesFolderLocation() + "tmp-file-writer-test.txt"; File file{path}; ASSERT_FALSE(file.exists()); file.createNewFile(); ASSERT_TRUE(file.exists()); FileWriter writer{file}; ASSERT_TRUE(writer.write("Testing something!\n")); file.remove(); ASSERT_FALSE(file.exists()); } }