diff --git a/candy-kata-solutions/src/test/java/org/eclipse/collections/candykata/CandyKataSolutionsTest.java b/candy-kata-solutions/src/test/java/org/eclipse/collections/candykata/CandyKataSolutionsTest.java index ddade154..71995bc6 100644 --- a/candy-kata-solutions/src/test/java/org/eclipse/collections/candykata/CandyKataSolutionsTest.java +++ b/candy-kata-solutions/src/test/java/org/eclipse/collections/candykata/CandyKataSolutionsTest.java @@ -57,6 +57,20 @@ public void commonInTop10() Assertions.assertEquals(expectedSet, commonInTop10); } + @Test + @Tag("SOLUTION") + public void lessThan30() + { + MutableList> bagsOfCandy = this.collectBagsOfCandy(); + + Bag bigBagOfCandy = null; + + String stringOfItemToCount = null; + + var expected = "{WHOPPERS=28, NERDS=28, HERSHEYS_KISSES=24, TWIX=26, SWEDISH_FISH=26}"; + Assertions.assertEquals(null, stringOfItemToCount); + } + private MutableList> collectBagsOfCandy() { return SchoolGroup.all().collect(SchoolGroup::trickOrTreat).toList(); diff --git a/candy-kata/src/test/java/org/eclipse/collections/candykata/CandyKataTest.java b/candy-kata/src/test/java/org/eclipse/collections/candykata/CandyKataTest.java index 9b23ddc9..08345a7f 100644 --- a/candy-kata/src/test/java/org/eclipse/collections/candykata/CandyKataTest.java +++ b/candy-kata/src/test/java/org/eclipse/collections/candykata/CandyKataTest.java @@ -61,6 +61,26 @@ public void commonInTop10() Assertions.assertEquals(expectedSet, commonInTop10); } + @Test + @Tag("KATA") + public void lessThan30() + { + MutableList> bagsOfCandy = this.collectBagsOfCandy(); + + // Hint: Flatten the Bags of Candy into a single Bag + Bag bigBagOfCandy = null; + + // Find candies that are less than 30 in number in the big bag of candy and + // convert them to a string with its item count like so: "{WHOPPERS=28} + // Hint: use Bag#toStringOfItemToCount() + // Replace null with expected value in the solution + + String stringOfItemToCount = bigBagOfCandy.selectByOccurrences(i -> i < 30).toStringOfItemToCount(); + + var expected = "{WHOPPERS=28, NERDS=28, HERSHEYS_KISSES=24, TWIX=26, SWEDISH_FISH=26}"; + Assertions.assertEquals(expected, stringOfItemToCount); + } + private MutableList> collectBagsOfCandy() { return SchoolGroup.all().collect(SchoolGroup::trickOrTreat).toList();