From b54d28a9370f6c0f5f5f3d360a41b07adf4bad1c Mon Sep 17 00:00:00 2001 From: Frida Johanne Tveit Date: Wed, 8 Mar 2017 17:55:08 +0000 Subject: [PATCH 1/2] acromyn: adjust API to use an instance method Fixes issue #351. --- exercises/acronym/src/example/java/Acronym.java | 12 +++++++++++- .../acronym/src/test/java/AcronymTest.java | 17 ++++++++--------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/exercises/acronym/src/example/java/Acronym.java b/exercises/acronym/src/example/java/Acronym.java index ea80034f7..9a1e8bb64 100644 --- a/exercises/acronym/src/example/java/Acronym.java +++ b/exercises/acronym/src/example/java/Acronym.java @@ -2,7 +2,17 @@ import java.util.regex.Pattern; public class Acronym { - public static String generate(String phrase){ + private final String acronym; + + public Acronym(String phrase) { + acronym = generateAcronym(phrase); + } + + public String getAcronym() { + return acronym; + } + + private String generateAcronym(String phrase){ final Pattern BREAK_WORDS = Pattern.compile("[A-Z]+[a-z]*|[a-z]+"); final Matcher matcher = BREAK_WORDS.matcher(phrase); final StringBuilder b = new StringBuilder(); diff --git a/exercises/acronym/src/test/java/AcronymTest.java b/exercises/acronym/src/test/java/AcronymTest.java index 64c4ef837..1935b3c8f 100644 --- a/exercises/acronym/src/test/java/AcronymTest.java +++ b/exercises/acronym/src/test/java/AcronymTest.java @@ -5,12 +5,11 @@ public class AcronymTest { - @Test public void fromTitleCasedPhrases() { final String phrase = "Portable Network Graphics"; final String expected = "PNG"; - assertEquals(expected, Acronym.generate(phrase)); + assertEquals(expected, new Acronym(phrase).getAcronym()); } @Ignore @@ -18,7 +17,7 @@ public void fromTitleCasedPhrases() { public void fromOtherTitleCasedPhrases() { final String phrase = "Ruby on Rails"; final String expected = "ROR"; - assertEquals(expected, Acronym.generate(phrase)); + assertEquals(expected, new Acronym(phrase).getAcronym()); } @Ignore @@ -26,7 +25,7 @@ public void fromOtherTitleCasedPhrases() { public void fromInconsistentlyCasedPhrases() { final String phrase = "HyperText Markup Language"; final String expected = "HTML"; - assertEquals(expected, Acronym.generate(phrase)); + assertEquals(expected, new Acronym(phrase).getAcronym()); } @Ignore @@ -34,7 +33,7 @@ public void fromInconsistentlyCasedPhrases() { public void fromPhrasesWithPunctuation() { final String phrase = "First In, First Out"; final String expected = "FIFO"; - assertEquals(expected, Acronym.generate(phrase)); + assertEquals(expected, new Acronym(phrase).getAcronym()); } @Ignore @@ -42,7 +41,7 @@ public void fromPhrasesWithPunctuation() { public void fromOtherPhrasesWithPunctuation() { final String phrase = "PHP: Hypertext Preprocessor"; final String expected = "PHP"; - assertEquals(expected, Acronym.generate(phrase)); + assertEquals(expected, new Acronym(phrase).getAcronym()); } @Ignore @@ -50,7 +49,7 @@ public void fromOtherPhrasesWithPunctuation() { public void fromPhrasesWithNonAcronymAllCapsWord() { final String phrase = "GNU Image Manipulation Program"; final String expected = "GIMP"; - assertEquals(expected, Acronym.generate(phrase)); + assertEquals(expected, new Acronym(phrase).getAcronym()); } @Ignore @@ -58,7 +57,7 @@ public void fromPhrasesWithNonAcronymAllCapsWord() { public void fromPhrasesWithPunctuationAndSentenceCasing() { final String phrase = "Complementary metal-oxide semiconductor"; final String expected = "CMOS"; - assertEquals(expected, Acronym.generate(phrase)); + assertEquals(expected, new Acronym(phrase).getAcronym()); } @Ignore @@ -66,7 +65,7 @@ public void fromPhrasesWithPunctuationAndSentenceCasing() { public void fromPhraseWithSingleLetterWord() { final String phrase = "Cat in a Hat"; final String expected = "CIAH"; - assertEquals(expected, Acronym.generate(phrase)); + assertEquals(expected, new Acronym(phrase).getAcronym()); } } From ca1a0c0295cb0e96da47bef60c9e348c192340b4 Mon Sep 17 00:00:00 2001 From: Frida Johanne Tveit Date: Tue, 21 Mar 2017 09:55:43 +0000 Subject: [PATCH 2/2] acronym: rename get method --- exercises/acronym/src/example/java/Acronym.java | 2 +- exercises/acronym/src/test/java/AcronymTest.java | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/exercises/acronym/src/example/java/Acronym.java b/exercises/acronym/src/example/java/Acronym.java index 9a1e8bb64..7a5b3c214 100644 --- a/exercises/acronym/src/example/java/Acronym.java +++ b/exercises/acronym/src/example/java/Acronym.java @@ -8,7 +8,7 @@ public Acronym(String phrase) { acronym = generateAcronym(phrase); } - public String getAcronym() { + public String get() { return acronym; } diff --git a/exercises/acronym/src/test/java/AcronymTest.java b/exercises/acronym/src/test/java/AcronymTest.java index 1935b3c8f..008306f66 100644 --- a/exercises/acronym/src/test/java/AcronymTest.java +++ b/exercises/acronym/src/test/java/AcronymTest.java @@ -9,7 +9,7 @@ public class AcronymTest { public void fromTitleCasedPhrases() { final String phrase = "Portable Network Graphics"; final String expected = "PNG"; - assertEquals(expected, new Acronym(phrase).getAcronym()); + assertEquals(expected, new Acronym(phrase).get()); } @Ignore @@ -17,7 +17,7 @@ public void fromTitleCasedPhrases() { public void fromOtherTitleCasedPhrases() { final String phrase = "Ruby on Rails"; final String expected = "ROR"; - assertEquals(expected, new Acronym(phrase).getAcronym()); + assertEquals(expected, new Acronym(phrase).get()); } @Ignore @@ -25,7 +25,7 @@ public void fromOtherTitleCasedPhrases() { public void fromInconsistentlyCasedPhrases() { final String phrase = "HyperText Markup Language"; final String expected = "HTML"; - assertEquals(expected, new Acronym(phrase).getAcronym()); + assertEquals(expected, new Acronym(phrase).get()); } @Ignore @@ -33,7 +33,7 @@ public void fromInconsistentlyCasedPhrases() { public void fromPhrasesWithPunctuation() { final String phrase = "First In, First Out"; final String expected = "FIFO"; - assertEquals(expected, new Acronym(phrase).getAcronym()); + assertEquals(expected, new Acronym(phrase).get()); } @Ignore @@ -41,7 +41,7 @@ public void fromPhrasesWithPunctuation() { public void fromOtherPhrasesWithPunctuation() { final String phrase = "PHP: Hypertext Preprocessor"; final String expected = "PHP"; - assertEquals(expected, new Acronym(phrase).getAcronym()); + assertEquals(expected, new Acronym(phrase).get()); } @Ignore @@ -49,7 +49,7 @@ public void fromOtherPhrasesWithPunctuation() { public void fromPhrasesWithNonAcronymAllCapsWord() { final String phrase = "GNU Image Manipulation Program"; final String expected = "GIMP"; - assertEquals(expected, new Acronym(phrase).getAcronym()); + assertEquals(expected, new Acronym(phrase).get()); } @Ignore @@ -57,7 +57,7 @@ public void fromPhrasesWithNonAcronymAllCapsWord() { public void fromPhrasesWithPunctuationAndSentenceCasing() { final String phrase = "Complementary metal-oxide semiconductor"; final String expected = "CMOS"; - assertEquals(expected, new Acronym(phrase).getAcronym()); + assertEquals(expected, new Acronym(phrase).get()); } @Ignore @@ -65,7 +65,7 @@ public void fromPhrasesWithPunctuationAndSentenceCasing() { public void fromPhraseWithSingleLetterWord() { final String phrase = "Cat in a Hat"; final String expected = "CIAH"; - assertEquals(expected, new Acronym(phrase).getAcronym()); + assertEquals(expected, new Acronym(phrase).get()); } }