test_RepeatedField.cpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #include <gtest/gtest.h>
  2. #include <Fields.h>
  3. #include <RepeatedField.h>
  4. namespace test_EmbeddedAMS_RepeatedField
  5. {
  6. TEST(RepeatedField, construction)
  7. {
  8. static constexpr uint32_t SIZE = 3;
  9. EmbeddedProto::RepeatedFieldSize<::EmbeddedProto::uint32, SIZE> x;
  10. }
  11. TEST(RepeatedField, size_uint32_t)
  12. {
  13. static constexpr uint32_t SIZE = 3;
  14. EmbeddedProto::RepeatedFieldSize<::EmbeddedProto::uint32, SIZE> x;
  15. static constexpr int32_t UINT32_SIZE = sizeof(::EmbeddedProto::uint32);
  16. EXPECT_EQ(0, x.get_size());
  17. EXPECT_EQ(SIZE*UINT32_SIZE, x.get_max_size());
  18. EXPECT_EQ(0, x.get_length());
  19. EXPECT_EQ(SIZE, x.get_max_length());
  20. x.add(1);
  21. x.add(2);
  22. EXPECT_EQ(2*UINT32_SIZE, x.get_size());
  23. EXPECT_EQ(2, x.get_length());
  24. x.add(3);
  25. EXPECT_EQ(SIZE*UINT32_SIZE, x.get_size());
  26. EXPECT_EQ(SIZE*UINT32_SIZE, x.get_max_size());
  27. EXPECT_EQ(SIZE, x.get_length());
  28. EXPECT_EQ(SIZE, x.get_max_length());
  29. }
  30. TEST(RepeatedField, set)
  31. {
  32. static constexpr uint32_t SIZE = 3;
  33. EmbeddedProto::RepeatedFieldSize<::EmbeddedProto::uint32, SIZE> x;
  34. // First add a value in the middle and see if we have a size of two.
  35. x.set(1, 2);
  36. EXPECT_EQ(2, x.get(1));
  37. EXPECT_EQ(2, x.get_length());
  38. x.set(0, 1);
  39. EXPECT_EQ(1, x.get(0));
  40. x.set(2, 3);
  41. EXPECT_EQ(3, x.get(2));
  42. }
  43. } // End namespace test_EmbeddedAMS_RepeatedField