TEST(IntervalTest, Merging3) { IntervalTree tree; tree.Insert(Interval(1, 3)); tree.Insert(Interval(5, 6)); tree.Insert(Interval(4, 6)); EXPECT_EQ(tree.size(), 2); }
TEST(IntervalTest, Gaps2) { IntervalTree tree; tree.Insert(Interval(3, 9)); IntervalTree gaps = tree.Gaps(Interval(5, 11)); EXPECT_EQ(gaps.size(), 1); for (auto& i : gaps) { EXPECT_EQ(i.Left(), 9); EXPECT_EQ(i.Right(), 11); } gaps = tree.Gaps(Interval(1, 11)); EXPECT_EQ(gaps.size(), 2); size_t l = 1; size_t r = 3; for (const auto& i : gaps) { EXPECT_EQ(i.Left(), l); EXPECT_EQ(i.Right(), r); l += 8; r += 8; } gaps = tree.Gaps(Interval(11, 15)); EXPECT_EQ(gaps.size(), 1); for (const auto& i : gaps) { EXPECT_EQ(i.Left(), 11); EXPECT_EQ(i.Right(), 15); } }
TEST(IntervalTest, Merging2) { IntervalTree tree; tree.Insert(Interval(1, 3)); tree.Insert(Interval(5, 7)); tree.Insert(Interval(9, 11)); EXPECT_EQ(tree.size(), 3); tree.Insert(Interval(3, 9)); EXPECT_EQ(tree.size(), 1); for (const auto& i : tree) { EXPECT_EQ(i.Right(), 11); EXPECT_EQ(i.Left(), 1); } }
TEST(IntervalTest, Gaps3) { IntervalTree tree; tree.Insert(Interval(3, 5)); tree.Insert(Interval(7, 9)); IntervalTree gaps = tree.Gaps(Interval(4, 9)); EXPECT_EQ(gaps.size(), 1); for (const auto& i : gaps) { EXPECT_EQ(i.Left(), 5); EXPECT_EQ(i.Right(), 7); } }
TEST(IntervalTest, Gaps) { IntervalTree tree; tree.Insert(Interval(1, 3)); tree.Insert(Interval(5, 7)); tree.Insert(Interval(9, 11)); IntervalTree gaps = tree.Gaps(); EXPECT_EQ(gaps.size(), 2); size_t l = 3; size_t r = 5; for (const auto& i : gaps) { EXPECT_EQ(i.Left(), l); EXPECT_EQ(i.Right(), r); l += 4; r += 4; } }