DateParameterMapperTest.cpp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * Author: Patrick-Christopher Mattulat
  3. * Company: Lynar Studios
  4. * E-Mail: webmaster@lynarstudios.com
  5. * Created: 2023-03-31
  6. * Changed: 2023-04-01
  7. *
  8. * */
  9. #include <gtest/gtest.h>
  10. #include <ls-std/ls-std-time.hpp>
  11. #include <utility>
  12. #include <vector>
  13. using ls::std::time::DateParameter;
  14. using ls::std::time::DateParameterMapper;
  15. using ls::std::time::type::UnixTimestamp;
  16. using std::pair;
  17. using std::vector;
  18. using testing::TestWithParam;
  19. using testing::Values;
  20. namespace
  21. {
  22. #if defined(unix) || defined(__APPLE__)
  23. class DateParameterMapperTest_Unix : public TestWithParam<pair<UnixTimestamp, DateParameter>>
  24. {
  25. public:
  26. DateParameterMapperTest_Unix() = default;
  27. ~DateParameterMapperTest_Unix() override = default;
  28. static vector<pair<UnixTimestamp, DateParameter>> getTestParameterList()
  29. {
  30. vector<pair<UnixTimestamp, DateParameter>> testParameterList{};
  31. testParameterList.emplace_back(656936700, DateParameter{1990, 10, 26, 11, 25, 00});
  32. testParameterList.emplace_back(612694320, DateParameter{1989, 6, 1, 10, 52, 00});
  33. return testParameterList;
  34. }
  35. };
  36. TEST_P(DateParameterMapperTest_Unix, toUnixTimestamp)
  37. {
  38. DateParameter dateParameter = GetParam().second;
  39. UnixTimestamp timestamp = DateParameterMapper::toUnixTimestamp(dateParameter);
  40. ASSERT_EQ(GetParam().first, timestamp);
  41. }
  42. INSTANTIATE_TEST_SUITE_P(toUnixTimestamp, DateParameterMapperTest_Unix, Values(DateParameterMapperTest_Unix::getTestParameterList().at(0), DateParameterMapperTest_Unix::getTestParameterList().at(1)));
  43. #endif
  44. }