diff --git a/haiku-kata-solutions/src/main/java/org/eclipse/collections/haikukata/TextProcessorEC.java b/haiku-kata-solutions/src/main/java/org/eclipse/collections/haikukata/TextProcessorEC.java index bdada4ca..463dea48 100644 --- a/haiku-kata-solutions/src/main/java/org/eclipse/collections/haikukata/TextProcessorEC.java +++ b/haiku-kata-solutions/src/main/java/org/eclipse/collections/haikukata/TextProcessorEC.java @@ -59,18 +59,17 @@ public String distinctLetters() public Triple duplicatesAndUnique() { - // TODO: Find all of the alphabetic letters from this.getHaikuAsCharAdapter(), convert them to lowercase - // and store them in a MutableCharBag. - // Hint: Look at select, collectChar, and toBag - MutableCharBag chars = null; - - // TODO: Find all the chars with duplicates - // Hint: Find a method on MutableCharBag that returns duplicates - CharBag duplicates = null; - - // TODO: Find all the unique chars - // Hint: Find a method on MutableCharBag that returns unique chars - CharSet unique = null; + // Find all of the alphabetic letters, convert them to lowercase + MutableCharBag chars = this.getHaikuAsCharAdapter() + .select(Character::isAlphabetic) + .collectChar(Character::toLowerCase) + .toBag(); + + // Find all the chars with duplicates + CharBag duplicates = chars.selectDuplicates(); + + // Find all the unique chars + CharSet unique = chars.selectUnique(); return Tuples.triple(chars, duplicates, unique); } diff --git a/haiku-kata-solutions/src/test/java/org/eclipse/collections/haikukata/TextProcessorECTest.java b/haiku-kata-solutions/src/test/java/org/eclipse/collections/haikukata/TextProcessorECTest.java index 9d135acb..9a30f14a 100644 --- a/haiku-kata-solutions/src/test/java/org/eclipse/collections/haikukata/TextProcessorECTest.java +++ b/haiku-kata-solutions/src/test/java/org/eclipse/collections/haikukata/TextProcessorECTest.java @@ -47,8 +47,8 @@ public void distinctLetters() Assertions.assertEquals("breakingthoupvmwcdflsy", distinctLetters); } -// @Test // Uncomment once duplicatesAndUnique is implemented for EC -// @Tag("SOLUTION") + @Test + @Tag("SOLUTION") public void duplicatesAndUnique() { Triple triple = new TextProcessorEC().duplicatesAndUnique();