MCPcopy Create free account
hub / github.com/comaps/comaps / UNIT_TEST

Function UNIT_TEST

libs/base/base_tests/lru_cache_tests.cpp:61–119  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

59}
60
61UNIT_TEST(LruCacheAgeTest)
62{
63 using Key = int;
64 using Value = double;
65 LruCacheKeyAgeTest<Key, Value> age;
66
67 TEST_EQUAL(age.GetAge(), 0, ());
68 TEST(age.GetAgeToKey().empty(), ());
69 TEST(age.GetKeyToAge().empty(), ());
70
71 age.InsertKey(10);
72 {
73 std::map<size_t, Key> const expectedAgeToKey({{1 /* age */, 10 /* key */}});
74 ankerl::unordered_dense::map<Key, size_t> const expectedKeyToAge({{10 /* key */, 1 /* age */}});
75 TestAge(age, 1 /* cache age */, expectedAgeToKey, expectedKeyToAge);
76 }
77
78 age.InsertKey(9);
79 {
80 std::map<size_t, Key> const expectedAgeToKey({{1, 10}, {2, 9}});
81 ankerl::unordered_dense::map<Key, size_t> const expectedKeyToAge({{10, 1}, {9, 2}});
82 TestAge(age, 2 /* cache age */, expectedAgeToKey, expectedKeyToAge);
83 }
84
85 age.RemoveLru();
86 {
87 std::map<size_t, Key> const expectedAgeToKey({{2, 9}});
88 ankerl::unordered_dense::map<Key, size_t> const expectedKeyToAge({{9, 2}});
89 TestAge(age, 2 /* cache age */, expectedAgeToKey, expectedKeyToAge);
90 }
91
92 age.InsertKey(11);
93 {
94 std::map<size_t, Key> const expectedAgeToKey({{2, 9}, {3, 11}});
95 ankerl::unordered_dense::map<Key, size_t> const expectedKeyToAge({{9, 2}, {11, 3}});
96 TestAge(age, 3 /* cache age */, expectedAgeToKey, expectedKeyToAge);
97 }
98
99 age.UpdateAge(9);
100 {
101 std::map<size_t, Key> const expectedAgeToKey({{4, 9}, {3, 11}});
102 ankerl::unordered_dense::map<Key, size_t> const expectedKeyToAge({{9, 4}, {11, 3}});
103 TestAge(age, 4 /* cache age */, expectedAgeToKey, expectedKeyToAge);
104 }
105
106 age.RemoveLru();
107 {
108 std::map<size_t, Key> const expectedAgeToKey({{4, 9}});
109 ankerl::unordered_dense::map<Key, size_t> const expectedKeyToAge({{9, 4}});
110 TestAge(age, 4 /* cache age */, expectedAgeToKey, expectedKeyToAge);
111 }
112
113 age.InsertKey(12);
114 {
115 std::map<size_t, Key> const expectedAgeToKey({{4, 9}, {5, 12}});
116 ankerl::unordered_dense::map<Key, size_t> const expectedKeyToAge({{9, 4}, {12, 5}});
117 TestAge(age, 5 /* cache age */, expectedAgeToKey, expectedKeyToAge);
118 }

Callers

nothing calls this directly

Calls 9

TESTFunction · 0.85
TestAgeFunction · 0.85
GetAgeMethod · 0.80
emptyMethod · 0.45
InsertKeyMethod · 0.45
RemoveLruMethod · 0.45
UpdateAgeMethod · 0.45
GetValueMethod · 0.45
IsValidMethod · 0.45

Tested by

no test coverage detected