### Question:
LangManager extends AbstractService implements ILangManager { @Override public void updateLang(String code, String description) throws ApsSystemException { Lang lang = this.getLang(code); if (lang != null) { lang.setDescr(description); this.getCacheWrapper().updateLang(lang); this.updateConfig(); } }  @Override void init(); @Override List<Lang> getAssignableLangs(); @Override void addLang(String code); @Override void updateLang(String code, String description); @Override void removeLang(String code); @Override Lang getLang(String code); @Override Lang getDefaultLang(); @Override List<Lang> getLangs(); void setConfigManager(ConfigInterface configManager); void setCacheWrapper(ILangManagerCacheWrapper cacheWrapper);  }### Answer:
@Test public void updateLang() throws Throwable { Lang requiredLang = new Lang(); requiredLang.setCode("de"); requiredLang.setCode("German"); Mockito.when(cacheWrapper.getLang("de")).thenReturn(requiredLang); this.langManager.updateLang("de", "German lang"); requiredLang.setDescr("German lang"); Mockito.verify(cacheWrapper, Mockito.times(1)).updateLang(requiredLang); Mockito.verify(configManager, Mockito.times(1)).updateConfigItem(Mockito.any(String.class), Mockito.any(String.class)); Mockito.verify(notifyManager, Mockito.times(1)).publishEvent(Mockito.any(LangsChangedEvent.class)); }