From 126a6c13afc41a8b9b8a51266d5e2e210a4d06fc Mon Sep 17 00:00:00 2001 From: Frida Johanne Tveit Date: Mon, 6 Mar 2017 19:18:56 +0000 Subject: [PATCH 1/3] pangram: make object-orientated --- .../pangram/src/example/java/Pangrams.java | 6 ++-- .../pangram/src/test/java/PangramsTest.java | 33 +++++++++++-------- 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/exercises/pangram/src/example/java/Pangrams.java b/exercises/pangram/src/example/java/Pangrams.java index c186aea25..8803b7727 100644 --- a/exercises/pangram/src/example/java/Pangrams.java +++ b/exercises/pangram/src/example/java/Pangrams.java @@ -4,8 +4,10 @@ public class Pangrams { private static final int alphaLength = 26; - public static boolean isPangram(String input){ - return Arrays.stream(input.replaceAll("[^a-zA-Z]","").toLowerCase().split("")) + public boolean isPangram(String input) { + return Arrays.stream(input.replaceAll("[^a-zA-Z]", "") + .toLowerCase() + .split("")) .collect(Collectors.toSet()) .size() == alphaLength; } diff --git a/exercises/pangram/src/test/java/PangramsTest.java b/exercises/pangram/src/test/java/PangramsTest.java index f2f847c19..6ab31dccf 100644 --- a/exercises/pangram/src/test/java/PangramsTest.java +++ b/exercises/pangram/src/test/java/PangramsTest.java @@ -1,75 +1,82 @@ -import org.junit.Test; +import org.junit.Before; import org.junit.Ignore; +import org.junit.Test; -import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; public class PangramsTest { + private Pangrams pangrams; + + @Before + public void setup() { + pangrams = new Pangrams(); + } @Test public void emptySentenceIsNotPangram() { - assertFalse(Pangrams.isPangram("")); + assertFalse(pangrams.isPangram("")); } @Ignore @Test public void pangramWithOnlyLowerCaseLettersIsRecognizedAsPangram() { - assertTrue(Pangrams.isPangram("the quick brown fox jumps over the lazy dog")); + assertTrue(pangrams.isPangram("the quick brown fox jumps over the lazy dog")); } @Ignore @Test public void phraseMissingCharacterXIsNotPangram() { - assertFalse(Pangrams.isPangram("a quick movement of the enemy will jeopardize five gunboats")); + assertFalse(pangrams.isPangram("a quick movement of the enemy will jeopardize five gunboats")); } @Ignore @Test public void anotherPhraseMissingCharacterXIsNotPangram() { - assertFalse(Pangrams.isPangram("the quick brown fish jumps over the lazy dog")); + assertFalse(pangrams.isPangram("the quick brown fish jumps over the lazy dog")); } @Ignore @Test public void pangramWithUnderscoresIsRecognizedAsPangram() { - assertTrue(Pangrams.isPangram("\"the_quick_brown_fox_jumps_over_the_lazy_dog\"")); + assertTrue(pangrams.isPangram("\"the_quick_brown_fox_jumps_over_the_lazy_dog\"")); } @Ignore @Test public void pangramWithNumbersIsRecognizedAsPangram() { - assertTrue(Pangrams.isPangram("\"the 1 quick brown fox jumps over the 2 lazy dogs\"")); + assertTrue(pangrams.isPangram("\"the 1 quick brown fox jumps over the 2 lazy dogs\"")); } @Ignore @Test public void phraseWithMissingLettersReplacedByNumbersIsNotPangram() { - assertFalse(Pangrams.isPangram("\"7h3 qu1ck brown fox jumps ov3r 7h3 lazy dog\"")); + assertFalse(pangrams.isPangram("\"7h3 qu1ck brown fox jumps ov3r 7h3 lazy dog\"")); } @Ignore @Test public void pangramWithMixedCaseAndPunctuationIsRecognizedAsPangram() { - assertTrue(Pangrams.isPangram("\"Five quacking Zephyrs jolt my wax bed.\"")); + assertTrue(pangrams.isPangram("\"Five quacking Zephyrs jolt my wax bed.\"")); } @Ignore @Test public void pangramWithNonAsciiCharactersIsRecognizedAsPangram() { - assertTrue(Pangrams.isPangram("Victor jagt zwölf Boxkämpfer quer über den großen Sylter Deich.")); + assertTrue(pangrams.isPangram("Victor jagt zwölf Boxkämpfer quer über den großen Sylter Deich.")); } @Ignore @Test public void panagramInAlphabetOtherThanAsciiIsNotRecognizedAsPangram() { - assertFalse(Pangrams.isPangram("Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства.")); + assertFalse(pangrams.isPangram("Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства.")); } @Ignore @Test public void upperAndLowerCaseVersionsOfTheSameCharacterShouldNotBeCountedSeparately() { - assertFalse(Pangrams.isPangram("the quick brown fox jumped over the lazy FOX")); + assertFalse(pangrams.isPangram("the quick brown fox jumped over the lazy FOX")); } } From 87b340c905265c8e77cddd8bd13e773764178360 Mon Sep 17 00:00:00 2001 From: Frida Johanne Tveit Date: Mon, 6 Mar 2017 19:24:15 +0000 Subject: [PATCH 2/3] pangrams: add starter implementation Pangrams is currently the third exercise in the new ordering therefore it should have a starter implementation. --- exercises/pangram/src/main/java/.keep | 0 exercises/pangram/src/main/java/Pangrams.java | 6 ++++++ 2 files changed, 6 insertions(+) delete mode 100644 exercises/pangram/src/main/java/.keep create mode 100644 exercises/pangram/src/main/java/Pangrams.java diff --git a/exercises/pangram/src/main/java/.keep b/exercises/pangram/src/main/java/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/exercises/pangram/src/main/java/Pangrams.java b/exercises/pangram/src/main/java/Pangrams.java new file mode 100644 index 000000000..edab525eb --- /dev/null +++ b/exercises/pangram/src/main/java/Pangrams.java @@ -0,0 +1,6 @@ +public class Pangrams { + + public boolean isPangram(String input) { + throw new UnsupportedOperationException("Method has not been implemented yet."); + } +} From 442f49850bc9a1f39a7a6c3d448dd66a0d967988 Mon Sep 17 00:00:00 2001 From: Frida Johanne Tveit Date: Tue, 7 Mar 2017 19:09:10 +0000 Subject: [PATCH 3/3] pangrams: rename class to PangramChecker --- .../{Pangrams.java => PangramChecker.java} | 2 +- .../{Pangrams.java => PangramChecker.java} | 2 +- .../src/test/java/PangramCheckerTest.java | 82 +++++++++++++++++++ .../pangram/src/test/java/PangramsTest.java | 82 ------------------- 4 files changed, 84 insertions(+), 84 deletions(-) rename exercises/pangram/src/example/java/{Pangrams.java => PangramChecker.java} (92%) rename exercises/pangram/src/main/java/{Pangrams.java => PangramChecker.java} (82%) create mode 100644 exercises/pangram/src/test/java/PangramCheckerTest.java delete mode 100644 exercises/pangram/src/test/java/PangramsTest.java diff --git a/exercises/pangram/src/example/java/Pangrams.java b/exercises/pangram/src/example/java/PangramChecker.java similarity index 92% rename from exercises/pangram/src/example/java/Pangrams.java rename to exercises/pangram/src/example/java/PangramChecker.java index 8803b7727..f0f296402 100644 --- a/exercises/pangram/src/example/java/Pangrams.java +++ b/exercises/pangram/src/example/java/PangramChecker.java @@ -1,7 +1,7 @@ import java.util.Arrays; import java.util.stream.Collectors; -public class Pangrams { +public class PangramChecker { private static final int alphaLength = 26; public boolean isPangram(String input) { diff --git a/exercises/pangram/src/main/java/Pangrams.java b/exercises/pangram/src/main/java/PangramChecker.java similarity index 82% rename from exercises/pangram/src/main/java/Pangrams.java rename to exercises/pangram/src/main/java/PangramChecker.java index edab525eb..1b1651605 100644 --- a/exercises/pangram/src/main/java/Pangrams.java +++ b/exercises/pangram/src/main/java/PangramChecker.java @@ -1,4 +1,4 @@ -public class Pangrams { +public class PangramChecker { public boolean isPangram(String input) { throw new UnsupportedOperationException("Method has not been implemented yet."); diff --git a/exercises/pangram/src/test/java/PangramCheckerTest.java b/exercises/pangram/src/test/java/PangramCheckerTest.java new file mode 100644 index 000000000..f9d7117a4 --- /dev/null +++ b/exercises/pangram/src/test/java/PangramCheckerTest.java @@ -0,0 +1,82 @@ +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +public class PangramCheckerTest { + private PangramChecker pangramChecker; + + @Before + public void setup() { + pangramChecker = new PangramChecker(); + } + + + @Test + public void emptySentenceIsNotPangram() { + assertFalse(pangramChecker.isPangram("")); + } + + @Ignore + @Test + public void pangramWithOnlyLowerCaseLettersIsRecognizedAsPangram() { + assertTrue(pangramChecker.isPangram("the quick brown fox jumps over the lazy dog")); + } + + @Ignore + @Test + public void phraseMissingCharacterXIsNotPangram() { + assertFalse(pangramChecker.isPangram("a quick movement of the enemy will jeopardize five gunboats")); + } + + @Ignore + @Test + public void anotherPhraseMissingCharacterXIsNotPangram() { + assertFalse(pangramChecker.isPangram("the quick brown fish jumps over the lazy dog")); + } + + @Ignore + @Test + public void pangramWithUnderscoresIsRecognizedAsPangram() { + assertTrue(pangramChecker.isPangram("\"the_quick_brown_fox_jumps_over_the_lazy_dog\"")); + } + + @Ignore + @Test + public void pangramWithNumbersIsRecognizedAsPangram() { + assertTrue(pangramChecker.isPangram("\"the 1 quick brown fox jumps over the 2 lazy dogs\"")); + } + + @Ignore + @Test + public void phraseWithMissingLettersReplacedByNumbersIsNotPangram() { + assertFalse(pangramChecker.isPangram("\"7h3 qu1ck brown fox jumps ov3r 7h3 lazy dog\"")); + } + + @Ignore + @Test + public void pangramWithMixedCaseAndPunctuationIsRecognizedAsPangram() { + assertTrue(pangramChecker.isPangram("\"Five quacking Zephyrs jolt my wax bed.\"")); + } + + @Ignore + @Test + public void pangramWithNonAsciiCharactersIsRecognizedAsPangram() { + assertTrue(pangramChecker.isPangram("Victor jagt zwölf Boxkämpfer quer über den großen Sylter Deich.")); + } + + + @Ignore + @Test + public void panagramInAlphabetOtherThanAsciiIsNotRecognizedAsPangram() { + assertFalse(pangramChecker.isPangram("Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства.")); + } + + @Ignore + @Test + public void upperAndLowerCaseVersionsOfTheSameCharacterShouldNotBeCountedSeparately() { + assertFalse(pangramChecker.isPangram("the quick brown fox jumped over the lazy FOX")); + } +} diff --git a/exercises/pangram/src/test/java/PangramsTest.java b/exercises/pangram/src/test/java/PangramsTest.java deleted file mode 100644 index 6ab31dccf..000000000 --- a/exercises/pangram/src/test/java/PangramsTest.java +++ /dev/null @@ -1,82 +0,0 @@ -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -public class PangramsTest { - private Pangrams pangrams; - - @Before - public void setup() { - pangrams = new Pangrams(); - } - - - @Test - public void emptySentenceIsNotPangram() { - assertFalse(pangrams.isPangram("")); - } - - @Ignore - @Test - public void pangramWithOnlyLowerCaseLettersIsRecognizedAsPangram() { - assertTrue(pangrams.isPangram("the quick brown fox jumps over the lazy dog")); - } - - @Ignore - @Test - public void phraseMissingCharacterXIsNotPangram() { - assertFalse(pangrams.isPangram("a quick movement of the enemy will jeopardize five gunboats")); - } - - @Ignore - @Test - public void anotherPhraseMissingCharacterXIsNotPangram() { - assertFalse(pangrams.isPangram("the quick brown fish jumps over the lazy dog")); - } - - @Ignore - @Test - public void pangramWithUnderscoresIsRecognizedAsPangram() { - assertTrue(pangrams.isPangram("\"the_quick_brown_fox_jumps_over_the_lazy_dog\"")); - } - - @Ignore - @Test - public void pangramWithNumbersIsRecognizedAsPangram() { - assertTrue(pangrams.isPangram("\"the 1 quick brown fox jumps over the 2 lazy dogs\"")); - } - - @Ignore - @Test - public void phraseWithMissingLettersReplacedByNumbersIsNotPangram() { - assertFalse(pangrams.isPangram("\"7h3 qu1ck brown fox jumps ov3r 7h3 lazy dog\"")); - } - - @Ignore - @Test - public void pangramWithMixedCaseAndPunctuationIsRecognizedAsPangram() { - assertTrue(pangrams.isPangram("\"Five quacking Zephyrs jolt my wax bed.\"")); - } - - @Ignore - @Test - public void pangramWithNonAsciiCharactersIsRecognizedAsPangram() { - assertTrue(pangrams.isPangram("Victor jagt zwölf Boxkämpfer quer über den großen Sylter Deich.")); - } - - - @Ignore - @Test - public void panagramInAlphabetOtherThanAsciiIsNotRecognizedAsPangram() { - assertFalse(pangrams.isPangram("Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства.")); - } - - @Ignore - @Test - public void upperAndLowerCaseVersionsOfTheSameCharacterShouldNotBeCountedSeparately() { - assertFalse(pangrams.isPangram("the quick brown fox jumped over the lazy FOX")); - } -}