diff --git a/src/main/java/strman/Strman.java b/src/main/java/strman/Strman.java index b0b4e85..87530be 100644 --- a/src/main/java/strman/Strman.java +++ b/src/main/java/strman/Strman.java @@ -493,6 +493,17 @@ public abstract class Strman { return append(value.substring(0, index), substr, value.substring(index)); } + /** + * Verifies if String is uppercase + * + * @param value The input String + * @return true if String is uppercase false otherwise + */ + public static boolean isUpperCase(final String value) { + validate(value, NULL_STRING_PREDICATE, NULL_STRING_MSG_SUPPLIER); + return Objects.equals(value, value.toUpperCase()); + } + /** * Verifies if String is lower case * diff --git a/src/test/java/strman/StrmanTest.java b/src/test/java/strman/StrmanTest.java index 80e2c14..0c1b4e3 100644 --- a/src/test/java/strman/StrmanTest.java +++ b/src/test/java/strman/StrmanTest.java @@ -409,4 +409,17 @@ public class StrmanTest { assertThat(isLowerCase("Foo"), equalTo(false)); assertThat(isLowerCase("foobarfooA"), equalTo(false)); } + + @Test + public void isUpperCase_shouldBeTrueWhenStringIsUpperCase() throws Exception { + assertThat(isUpperCase(""), equalTo(true)); + assertThat(isUpperCase("FOO"), equalTo(true)); + assertThat(isUpperCase("FOOBARFOO"), equalTo(true)); + } + + @Test + public void isUpperCase_shouldBeFalseWhenStringIsNotUpperCase() throws Exception { + assertThat(isUpperCase("Foo"), equalTo(false)); + assertThat(isUpperCase("foobarfooA"), equalTo(false)); + } } \ No newline at end of file