VersionTest.cpp 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. /*
  2. * Author: Patrick-Christopher Mattulat
  3. * Co-Author: Claude Sonnet 4.6 (LLM)
  4. * Company: Lynar Studios
  5. * E-Mail: webmaster@lynarstudios.com
  6. * Created: 2020-09-28
  7. * Changed: 2026-06-23
  8. *
  9. * */
  10. #include <gtest/gtest.h>
  11. #include <ls-std/ls-std-core.hpp>
  12. using ls::standard::core::Version;
  13. using testing::Test;
  14. namespace
  15. {
  16. class VersionTest : public Test
  17. {
  18. public:
  19. VersionTest() = default;
  20. ~VersionTest() override = default;
  21. };
  22. // implementation
  23. TEST_F(VersionTest, marshal)
  24. {
  25. Version version{2020, 2, 0};
  26. ASSERT_STREQ("2020.2.0", version.marshal().c_str());
  27. }
  28. TEST_F(VersionTest, unmarshal)
  29. {
  30. Version version{0, 0, 0};
  31. version.unmarshal("2020.2.13");
  32. ASSERT_EQ(2020, version.getMajorVersion());
  33. ASSERT_EQ(2, version.getMinorVersion());
  34. ASSERT_EQ(13, version.getPatchVersion());
  35. }
  36. // other functionality
  37. TEST_F(VersionTest, getMajorVersion)
  38. {
  39. const Version version{13, 2, 4};
  40. ASSERT_EQ(13, version.getMajorVersion());
  41. }
  42. TEST_F(VersionTest, getMinorVersion)
  43. {
  44. const Version version{13, 2, 4};
  45. ASSERT_EQ(2, version.getMinorVersion());
  46. }
  47. TEST_F(VersionTest, getPatchVersion)
  48. {
  49. const Version version{13, 2, 4};
  50. ASSERT_EQ(4, version.getPatchVersion());
  51. }
  52. TEST_F(VersionTest, isValid)
  53. {
  54. ASSERT_TRUE(Version::isValid("2020.1.2"));
  55. ASSERT_TRUE(Version::isValid("2.5.1"));
  56. }
  57. TEST_F(VersionTest, isValid_emptyString)
  58. {
  59. ASSERT_FALSE(Version::isValid(""));
  60. }
  61. TEST_F(VersionTest, isValid_noValidVersionString)
  62. {
  63. ASSERT_FALSE(Version::isValid("v2020.1.2"));
  64. ASSERT_FALSE(Version::isValid("2.5"));
  65. ASSERT_FALSE(Version::isValid("2020"));
  66. ASSERT_FALSE(Version::isValid("blaaaa"));
  67. }
  68. TEST_F(VersionTest, setMajorVersion)
  69. {
  70. Version version{13, 2, 4};
  71. ASSERT_EQ(13, version.getMajorVersion());
  72. version.setMajorVersion(14);
  73. ASSERT_EQ(14, version.getMajorVersion());
  74. }
  75. TEST_F(VersionTest, setMinorVersion)
  76. {
  77. Version version{13, 2, 4};
  78. ASSERT_EQ(2, version.getMinorVersion());
  79. version.setMinorVersion(3);
  80. ASSERT_EQ(3, version.getMinorVersion());
  81. }
  82. TEST_F(VersionTest, setPatchVersion)
  83. {
  84. Version version{13, 2, 4};
  85. ASSERT_EQ(4, version.getPatchVersion());
  86. version.setPatchVersion(5);
  87. ASSERT_EQ(5, version.getPatchVersion());
  88. }
  89. }