Example #1
0
TEST(TestHttpRanges, Add)
{
  CHttpRange range_0(0, 2);
  CHttpRange range_1(4, 6);
  CHttpRange range_2(8, 10);

  CHttpRanges ranges;
  CHttpRange range;

  ranges.Add(range_0);
  EXPECT_EQ(1U, ranges.Size());
  EXPECT_TRUE(ranges.GetFirst(range));
  EXPECT_EQ(range_0, range);
  EXPECT_TRUE(ranges.GetLast(range));
  EXPECT_EQ(range_0, range);

  ranges.Add(range_1);
  EXPECT_EQ(2U, ranges.Size());
  EXPECT_TRUE(ranges.GetFirst(range));
  EXPECT_EQ(range_0, range);
  EXPECT_TRUE(ranges.GetLast(range));
  EXPECT_EQ(range_1, range);

  ranges.Add(range_2);
  EXPECT_EQ(3U, ranges.Size());
  EXPECT_TRUE(ranges.GetFirst(range));
  EXPECT_EQ(range_0, range);
  EXPECT_TRUE(ranges.GetLast(range));
  EXPECT_EQ(range_2, range);
}