    @Test
    public void read_ShouldReturnNegativeOne_WhenNotHaveRemaining() throws IOException {

        int capacity = 1;
        var byteBuffer = ByteBuffer.allocate(capacity);
        for (int i = 0; i < capacity; i++) {
            byteBuffer.put((byte) 0x64);
        }
        byteBuffer.position(0);

        try (var inputStream = new ByteBufferInputStream(byteBuffer)) {
            assertEquals(0x64, inputStream.read());
            assertEquals(-1, inputStream.read());
            assertEquals(-1, inputStream.read());
        }
    }