### Question:
CountryCache { @Nullable public Locale getCountry (@Nullable final Locale aCountry) { return aCountry == null ? null : getCountry (aCountry.getCountry ()); } protected  CountryCache(); static boolean isSilentMode(); static boolean setSilentMode(final boolean bSilentMode); static boolean isInstantiated(); @Nonnull static CountryCache getInstance(); @Nullable Locale getCountry(@Nullable final Locale aCountry); @Nullable Locale getCountryExt(@Nullable final Locale aCountry, @Nullable final IMissingLocaleHandler aMissingHandler); @Nullable Locale getCountry(@Nullable final String sCountry); @Nullable Locale getCountryExt(@Nullable final String sCountry, @Nullable final IMissingLocaleHandler aMissingHandler); @Nonnull @ReturnsMutableCopy ICommonsSet <String> getAllCountries(); @Nonnull @ReturnsMutableCopy ICommonsSet <Locale> getAllCountryLocales(); boolean containsCountry(@Nullable final Locale aCountry); boolean containsCountry(@Nullable final String sCountry); final void reinitialize();  }### Answer:
@Test public void testGetCountry () { assertNull (CountryCache.getInstance ().getCountry ("")); assertNull (CountryCache.getInstance ().getCountry ((String) null)); assertNull (CountryCache.getInstance ().getCountry ((Locale) null)); assertNull (CountryCache.getInstance ().getCountry ("A")); assertNotNull (CountryCache.getInstance ().getCountry ("AT")); assertNotNull (CountryCache.getInstance ().getCountry ("at")); assertNotNull (CountryCache.getInstance ().getCountry ("AUT")); assertNotNull (CountryCache.getInstance ().getCountry ("aut")); assertNull (CountryCache.getInstance ().getCountry ("AAAA")); assertNull (CountryCache.getInstance ().getCountry ("1")); assertNull (CountryCache.getInstance ().getCountry ("12")); assertNull (CountryCache.getInstance ().getCountryExt ("123", (k, l, c, v) -> null)); assertNotNull (CountryCache.getInstance ().getCountry ("123")); assertNull (CountryCache.getInstance ().getCountry ("1234")); assertNotNull (CountryCache.getInstance ().getCountry ("AT")); assertNotNull (CountryCache.getInstance ().getCountry ("at")); assertNotNull (CountryCache.getInstance ().getCountry ("pl")); assertNotNull (CountryCache.getInstance ().getCountry ("CS")); assertEquals (CountryCache.getInstance ().getCountry ("ch"), CountryCache.getInstance ().getCountry (new Locale ("de", "ch"))); assertEquals (LocaleCache.getInstance ().getLocale ("", "AT", ""), CountryCache.getInstance ().getCountry ("_AT")); assertEquals (LocaleCache.getInstance ().getLocale ("", "AT", ""), CountryCache.getInstance ().getCountry ("de_AT")); assertEquals (CountryCache.getInstance ().getCountry ("AT"), CountryCache.getInstance ().getCountry (CountryCache.getInstance ().getCountry ("AT").toString ())); for (final String sLocale : CountryCache.getInstance ().getAllCountries ()) assertTrue (CountryCache.getInstance ().containsCountry (sLocale)); assertFalse (CountryCache.getInstance ().containsCountry ((String) null)); assertFalse (CountryCache.getInstance ().containsCountry (LocaleHelper.LOCALE_ALL)); assertFalse (CountryCache.getInstance ().containsCountry ((Locale) null)); }