### Question:
StringUtils { public static String lowerCase(String str) { if (str == null) { return null; } else if (str.isEmpty()) { return ""; } else { return str.toLowerCase(Locale.ENGLISH); } }  static Integer toInteger(StringBuilder value); static String toString(StringBuilder value); static Boolean toBoolean(StringBuilder value); static String fromInteger(Integer value); static String fromLong(Long value); static String fromString(String value); static String fromBoolean(Boolean value); static String fromBigInteger(BigInteger value); static String fromBigDecimal(BigDecimal value); static BigInteger toBigInteger(String s); static BigDecimal toBigDecimal(String s); static String fromFloat(Float value); static String fromDate(Date value); static String fromDouble(Double d); static String fromByte(Byte b); static String fromByteBuffer(ByteBuffer byteBuffer); static String replace(String originalString, String partToMatch, String replacement); static String join(String joiner, String... parts); static String lowerCase(String str); static String upperCase(String str); @SuppressWarnings("checkstyle:innerassignment") static boolean isBlank(final CharSequence cs); static final Charset UTF8; }### Answer:
@Test public void testLowerCase() { assertNull("null", StringUtils.lowerCase(null)); assertEquals("empty string", "", StringUtils.lowerCase("")); assertEquals("aBc -> abc", "abc", StringUtils.lowerCase("aBc")); final Locale defaultLocale = Locale.getDefault(); Locale.setDefault(new Locale("tr", "TR")); assertEquals("turkish locale", "x-amz-invocation-type", StringUtils.lowerCase("X-Amz-Invocation-Type")); Locale.setDefault(defaultLocale); }