diff --git a/clean-code-challanges/src/main/java/Acronym.java b/clean-code-challanges/src/main/java/Acronym.java index 5e00939..6add293 100644 --- a/clean-code-challanges/src/main/java/Acronym.java +++ b/clean-code-challanges/src/main/java/Acronym.java @@ -1,3 +1,6 @@ +import java.util.Arrays; +import java.util.stream.Collectors; + /** * Convert a phrase to its acronym. * @@ -6,13 +9,19 @@ * Help generate some jargon by writing a program that converts a long name like Portable Network Graphics to its acronym (PNG). */ class Acronym { + private final String cleanedPhrase; + private final String whitespaces = "\\s"; Acronym(String phrase) { - + phrase = phrase.replaceAll("-", " "); + this.cleanedPhrase = phrase.replaceAll("[^A-Za-z" + whitespaces + "]", ""); } String get() { - return null; + return Arrays.stream(cleanedPhrase.split(whitespaces)) + .filter(s -> !s.isEmpty()) + .map(s -> s.toUpperCase().charAt(0)) + .map(Object::toString) + .collect(Collectors.joining()); } - } diff --git a/clean-code-challanges/src/test/java/AcronymTest.java b/clean-code-challanges/src/test/java/AcronymTest.java index 4fec6c2..558f04b 100644 --- a/clean-code-challanges/src/test/java/AcronymTest.java +++ b/clean-code-challanges/src/test/java/AcronymTest.java @@ -3,7 +3,6 @@ import static org.junit.Assert.assertEquals; -@Ignore public class AcronymTest { @Test diff --git a/clean-code-challanges/src/test/java/PigLatinTranslatorTest.java b/clean-code-challanges/src/test/java/PigLatinTranslatorTest.java index c26cdcd..b295c9b 100644 --- a/clean-code-challanges/src/test/java/PigLatinTranslatorTest.java +++ b/clean-code-challanges/src/test/java/PigLatinTranslatorTest.java @@ -1,3 +1,4 @@ +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -8,6 +9,7 @@ import static org.junit.Assert.assertEquals; @RunWith(Parameterized.class) +@Ignore public class PigLatinTranslatorTest { private String englishPhrase;