### Question:
ResourceValidationUtils { public static boolean isValidLocalePrefix(String localePrefix) { for (int i = 0, length = localePrefix.length(); i < length; i++) { char c = localePrefix.charAt(i); if ( (c >='A' && c <='Z') || c == '_' || (c >='a' && c <='z') || (c >='0' && c <='9') ) { continue; } else { return false; } } return true; }  static boolean isValidResourceName(String resourceName); static boolean isValidLibraryName(String libraryName); static boolean isValidLibraryName(String libraryName, boolean allowSlash); static boolean isValidResourceId(String resourceId); static boolean isValidViewResource(String resourceId); static boolean isValidContractName(String contractName); static boolean isValidLocalePrefix(String localePrefix); static boolean isValidPath(String path);  }### Answer:
@Test public void testLocaleNames() throws Exception { Assert.assertTrue(ResourceValidationUtils.isValidLocalePrefix("es_CO")); Assert.assertTrue(ResourceValidationUtils.isValidLocalePrefix("de")); Assert.assertTrue(ResourceValidationUtils.isValidLocalePrefix("de_AT")); Assert.assertTrue(ResourceValidationUtils.isValidLocalePrefix("zh_CN_id")); Assert.assertTrue(ResourceValidationUtils.isValidLocalePrefix("zh_CN_23")); Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix("de-AT")); Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix(".")); Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix("..")); Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix("zh_"+'\t'+"CN")); Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix("\\..")); Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix("/..")); Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix("../")); Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix("..\\")); Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix("..")); }