DSA_sheets/dsa/src/test/java/com/hithomelabs/dsa/array/three_sum/SolutionTest.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));
}
}