DateTest.cpp 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  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, getDay)
  44. {
  45. ls_std::Date date {};
  46. date.setTime(1597433693);
  47. ASSERT_EQ(14, date.getDay());
  48. }
  49. TEST_F(DateTest, getHour)
  50. {
  51. ls_std::Date date {};
  52. date.setTime(1597433693);
  53. ASSERT_EQ(21, date.getHour());
  54. }
  55. TEST_F(DateTest, getMinute)
  56. {
  57. ls_std::Date date {};
  58. date.setTime(1597433693);
  59. ASSERT_EQ(34, date.getMinute());
  60. }
  61. TEST_F(DateTest, getMonth)
  62. {
  63. ls_std::Date date {};
  64. date.setTime(1597433693);
  65. ASSERT_EQ(8, date.getMonth());
  66. }
  67. TEST_F(DateTest, getSecond)
  68. {
  69. ls_std::Date date {};
  70. date.setTime(1597433693);
  71. ASSERT_EQ(53, date.getSecond());
  72. }
  73. TEST_F(DateTest, getTime)
  74. {
  75. ls_std::Date date {};
  76. ASSERT_TRUE(date.getTime() > 0);
  77. }
  78. TEST_F(DateTest, getYear)
  79. {
  80. ls_std::Date date {};
  81. date.setTime(1597433693);
  82. ASSERT_EQ(2020, date.getYear());
  83. }
  84. TEST_F(DateTest, setTime)
  85. {
  86. ls_std::Date date {};
  87. ASSERT_TRUE(date.getTime() > 1000000);
  88. date.setTime(1000);
  89. ASSERT_EQ(1000, date.getTime());
  90. }
  91. TEST_F(DateTest, toString)
  92. {
  93. ls_std::Date date {};
  94. std::string regexSearchString = R"((\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}))";
  95. std::regex _regex {regexSearchString};
  96. std::string dateString = date.toString();
  97. ASSERT_TRUE(std::regex_match(dateString, _regex));
  98. }
  99. }