1 #include <framework/core/MRUCache.h>
2 #include <gtest/gtest.h>
14 cache.insert(
"foo",
"bar");
16 EXPECT_FALSE(cache.retrieve(
"foobar", result));
17 EXPECT_EQ(result,
"boo");
18 EXPECT_TRUE(cache.retrieve(
"foo", result));
19 EXPECT_EQ(result,
"bar");
26 for (
int i = 0; i < 10; ++i) {
30 EXPECT_EQ(cache.size(), 5u);
32 for (
int i = 9; i >= 5; --i) {
33 EXPECT_EQ(it->first, i);
34 EXPECT_EQ(it->second, -i);
38 EXPECT_TRUE(cache.retrieve(5, var));
39 EXPECT_EQ(cache.begin()->first, 5);
40 EXPECT_EQ(cache.begin()->second, -5);
43 EXPECT_EQ(cache.size(), 0u);
45 EXPECT_FALSE(cache.retrieve(5, var));
55 EXPECT_EQ(cache.size(), 1u);
56 EXPECT_TRUE(cache.retrieve(1, var));
59 EXPECT_EQ(cache.size(), 1u);
60 EXPECT_TRUE(cache.retrieve(1, var));
70 EXPECT_EQ(cache.getHits(), 0u);
71 EXPECT_EQ(cache.getMisses(), 0u);
72 EXPECT_EQ(cache.getOverflows(), 0u);
74 cache.retrieve(0, var);
75 EXPECT_EQ(cache.getMisses(), 1u);
76 cache.retrieve(0, var);
77 EXPECT_EQ(cache.getMisses(), 2u);
80 EXPECT_EQ(cache.getOverflows(), 0u);
82 EXPECT_EQ(cache.getOverflows(), 1u);
84 EXPECT_EQ(cache.getOverflows(), 2u);
86 cache.retrieve(0, var);
87 EXPECT_EQ(cache.getHits(), 1u);
88 cache.retrieve(0, var);
89 EXPECT_EQ(cache.getHits(), 2u);
92 EXPECT_EQ(cache.getHits(), 0u);
93 EXPECT_EQ(cache.getMisses(), 0u);
94 EXPECT_EQ(cache.getOverflows(), 0u);