### Question:
ConcurrentCache implements Cache { @Override public void init() { if (mCache == null) { return; } synchronized (this) { Billing.debug(TAG, "Initializing cache"); mCache.init(); } } ConcurrentCache(@Nullable Cache cache); boolean hasCache(); @Override @Nullable Entry get(@Nonnull Key key); @Override void put(@Nonnull Key key, @Nonnull Entry entry); void putIfNotExist(@Nonnull Key key, @Nonnull Entry entry); @Override void init(); @Override void remove(@Nonnull Key key); @Override void removeAll(int type); @Override void clear();  }### Answer:
@Test public void testShouldCallInit() throws Exception { final Cache mockCache = mock(Cache.class); final ConcurrentCache cache = new ConcurrentCache(mockCache); cache.init(); verify(mockCache, times(1)).init(); }