Skip to content

Commit 0c53a72

Browse files
Fix Checkstyle errors and improve test coverage in Permutations
1 parent fdf5fd1 commit 0c53a72

2 files changed

Lines changed: 16 additions & 15 deletions

File tree

src/main/java/com/thealgorithms/recursion/Permutations.java

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.thealgorithms.recursion;
22

33
import java.util.ArrayList;
4-
import java.util.Arrays;
54
import java.util.List;
65

76
/**
@@ -40,11 +39,7 @@ public static List<List<Integer>> permutations(int[] nums) {
4039
return result;
4140
}
4241

43-
private static void generateIntegerPermutations(
44-
int index,
45-
List<Integer> list,
46-
List<List<Integer>> result
47-
) {
42+
private static void generateIntegerPermutations(int index, List<Integer> list, List<List<Integer>> result) {
4843
if (index == list.size()) {
4944
result.add(new ArrayList<>(list));
5045
return;
@@ -80,21 +75,16 @@ public static List<String> permutations(String s) {
8075
return result;
8176
}
8277

83-
private static void generateStringPermutations(
84-
String prefix,
85-
String remaining,
86-
List<String> result
87-
) {
78+
private static void generateStringPermutations(String prefix, String remaining, List<String> result) {
8879
if (remaining.isEmpty()) {
8980
result.add(prefix);
9081
return;
9182
}
9283

9384
for (int i = 0; i < remaining.length(); i++) {
9485
char ch = remaining.charAt(i);
95-
String next =
96-
remaining.substring(0, i) + remaining.substring(i + 1);
86+
String next = remaining.substring(0, i) + remaining.substring(i + 1);
9787
generateStringPermutations(prefix + ch, next, result);
9888
}
9989
}
100-
}
90+
}

src/test/java/com/thealgorithms/recursion/Permutations.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.thealgorithms.recursion;
22

33
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
import static org.junit.jupiter.api.Assertions.assertThrows;
45

56
import java.util.List;
67
import org.junit.jupiter.api.Test;
@@ -14,9 +15,19 @@ void testIntegerPermutations() {
1415
assertEquals(2, result.size());
1516
}
1617

18+
@Test
19+
void testIntegerPermutationsNull() {
20+
assertThrows(NullPointerException.class, () -> Permutations.permutations((int[]) null));
21+
}
22+
1723
@Test
1824
void testStringPermutations() {
1925
List<String> result = Permutations.permutations("ab");
2026
assertEquals(2, result.size());
2127
}
22-
}
28+
29+
@Test
30+
void testStringPermutationsNull() {
31+
assertThrows(NullPointerException.class, () -> Permutations.permutations((String) null));
32+
}
33+
}

0 commit comments

Comments
 (0)