From 7a5cbf397125651c2aab6c70269808d6e7483ca9 Mon Sep 17 00:00:00 2001 From: Mo Helmy <135069400+BenHelmyBen@users.noreply.github.com> Date: Thu, 25 Apr 2024 18:20:58 +0200 Subject: [PATCH] This commit is related to BAEL-7854 (#16489) This commit aims to add a test class named "HashMapCharacterCountUnitTest". --- .../HashMapCharacterCountUnitTest.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/hashmapcharactercount/HashMapCharacterCountUnitTest.java diff --git a/core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/hashmapcharactercount/HashMapCharacterCountUnitTest.java b/core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/hashmapcharactercount/HashMapCharacterCountUnitTest.java new file mode 100644 index 0000000000..7f3e390c80 --- /dev/null +++ b/core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/hashmapcharactercount/HashMapCharacterCountUnitTest.java @@ -0,0 +1,38 @@ +package com.baeldung.hashmapcharactercount; + +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static java.util.stream.Collectors.toMap; +import static org.junit.Assert.assertEquals; + +public class HashMapCharacterCountUnitTest { + String str = "abcaadcbcb"; + + @Test + public void givenString_whenUsingStreams_thenVerifyCounts() { + Map charCount = str.chars() + .boxed() + .collect(toMap( + k -> (char) k.intValue(), + v -> 1, + Integer::sum)); + + assertEquals(3, charCount.get('a').intValue()); + } + + @Test + public void givenString_whenUsingLooping_thenVerifyCounts() { + Map charCount = new HashMap<>(); + for (char c : str.toCharArray()) { + charCount.merge(c, + 1, + Integer::sum); + } + assertEquals(3, charCount.get('a').intValue()); + } + + +}