36 lines
1.4 KiB
Java
36 lines
1.4 KiB
Java
package com.hithomelabs.dsa.array.three_sum;
|
|
import java.util.*;
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
|
public class SolutionTest {
|
|
@Test
|
|
void testSolve() {
|
|
Solution solution = new Solution();
|
|
|
|
// Test case 1: Normal case with positive numbers
|
|
int[] nums1 = {1, 2, -2, -1};
|
|
List<List<Integer>> expected1 = Arrays.asList(Arrays.asList(-2, -1, 1), Arrays.asList(-2, 1, 2));
|
|
assertEquals(expected1, solution.solve(nums1));
|
|
|
|
// Test case 2: No solution
|
|
int[] nums2 = {1, 2, 3};
|
|
List<List<Integer>> expected2 = new ArrayList<>();
|
|
assertEquals(expected2, solution.solve(nums2));
|
|
|
|
// Test case 3: Array with duplicates
|
|
int[] nums3 = {0, 0, 0, 0};
|
|
List<List<Integer>> expected3 = Arrays.asList(Arrays.asList(0, 0, 0));
|
|
assertEquals(expected3, solution.solve(nums3));
|
|
|
|
// Test case 4: Mixed positive and negative numbers
|
|
int[] nums4 = {-1, 0, 1, 2, -1, -4};
|
|
List<List<Integer>> expected4 = Arrays.asList(Arrays.asList(-1, -1, 2), Arrays.asList(-1, 0, 1));
|
|
assertEquals(expected4, solution.solve(nums4));
|
|
|
|
// Test case 5: All elements are zero
|
|
int[] nums5 = {0, 0, 0};
|
|
List<List<Integer>> expected5 = Arrays.asList(Arrays.asList(0, 0, 0));
|
|
assertEquals(expected5, solution.solve(nums5));
|
|
}
|
|
}
|