diff --git a/src/main/java/kyu5/PigLatin.java b/src/main/java/kyu5/PigLatin.java index 4527a4a..32b5bdd 100644 --- a/src/main/java/kyu5/PigLatin.java +++ b/src/main/java/kyu5/PigLatin.java @@ -21,7 +21,9 @@ public static String pigIt(String str) { String[] words = str.split("\\s"); for (String w : words ) { - if (!w.matches("\\W")) { + if (w.isEmpty()) { + continue; + } else if (!w.matches("\\W")) { stringBuilder.append(w.substring(1)).append(w.charAt(0)).append(AY); } else { stringBuilder.append(w).append(" "); diff --git a/src/test/java/kyu5/PigLatinTest.java b/src/test/java/kyu5/PigLatinTest.java index a6ee6ef..ba173ce 100644 --- a/src/test/java/kyu5/PigLatinTest.java +++ b/src/test/java/kyu5/PigLatinTest.java @@ -21,4 +21,11 @@ public class PigLatinTest { void smokeTestsShouldExecuteApi() { quality.SmokeMethodTestHarness.verify(kyu5.PigLatin.class); } + + @Test + void handlesEmptyTokensWithoutThrowing() { + assertEquals("", pigIt("")); + assertEquals("eadinglay", pigIt(" leading")); + assertEquals("igPay atinlay", pigIt("Pig latin")); + } }