### Question:
TenantSafeCache implements ICache<String, V> { @Override public void put(String k, V o) { wrapped.put(generateKey(k), o); } TenantSafeCache(String tenantName, ICache<String, V> wrapped); @Override void put(String k, V o); @Override V get(String k); @Override void delete(String k); @Override void clearAll();  }### Answer:
@Test public void should_addTenantNamToKey_when_addingToCache() { ICache wrapped = mock(ICache.class); TenantSafeCache<String> sut = new TenantSafeCache<String>("tenant1", wrapped); sut.put("key", "value"); verify(wrapped, times(1)).put("tenant1key", "value"); }