Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit e7ab970

Browse files
authored
Added jUnit for 'merge' method in class MergeIntervals
Version junit.jupiter: 5.8.1
1 parent 6f71442 commit e7ab970

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
package com.leetcode.arrays;
2+
3+
import org.junit.jupiter.api.AfterAll;
4+
import org.junit.jupiter.api.AfterEach;
5+
import org.junit.jupiter.api.Assertions;
6+
import org.junit.jupiter.api.BeforeAll;
7+
import org.junit.jupiter.api.BeforeEach;
8+
import org.junit.jupiter.api.Test;
9+
10+
/**
11+
*
12+
* @author: quangrandz
13+
* @since: 2023-6-30
14+
*/
15+
16+
public class MergeIntervalsTestCase {
17+
18+
@BeforeAll
19+
public static void beforeAll() {
20+
System.out.println("BEFORE ALL");
21+
}
22+
23+
@AfterAll
24+
public static void afterAll() {
25+
System.out.println("AFTER ALL");
26+
}
27+
28+
@BeforeEach
29+
public void beforeEach() {
30+
System.out.println("BEFORE EACH");
31+
}
32+
33+
@AfterEach
34+
public void afterEach() {
35+
System.out.println("AFTER EACH");
36+
}
37+
38+
// Test case 1: Non-overlapping intervals
39+
@Test
40+
public void testMerge_NonOverlapping() {
41+
int[][] intervals = {{1, 3}, {4, 6}, {7, 9}};
42+
int[][] expected = {{1, 3}, {4, 6}, {7, 9}};
43+
Assertions.assertArrayEquals(expected, MergeIntervals.merge(intervals));
44+
}
45+
46+
// Test case 2: Overlapping intervals
47+
@Test
48+
public void testMerge_Overlapping() {
49+
int[][] intervals = {{1, 4}, {2, 5}, {6, 8}};
50+
int[][] expected = {{1, 5}, {6, 8}};
51+
Assertions.assertArrayEquals(expected, MergeIntervals.merge(intervals));
52+
}
53+
54+
// Test case 3: Empty input
55+
@Test
56+
public void testMerge_EmptyInput() {
57+
int[][] intervals = {};
58+
int[][] expected = {};
59+
Assertions.assertArrayEquals(expected, MergeIntervals.merge(intervals));
60+
}
61+
62+
// Test case 4: Single interval
63+
@Test
64+
public void testMerge_SingleInterval() {
65+
int[][] intervals = {{2, 6}};
66+
int[][] expected = {{2, 6}};
67+
Assertions.assertArrayEquals(expected, MergeIntervals.merge(intervals));
68+
}
69+
70+
// Test case 5: Overlapping intervals with different orders
71+
@Test
72+
public void testMerge_DifferentOrders() {
73+
int[][] intervals = {{9, 12}, {1, 4}, {6, 8}, {2, 5}};
74+
int[][] expected = {{1, 5}, {6, 8}, {9, 12}};
75+
Assertions.assertArrayEquals(expected, MergeIntervals.merge(intervals));
76+
}
77+
78+
// Test case 6: There are many overlapping time periods
79+
@Test
80+
public void testMerge_ManyOverlapping() {
81+
int[][] intervals = {{1, 4}, {2, 5}, {3, 8}, {6, 9}};
82+
int[][] expected = {{1, 9}};
83+
Assertions.assertArrayEquals(expected, MergeIntervals.merge(intervals));
84+
}
85+
}

0 commit comments

Comments
 (0)