| #include <array> |
| #include <string> |
| #include <gtest/gtest.h> |
| #include "data_types.hpp" |
| |
| using namespace std::string_literals; |
| using namespace phosphor::dbus::monitoring; |
| |
| using Index = std::map<std::tuple<size_t, size_t, size_t>, size_t>; |
| |
| #include "propertywatchgentest.hpp" |
| |
| auto expectedStorageCount = 16; |
| |
| const std::array<Index, 4> expectedIndicies = |
| { |
| { |
| { |
| {Index::key_type{0, 0, 0}, 0}, |
| {Index::key_type{0, 1, 0}, 1}, |
| {Index::key_type{1, 0, 0}, 2}, |
| {Index::key_type{1, 1, 0}, 3}, |
| {Index::key_type{2, 0, 0}, 4}, |
| {Index::key_type{2, 1, 0}, 5}, |
| {Index::key_type{3, 0, 0}, 6}, |
| {Index::key_type{3, 1, 0}, 7}, |
| }, |
| { |
| {Index::key_type{2, 2, 1}, 8}, |
| {Index::key_type{2, 2, 2}, 9}, |
| {Index::key_type{3, 2, 1}, 10}, |
| {Index::key_type{3, 2, 2}, 11}, |
| {Index::key_type{4, 2, 1}, 12}, |
| {Index::key_type{4, 2, 2}, 13}, |
| {Index::key_type{5, 2, 1}, 14}, |
| {Index::key_type{5, 2, 2}, 15}, |
| }, |
| { |
| {Index::key_type{3, 0, 0}, 6}, |
| }, |
| { |
| {Index::key_type{3, 2, 2}, 11}, |
| {Index::key_type{5, 2, 2}, 15}, |
| }, |
| } |
| }; |
| |
| const std::array<std::tuple<std::string, size_t>, 4> expectedWatches = |
| { |
| { |
| std::tuple<std::string, size_t>{"std::string"s, 0}, |
| std::tuple<std::string, size_t>{"uint32_t"s, 1}, |
| std::tuple<std::string, size_t>{"int32_t"s, 2}, |
| std::tuple<std::string, size_t>{"std::string"s, 3}, |
| } |
| }; |
| |
| TEST(PropertyWatchGenTest, storageCount) |
| { |
| ASSERT_EQ(expectedStorageCount, storageCount); |
| } |
| |
| TEST(PropertyWatchGenTest, IndiciesSameSize) |
| { |
| ASSERT_EQ(sizeof(expectedIndicies), sizeof(indices)); |
| } |
| |
| TEST(PropertyWatchGenTest, WatchesSameSize) |
| { |
| ASSERT_EQ(sizeof(expectedWatches), sizeof(watches)); |
| } |
| |
| TEST(PropertyWatchGenTest, WatchesSameContent) |
| { |
| size_t i; |
| for (i = 0; i < expectedWatches.size(); ++i) |
| { |
| ASSERT_EQ(watches[i], |
| expectedWatches[i]); |
| } |
| } |
| |
| TEST(PropertyWatchGenTest, IndiciesSameContent) |
| { |
| size_t i; |
| for (i = 0; i < expectedIndicies.size(); ++i) |
| { |
| ASSERT_EQ(indices[i], |
| expectedIndicies[i]); |
| } |
| } |