    @Test
    public void whenGetWithError_thenThrowException() throws InterruptedException, MemcachedException, TimeoutException {

        given(client.get(anyString())).willThrow(new TimeoutException("Test timeout error"));

        assertThatThrownBy(() -> memcachedClient.get("my-key"))
                .isInstanceOf(MemcachedOperationException.class)
                .hasMessage("Failed to get key")
                .hasCauseInstanceOf(TimeoutException.class);

        verify(client).get("my-key");
    }