From 10003fa82bf14e73727557b2066f0072228828f4 Mon Sep 17 00:00:00 2001 From: X BELL <194058603+bellxalli@users.noreply.github.com> Date: Thu, 16 Jan 2025 11:15:15 -0800 Subject: [PATCH] Fixed One Bug --- src/CharacterFrequencyCounter.java | 7 ++++++- src/CharacterFrequencyCounterTest.java | 24 +++++++++++++++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/CharacterFrequencyCounter.java b/src/CharacterFrequencyCounter.java index d4e09c1..3fa401c 100644 --- a/src/CharacterFrequencyCounter.java +++ b/src/CharacterFrequencyCounter.java @@ -60,8 +60,13 @@ public int getFrequency(char c) { */ public double getRelativePercentage(char c) { c = Character.toLowerCase(c); - int charCount = frequencyMap.get(c); + int charCount = 0; + if(frequencyMap.get(c) != null) + { + charCount = frequencyMap.get(c); + } + return ((double) charCount / totalCharacterCount) * 100; } } diff --git a/src/CharacterFrequencyCounterTest.java b/src/CharacterFrequencyCounterTest.java index bed3ee2..1058a09 100644 --- a/src/CharacterFrequencyCounterTest.java +++ b/src/CharacterFrequencyCounterTest.java @@ -3,5 +3,27 @@ import org.junit.jupiter.api.Test; public class CharacterFrequencyCounterTest { - + @Test + public void testLAppearsThreeTimesInHelloWorld() + { + //arrange: set up test + CharacterFrequencyCounter counter = new CharacterFrequencyCounter("hello world"); + + //act: making something happen calling a method usually + int actualCount = counter.getFrequency('l'); + + //assert: get results and check that they match expected results + assertEquals(3, actualCount); + + } + + @Test + public void testNoneOccurringCharacterPercentageIsZero() + { + CharacterFrequencyCounter counter = new CharacterFrequencyCounter("hi there"); + + double actualPercentage = counter.getRelativePercentage('z'); + + assertEquals(0.0, actualPercentage, 0.001); + } } \ No newline at end of file