### Question:
CustomTranslationCacheServiceImpl implements CustomTranslationCacheService { @Override public String getCustomTranslation(final String key, final String locale) { if (getTenantCustomTranslationsCache().containsKey(key) && getTenantCustomTranslationsCache().get(key).containsKey(locale)) { return getTenantCustomTranslationsCache().get(key).get(locale); } return null; } CustomTranslationCacheServiceImpl(); @Override void addCustomTranslation(final String key, final String locale, final String customTranslation); @Override void updateCustomTranslation(final String key, final String locale, final String customTranslation); @Override void manageCustomTranslation(final String key, final String locale, final String customTranslation); @Override void removeCustomTranslations(final List<String> keys); @Override String getCustomTranslation(final String key, final String locale); @Override Map<String, Map<String, String>> getCustomTranslations(); @Override boolean isCustomTranslationAdded(final String key); @Override boolean isCustomTranslationActive(final String key, final String locale); @Override void loadCustomTranslations(final List<Entity> customTranslations);  }### Answer:
@Test public void shouldReturnNullWhenGetCustomTranslationIfNotContainsKey() { String key = "key"; String locale = "pl"; given(customTranslations.containsKey(key)).willReturn(false); String result = customTranslationCacheService.getCustomTranslation(key, locale); assertEquals(null, result); }
@Test public void shouldReturnNullWhenGetCustomTranslationIfContainsKeyAndNotContainsLocale() { String key = "key"; String locale = "pl"; given(customTranslations.containsKey(key)).willReturn(true); given(customTranslations.get(key)).willReturn(localeAndCustomTranslation); given(localeAndCustomTranslation.containsKey(locale)).willReturn(false); String result = customTranslationCacheService.getCustomTranslation(key, locale); assertEquals(null, result); }
@Ignore @Test public void shouldReturnCustomTranslationWhenGetCustomTranslationIfContainsKeyAndContainsLocale() { String key = "key"; String locale = "pl"; String translation = "translation"; given(customTranslations.containsKey(key)).willReturn(true); given(customTranslations.get(key)).willReturn(localeAndCustomTranslation); given(localeAndCustomTranslation.containsKey(locale)).willReturn(true); given(localeAndCustomTranslation.get(locale)).willReturn(translation); String result = customTranslationCacheService.getCustomTranslation(key, locale); assertEquals(translation, result); }