]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
interval_map: tests. Tests to cover new function in interval map
authorAlex Ainscow <aainscow@uk.ibm.com>
Wed, 8 Jan 2025 22:13:11 +0000 (22:13 +0000)
committerAlex Ainscow <aainscow@uk.ibm.com>
Mon, 27 Jan 2025 11:20:01 +0000 (11:20 +0000)
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
src/test/common/test_interval_map.cc

index 99f676f288b696ca0fec61414bb9cf6a303fb450..39bf291f6061239bc88857dde7780d1c20d5c346 100644 (file)
@@ -335,3 +335,40 @@ TYPED_TEST(IntervalMapTest, merge) {
   m.insert(10, 4, gen(4));
   m.insert(11, 1, gen(1));
 }
+
+TYPED_TEST(IntervalMapTest, contains) {
+  USING_WITH_MERGE;
+  imap m;
+  m.insert(10, 4, gen(4));
+
+  ASSERT_TRUE(m.begin().contains(10,4));
+  ASSERT_TRUE(m.begin().contains(11,3));
+  ASSERT_TRUE(m.begin().contains(10,3));
+  ASSERT_TRUE(m.begin().contains(11,2));
+  ASSERT_FALSE(m.begin().contains(8,2));
+  ASSERT_FALSE(m.begin().contains(14,2));
+  ASSERT_FALSE(m.begin().contains(8,3));
+  ASSERT_FALSE(m.begin().contains(13,2));
+}
+
+TYPED_TEST(IntervalMapTest, get_start_end_off)
+{
+  USING_NO_MERGE;
+  imap m;
+
+  m.insert(0, 5, gen(5));
+  ASSERT_EQ(0, m.get_start_off());
+  ASSERT_EQ(5, m.get_end_off());
+
+  m.insert(5, 5, gen(5));
+  ASSERT_EQ(0, m.get_start_off());
+  ASSERT_EQ(10, m.get_end_off());
+
+  m.erase(0,5);
+  ASSERT_EQ(5, m.get_start_off());
+  ASSERT_EQ(10, m.get_end_off());
+
+  m.insert(20,5, gen(5));
+  ASSERT_EQ(5, m.get_start_off());
+  ASSERT_EQ(25, m.get_end_off());
+}
\ No newline at end of file