Esempio n. 1
0
TEST(TestHttpResponseRange, SetData)
{
  const uint64_t validFirstPosition = 1;
  const uint64_t validLastPosition = 2;
  const uint64_t validLength = validLastPosition - validFirstPosition + 1;
  const char* validData = "test";
  const void* invalidData = DefaultData;
  const size_t validDataLength = strlen(validData);
  const size_t invalidDataLength = 1;

  CHttpResponseRange range;
  EXPECT_EQ(DefaultData, range.GetData());
  EXPECT_FALSE(range.IsValid());

  range.SetData(invalidData);
  EXPECT_EQ(invalidData, range.GetData());
  EXPECT_FALSE(range.IsValid());

  range.SetData(validData);
  EXPECT_EQ(validData, range.GetData());
  EXPECT_FALSE(range.IsValid());

  range.SetData(invalidData, 0);
  EXPECT_EQ(validData, range.GetData());
  EXPECT_FALSE(range.IsValid());

  range.SetData(invalidData, invalidDataLength);
  EXPECT_EQ(invalidData, range.GetData());
  EXPECT_FALSE(range.IsValid());

  range.SetData(validData, validDataLength);
  EXPECT_EQ(validData, range.GetData());
  EXPECT_EQ(0U, range.GetFirstPosition());
  EXPECT_EQ(validDataLength - 1, range.GetLastPosition());
  EXPECT_EQ(validDataLength, range.GetLength());
  EXPECT_TRUE(range.IsValid());

  range.SetData(invalidData, 0, 0);
  EXPECT_EQ(invalidData, range.GetData());
  EXPECT_FALSE(range.IsValid());

  range.SetData(validData, validFirstPosition, validLastPosition);
  EXPECT_EQ(validData, range.GetData());
  EXPECT_EQ(validFirstPosition, range.GetFirstPosition());
  EXPECT_EQ(validLastPosition, range.GetLastPosition());
  EXPECT_EQ(validLength, range.GetLength());
  EXPECT_TRUE(range.IsValid());
}