Skip to content

Commit 495eec5

Browse files
Added Test Cases for SortCharacterByFrequency
1 parent f930c3d commit 495eec5

2 files changed

Lines changed: 41 additions & 0 deletions

File tree

src/main/java/com/thealgorithms/strings/SortCharacterByFrequency.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// Reference: https://leetcode.com/problems/sort-characters-by-frequency/
12
import java.util.*;
23

34
// Problem: Sort Characters By Frequency
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.thealgorithms.strings;
2+
3+
import static org.junit.jupiter.api.Assertions.*;
4+
import org.junit.jupiter.api.Test;
5+
6+
class SortCharacterByFrequencyTest {
7+
8+
private final SortCharacterByFrequency solution = new SortCharacterByFrequency();
9+
10+
@Test
11+
void testBasicCase() {
12+
String result = solution.frequencySort("tree");
13+
14+
// Possible outputs: "eert" or "eetr"
15+
assertTrue(result.equals("eert") || result.equals("eetr"));
16+
}
17+
18+
@Test
19+
void testSingleCharacter() {
20+
assertEquals("a", solution.frequencySort("a"));
21+
}
22+
23+
@Test
24+
void testEmptyString() {
25+
assertEquals("", solution.frequencySort(""));
26+
}
27+
28+
@Test
29+
void testAllSameCharacters() {
30+
assertEquals("aaaa", solution.frequencySort("aaaa"));
31+
}
32+
33+
@Test
34+
void testMixedCharacters() {
35+
String result = solution.frequencySort("cccaaa");
36+
37+
// Possible outputs: "cccaaa" or "aaaccc"
38+
assertTrue(result.equals("cccaaa") || result.equals("aaaccc"));
39+
}
40+
}

0 commit comments

Comments
 (0)