TEST(DataBuffer, Delete) { DataBuffer db; const char* str = "123"; db.append((uint8_t*)str, 3); DataBufferData d0 = db.get(1); ASSERT_DATA_EQ("1", d0.data, 1); ASSERT_EQ(3, db.bytesUsed()); d0.free(); ASSERT_EQ(2, db.bytesUsed()); DataBufferData d1 = db.get(1); ASSERT_DATA_EQ("2", d1.data, 1); d1.free(); ASSERT_EQ(1, db.bytesUsed()); DataBufferData d2 = db.get(1); ASSERT_DATA_EQ("3", d2.data, 1); ASSERT_EQ(1, db.bytesUsed()); d2.free(); ASSERT_EQ(0, db.bytesUsed()); ASSERT_TRUE(db.empty()); ASSERT_EQ(0, d2.data); ASSERT_EQ(0, d2.length); }