### Question:
SpyMemcachedAdapter implements MemcachedAdapter { @Override public long getCounter(CacheNamespace cacheNamespace, String key, long defaultValue, int expirySeconds) { String namespacedKey = getNamespacedKey(cacheNamespace, key); long counterValue = memcachedClient.incr(namespacedKey, 0, defaultValue, expirySeconds); log.debug("spymemcachedadapter get counter key [{}] with default value {} returns {}", namespacedKey, defaultValue, counterValue); return counterValue; }  void setMemcachedClient(MemcachedClientIF memcachedClient); void setCacheKeyPrefix(String cacheKeyPrefix); @Override void init(OverridableReadOnlyProperties properties); @Override void destroy(); @Override Object get(CacheNamespace cacheNamespace, String key); @Override void set(CacheNamespace cacheNamespace, String key, Object value, int expirySeconds); @Override void delete(CacheNamespace cacheNamespace, String key); @Override long increaseCounter(CacheNamespace cacheNamespace, String key, long by, long defaultValue, int expirySeconds); @Override long getCounter(CacheNamespace cacheNamespace, String key, long defaultValue, int expirySeconds); @Override void evictAll(CacheNamespace cacheNamespace); static final String PROPERTY_KEY_PREFIX; static final String HOST_PROPERTY_KEY; static final String HASH_ALGORITHM_PROPERTY_KEY; static final String OPERATION_TIMEOUT_MILLIS_PROPERTY_KEY; static final String TRANSCODER_PROPERTY_KEY; static final String CACHE_KEY_PREFIX_PROPERTY_KEY; static final String AUTH_GENERATOR_PROPERTY_KEY; static final String AUTH_WAIT_TIME_MILLIS_PROPERTY_KEY; static final String NAMESPACE_NAME_SQUENCE_SEPARATOR; static final int DEFAULT_NAMESPACE_SEQUENCE_EXPIRY_SECONDS; static final long DEFAULT_AUTH_WAIT_TIME_MILLIS; }### Answer:
@Test public void getCounter() throws Exception { givenNamespaceAndKey(new CacheNamespace("MemcachedTimestamper", false), "timestamper", "hXm.MemcachedTimestamper:timestamper"); long defaultValue = 10L; int expirySeconds = 123; when(memcachedClient.incr(givenNamespacedKey, 0, defaultValue, expirySeconds)).thenReturn(100L); long actual = spyMemcachedAdapter.getCounter(givenCacheNamespace, givenKey, defaultValue, expirySeconds); assertThat(actual).isEqualTo(100L); }