From 0208aad28ea4ee011b78e8c7329dd74aac200a13 Mon Sep 17 00:00:00 2001 From: Shekhar Gulati Date: Sat, 21 May 2016 22:36:22 +0530 Subject: [PATCH] Fixed #25. Added support for `reverse` function --- src/main/java/strman/Strman.java | 11 +++++++++++ src/test/java/strman/StrmanTest.java | 10 ++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/main/java/strman/Strman.java b/src/main/java/strman/Strman.java index bc9b772..1e11f90 100644 --- a/src/main/java/strman/Strman.java +++ b/src/main/java/strman/Strman.java @@ -774,6 +774,17 @@ public abstract class Strman { return value.toLowerCase().replace(search.toLowerCase(), newValue); } + /** + * Reverse the input String + * + * @param value The input String + * @return Reversed String + */ + public static String reverse(final String value) { + validate(value, NULL_STRING_PREDICATE, NULL_STRING_MSG_SUPPLIER); + return new StringBuilder(value).reverse().toString(); + } + public static String decode(final String value, final int digits, final int radix) { validate(value, NULL_STRING_PREDICATE, NULL_STRING_MSG_SUPPLIER); return Arrays diff --git a/src/test/java/strman/StrmanTest.java b/src/test/java/strman/StrmanTest.java index 1d425b0..9b2b9c8 100644 --- a/src/test/java/strman/StrmanTest.java +++ b/src/test/java/strman/StrmanTest.java @@ -592,4 +592,14 @@ public class StrmanTest { assertThat(replace("FOO bar", "foo", "bar", false), equalTo("bar bar")); assertThat(replace("FOO bar foo", "foo", "bar", false), equalTo("bar bar bar")); } + + @Test + public void reverse_shouldReverseInputString() throws Exception { + assertThat(reverse(""), equalTo("")); + assertThat(reverse("foo"), equalTo("oof")); + assertThat(reverse("shekhar"), equalTo("rahkehs")); + assertThat(reverse("bar"), equalTo("rab")); + assertThat(reverse("foo_"), equalTo("_oof")); + assertThat(reverse("f"), equalTo("f")); + } } \ No newline at end of file