test_DynamicArray.cpp 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #include <gtest/gtest.h>
  2. #include <DynamicArray.h>
  3. namespace test_EmbeddedAMS_DynamicArray
  4. {
  5. TEST(DynamicArray, construction)
  6. {
  7. static constexpr uint32_t SIZE = 3;
  8. EmbeddedProto::DynamicArraySize<uint8_t, SIZE> x;
  9. }
  10. TEST(DynamicArray, size_uint8_t)
  11. {
  12. static constexpr uint32_t SIZE = 3;
  13. EmbeddedProto::DynamicArraySize<uint8_t, SIZE> x;
  14. EXPECT_EQ(0, x.get_size());
  15. EXPECT_EQ(SIZE, x.get_max_size());
  16. EXPECT_EQ(0, x.get_length());
  17. EXPECT_EQ(SIZE, x.get_max_length());
  18. x.add(1);
  19. x.add(2);
  20. EXPECT_EQ(2, x.get_size());
  21. EXPECT_EQ(2, x.get_length());
  22. x.add(3);
  23. EXPECT_EQ(SIZE, x.get_size());
  24. EXPECT_EQ(SIZE, x.get_max_size());
  25. EXPECT_EQ(SIZE, x.get_length());
  26. EXPECT_EQ(SIZE, x.get_max_length());
  27. }
  28. TEST(DynamicArray, size_uint32_t)
  29. {
  30. static constexpr uint32_t SIZE = 3;
  31. EmbeddedProto::DynamicArraySize<uint32_t, SIZE> x;
  32. EXPECT_EQ(0, x.get_size());
  33. EXPECT_EQ(SIZE*4, x.get_max_size());
  34. EXPECT_EQ(0, x.get_length());
  35. EXPECT_EQ(SIZE, x.get_max_length());
  36. x.add(1);
  37. x.add(2);
  38. EXPECT_EQ(2*4, x.get_size());
  39. EXPECT_EQ(2, x.get_length());
  40. x.add(3);
  41. EXPECT_EQ(SIZE*4, x.get_size());
  42. EXPECT_EQ(SIZE*4, x.get_max_size());
  43. EXPECT_EQ(SIZE, x.get_length());
  44. EXPECT_EQ(SIZE, x.get_max_length());
  45. }
  46. TEST(DynamicArray, set)
  47. {
  48. static constexpr uint32_t SIZE = 3;
  49. EmbeddedProto::DynamicArraySize<uint8_t, SIZE> x;
  50. // First add a value in the middle and see if we have a size of two.
  51. x.set(1, 2);
  52. EXPECT_EQ(2, x.get(1));
  53. EXPECT_EQ(2, x.get_length());
  54. x.set(0, 1);
  55. EXPECT_EQ(1, x.get(0));
  56. x.set(2, 3);
  57. EXPECT_EQ(3, x.get(2));
  58. }
  59. } // End namespace test_EmbeddedAMS_DynamicArray