### Question:
CacheInfoManager extends AbstractService implements ICacheInfoManager, PageChangedObserver { @Override public void destroy() { this.flushAll(CACHE_INFO_MANAGER_CACHE_NAME); this.flushAll(DEFAULT_CACHE_NAME); super.destroy(); }  @Override void init(); @Around("@annotation(cacheableInfo)") Object aroundCacheableMethod(ProceedingJoinPoint pjp, CacheableInfo cacheableInfo); @Around("@annotation(cacheInfoEvict)") Object aroundCacheInfoEvictMethod(ProceedingJoinPoint pjp, CacheInfoEvict cacheInfoEvict); void setExpirationTime(String targetCache, String key, int expiresInMinute); void setExpirationTime(String targetCache, String key, long expiresInSeconds); void setExpirationTime(String targetCache, String key, Date expirationTime); @Override void updateFromPageChanged(PageChangedEvent event); @Override void destroy(); void flushAll(); void flushAll(String cacheName); @Override void flushEntry(String targetCache, String key); void putInCache(String targetCache, String key, Object obj); void putInCache(String targetCache, String key, Object obj, String[] groups); @Override void putInGroup(String targetCache, String key, String[] groups); @Override void flushGroup(String targetCache, String group); @Override boolean isExpired(String targetCache, String key); Object getFromCache(String targetCache, String key); void setSpringCacheManager(CacheManager springCacheManager);  }### Answer:
@Test public void destroy() { cacheInfoManager.destroy(); Mockito.verify(cacheManager, Mockito.times(0)).getCacheNames(); Mockito.verify(cacheManager, Mockito.times(4)).getCache(Mockito.anyString()); Mockito.verify(cache, Mockito.times(2)).clear(); }