### Question:
I18n { public static Set<String> getLocalizationProblems( Class<?> i18nClass ) { return getLocalizationProblems(i18nClass, null); } private  I18n( String id,
                  Class<?> i18nClass ); static Set<Locale> getLocalizationProblemLocales( Class<?> i18nClass ); static Set<String> getLocalizationProblems( Class<?> i18nClass ); static Set<String> getLocalizationProblems( Class<?> i18nClass,
                                                       Locale locale ); static LocalizationRepository getLocalizationRepository(); static void setLocalizationRepository( LocalizationRepository localizationRepository ); static void initialize( Class<?> i18nClass ); String id(); boolean hasProblem(); boolean hasProblem( Locale locale ); String problem(); String problem( Locale locale ); String text( Object... arguments ); String text( Locale locale,
                        Object... arguments ); @Override String toString();  }### Answer:
@Test( expected = IllegalArgumentException.class ) public void shouldFailToGetLocalizationProblemsForDefaultLocaleIfNoClassSupplied() { I18n.getLocalizationProblems(null); }
@Test( expected = IllegalArgumentException.class ) public void shouldFailToGetLocalizationProblemsForSuppliedLocaleIfNoClassSupplied() { I18n.getLocalizationProblems(null, Locale.US); }
@Test public void shouldNeverReturnNullWhenGettingLocalizationProblemsForDefaultLocale() { assertThat(I18n.getLocalizationProblems(TestI18n.class), notNullValue()); }
@Test public void shouldNeverReturnNullWhenGettingLocalizationProblemsForSuppliedLocale() { assertThat(I18n.getLocalizationProblems(TestI18n.class, Locale.US), notNullValue()); }