StorableFileTest.cpp 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /*
  2. * Author: Patrick-Christopher Mattulat
  3. * Company: Lynar Studios
  4. * E-Mail: webmaster@lynarstudios.com
  5. * Created: 2020-08-19
  6. * Changed: 2020-08-19
  7. *
  8. * */
  9. #include <gtest/gtest.h>
  10. #include "../../TestHelper.hpp"
  11. #include "../../../source/io/StorableFile.hpp"
  12. #include "../../../source/io/NewLine.hpp"
  13. namespace {
  14. class StorableFileTest : public ::testing::Test {
  15. protected:
  16. StorableFileTest() = default;
  17. ~StorableFileTest() override = default;
  18. std::string fileLocation = TestHelper::getResourcesFolderLocation() + "simple.txt";
  19. void SetUp() override {}
  20. void TearDown() override {}
  21. };
  22. TEST_F(StorableFileTest, getContent)
  23. {
  24. ls_std::StorableFile storableFile {this->fileLocation};
  25. ASSERT_TRUE(storableFile.getContent().empty());
  26. }
  27. TEST_F(StorableFileTest, load)
  28. {
  29. ls_std::StorableFile storableFile {this->fileLocation};
  30. storableFile.load();
  31. std::string expectedUnix = "Hello!" + ls_std::NewLine::getUnixNewLine();
  32. std::string expectedWindows = "Hello!" + ls_std::NewLine::getWindowsNewLine();
  33. ASSERT_TRUE(storableFile.getContent() == expectedUnix || storableFile.getContent() == expectedWindows);
  34. }
  35. TEST_F(StorableFileTest, reset)
  36. {
  37. ls_std::StorableFile storableFile {this->fileLocation};
  38. storableFile.load();
  39. std::string expectedUnix = "Hello!" + ls_std::NewLine::getUnixNewLine();
  40. std::string expectedWindows = "Hello!" + ls_std::NewLine::getWindowsNewLine();
  41. ASSERT_TRUE(storableFile.getContent() == expectedUnix || storableFile.getContent() == expectedWindows);
  42. // reset
  43. std::string anotherFileLocation = TestHelper::getResourcesFolderLocation() + "list_test/bla.txt";
  44. storableFile.reset(anotherFileLocation);
  45. storableFile.load();
  46. expectedUnix = "nothing to say!" + ls_std::NewLine::getUnixNewLine();
  47. expectedWindows = "nothing to say!" + ls_std::NewLine::getWindowsNewLine();
  48. ASSERT_TRUE(storableFile.getContent() == expectedUnix || storableFile.getContent() == expectedWindows);
  49. }
  50. TEST_F(StorableFileTest, save)
  51. {
  52. std::string path = TestHelper::getResourcesFolderLocation() + "tmp_storable_file.txt";
  53. ls_std::File file {path};
  54. file.createNewFile();
  55. ls_std::StorableFile storableFile {path};
  56. std::string textUnix = "Testing save method!" + ls_std::NewLine::getUnixNewLine();
  57. std::string textWindows = "Testing save method!" + ls_std::NewLine::getWindowsNewLine();
  58. ASSERT_TRUE(storableFile.getContent().empty());
  59. storableFile.setContent(textUnix);
  60. ASSERT_TRUE(storableFile.getContent() == textUnix || storableFile.getContent() == textWindows);
  61. storableFile.save();
  62. storableFile.load();
  63. ASSERT_TRUE(storableFile.getContent() == textUnix || storableFile.getContent() == textWindows);
  64. file.remove();
  65. }
  66. TEST_F(StorableFileTest, setContent)
  67. {
  68. ls_std::StorableFile storableFile {this->fileLocation};
  69. storableFile.setContent("Testing!");
  70. ASSERT_STREQ("Testing!", storableFile.getContent().c_str());
  71. }
  72. }