Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

120 Zeilen
3.7 KiB

  1. #include <gtest/gtest.h>
  2. #include "../src/cpputils/StringHelper.h"
  3. #include "../src/cpputils/HandleManager.h"
  4. using namespace utl;
  5. using HandleManagerInt = utl::HandleManager<int>;
  6. TEST(HandleManagerTest, fromString_toString)
  7. {
  8. Handle handle;
  9. EXPECT_FALSE(tryFromString("11-22-3344-5566778", handle));
  10. EXPECT_TRUE (tryFromString("11-22-3344-55667788", handle));
  11. EXPECT_EQ (std::string("11-22-3344-55667788"), toString(handle));
  12. EXPECT_TRUE (tryFromString("1122-3344-55667788", handle));
  13. EXPECT_EQ (std::string("11-22-3344-55667788"), toString(handle));
  14. EXPECT_TRUE (tryFromString("11-223344-55667788", handle));
  15. EXPECT_EQ (std::string("11-22-3344-55667788"), toString(handle));
  16. EXPECT_TRUE (tryFromString("11-22-334455667788", handle));
  17. EXPECT_EQ (std::string("11-22-3344-55667788"), toString(handle));
  18. EXPECT_TRUE (tryFromString("1122334455667788", handle));
  19. EXPECT_EQ (std::string("11-22-3344-55667788"), toString(handle));
  20. }
  21. TEST(HandleManagerTest, insert)
  22. {
  23. HandleManagerInt manager;
  24. auto handle = manager.insert(0, 0, 123);
  25. EXPECT_TRUE(static_cast<bool>(handle));
  26. }
  27. TEST(HandleManagerTest, remove)
  28. {
  29. HandleManagerInt manager;
  30. auto handle = manager.insert(0, 0, 123);
  31. EXPECT_FALSE(manager.remove(156161));
  32. EXPECT_FALSE(manager.remove(1136));
  33. EXPECT_FALSE(manager.remove(627624));
  34. EXPECT_FALSE(manager.remove(0));
  35. EXPECT_TRUE (manager.remove(handle));
  36. }
  37. TEST(HandleManagerTest, clear)
  38. {
  39. HandleManagerInt manager;
  40. auto handle1 = manager.insert(0, 0, 123);
  41. manager.clear();
  42. auto handle2 = manager.insert(0, 0, 555);
  43. EXPECT_EQ(handle1, handle2);
  44. }
  45. TEST(HandleManagerTest, isValid)
  46. {
  47. HandleManagerInt manager;
  48. EXPECT_FALSE(manager.isValid(0));
  49. EXPECT_FALSE(manager.isValid(123));
  50. EXPECT_FALSE(manager.isValid(51627));
  51. EXPECT_FALSE(manager.isValid(1513));
  52. EXPECT_FALSE(manager.isValid(16621));
  53. auto handle = manager.insert(0, 0, 123);
  54. EXPECT_TRUE(manager.isValid(handle));
  55. }
  56. TEST(HandleManagerTest, tryGet)
  57. {
  58. int val;
  59. HandleManagerInt manager;
  60. EXPECT_FALSE(manager.tryGet(123, val));
  61. EXPECT_FALSE(manager.tryGet(5132, val));
  62. EXPECT_FALSE(manager.tryGet(6216, val));
  63. EXPECT_FALSE(manager.tryGet(15616724, val));
  64. EXPECT_FALSE(manager.tryGet(12353, val));
  65. auto handle = manager.insert(1, 2, 555);
  66. EXPECT_TRUE(manager.tryGet(handle, val));
  67. EXPECT_EQ (555, val);
  68. }
  69. TEST(HandleManagerTest, get)
  70. {
  71. HandleManagerInt manager;
  72. EXPECT_ANY_THROW(manager.get(123));
  73. EXPECT_ANY_THROW(manager.get(5132));
  74. EXPECT_ANY_THROW(manager.get(6216));
  75. EXPECT_ANY_THROW(manager.get(15616724));
  76. EXPECT_ANY_THROW(manager.get(12353));
  77. auto handle = manager.insert(1, 2, 555);
  78. EXPECT_EQ(555, manager.get(handle));
  79. }
  80. TEST(HandleManagerTest, update)
  81. {
  82. HandleManagerInt manager;
  83. EXPECT_FALSE(manager.update(123, 555));
  84. EXPECT_FALSE(manager.update(5132, 555));
  85. EXPECT_FALSE(manager.update(6216, 555));
  86. EXPECT_FALSE(manager.update(15616724, 555));
  87. EXPECT_FALSE(manager.update(12353, 555));
  88. auto handle = manager.insert(1, 2, 555);
  89. EXPECT_TRUE(manager.update(handle, 554));
  90. EXPECT_EQ (554, manager.get(handle));
  91. }
  92. TEST(HandleManagerTest, set)
  93. {
  94. HandleManagerInt manager;
  95. auto handle = fromString<utl::Handle>("00-00-0001-00000000");
  96. EXPECT_TRUE (manager.set(handle, 555));
  97. EXPECT_EQ (555, manager.get(handle));
  98. handle = fromString<utl::Handle>("00-00-0001-00000000");
  99. EXPECT_TRUE (manager.set(handle, 554));
  100. EXPECT_EQ (554, manager.get(handle));
  101. EXPECT_FALSE(manager.set(fromString<utl::Handle>("00-00-0002-00000000"), 553));
  102. EXPECT_EQ (554, manager.get(handle));
  103. }