@Override
    public void writeBytes(Slice source)
    {
        writeBytes(source, 0, source.length());
    }
@Test
    public void testWriteBytes()
    {
        DataSize chunkSize = new DataSize(700, BYTE);
        DataSize maxCompressionSize = new DataSize(chunkSize.toBytes() + 3, BYTE); // 3 accounts for the chunk header size
        DataSize dataSize = new DataSize(2 * 700 + 10, BYTE);
        byte[] testData = createTestData(dataSize);

        List<DataSize> expectedChunkSizes = buildExpectedChunks(chunkSize, dataSize);
        List<List<DataSize>> allWriteChunks = buildWriteChunksCombos(dataSize, 3);

        for (List<DataSize> writeChunks : allWriteChunks) {
            assertWriteBytes(testData, maxCompressionSize, writeChunks, expectedChunkSizes);
        }
    }