DateTest.cpp 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /*
  2. * Author: Patrick-Christopher Mattulat
  3. * Company: Lynar Studios
  4. * E-Mail: webmaster@lynarstudios.com
  5. * Created: 2020-08-14
  6. * Changed: 2020-08-14
  7. *
  8. * */
  9. #include <gtest/gtest.h>
  10. #include <regex>
  11. #include "../../../source/time/Date.hpp"
  12. namespace {
  13. class DateTest : public ::testing::Test {
  14. protected:
  15. DateTest() = default;
  16. ~DateTest() override = default;
  17. void SetUp() override {}
  18. void TearDown() override {}
  19. };
  20. // arithmetic operators
  21. TEST_F(DateTest, operatorAdd)
  22. {
  23. ls_std::Date date {};
  24. time_t timestamp = date.getTime();
  25. date = date + 1;
  26. ASSERT_EQ(timestamp + 86400, date.getTime());
  27. }
  28. // additional functionality
  29. TEST_F(DateTest, after)
  30. {
  31. ls_std::Date date {};
  32. ls_std::Date date2 {};
  33. date2.setTime(1000000);
  34. ASSERT_TRUE(date.after(date2));
  35. }
  36. TEST_F(DateTest, before)
  37. {
  38. ls_std::Date date {};
  39. date.setTime(1000000);
  40. ls_std::Date date2 {};
  41. ASSERT_TRUE(date.before(date2));
  42. }
  43. TEST_F(DateTest, getTime)
  44. {
  45. ls_std::Date date {};
  46. ASSERT_TRUE(date.getTime() > 0);
  47. }
  48. TEST_F(DateTest, setTime)
  49. {
  50. ls_std::Date date {};
  51. ASSERT_TRUE(date.getTime() > 1000000);
  52. date.setTime(1000);
  53. ASSERT_EQ(1000, date.getTime());
  54. }
  55. TEST_F(DateTest, toString)
  56. {
  57. ls_std::Date date {};
  58. std::string regexSearchString = R"((\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}))";
  59. std::regex _regex {regexSearchString};
  60. std::string dateString = date.toString();
  61. ASSERT_TRUE(std::regex_match(dateString, _regex));
  62. }
  63. }