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()); }