From c4412530bb07e9441536e132a3575b46aa37326c Mon Sep 17 00:00:00 2001 From: ThanhNIT Date: Sun, 16 Nov 2025 10:36:16 +0700 Subject: [PATCH] Added tests for tasks 84-2425 --- .../SolutionTest.java | 40 ++++++++++++++++ .../MedianFinderTest.java | 46 +++++++++++++++++++ .../s0858_mirror_reflection/SolutionTest.java | 35 ++++++++++++++ .../SolutionTest.java | 43 +++++++++++++++++ .../SolutionTest.java | 30 ++++++++++++ 5 files changed, 194 insertions(+) diff --git a/src/test/java/g0001_0100/s0084_largest_rectangle_in_histogram/SolutionTest.java b/src/test/java/g0001_0100/s0084_largest_rectangle_in_histogram/SolutionTest.java index e3d2dcdba..a46c855d7 100644 --- a/src/test/java/g0001_0100/s0084_largest_rectangle_in_histogram/SolutionTest.java +++ b/src/test/java/g0001_0100/s0084_largest_rectangle_in_histogram/SolutionTest.java @@ -15,4 +15,44 @@ void largestRectangleArea() { void largestRectangleArea2() { assertThat(new Solution().largestRectangleArea(new int[] {2, 4}), equalTo(4)); } + + @Test + void largestRectangleArea3() { + assertThat(new Solution().largestRectangleArea(new int[] {}), equalTo(0)); + } + + @Test + void largestRectangleArea4() { + assertThat(new Solution().largestRectangleArea(new int[] {5}), equalTo(5)); + } + + @Test + void largestRectangleArea5() { + assertThat(new Solution().largestRectangleArea(new int[] {3, 6}), equalTo(6)); + } + + @Test + void largestRectangleArea6() { + assertThat(new Solution().largestRectangleArea(new int[] {2, 2, 2, 2}), equalTo(8)); + } + + @Test + void largestRectangleArea7() { + assertThat(new Solution().largestRectangleArea(new int[] {1, 2, 3, 4, 5}), equalTo(9)); + } + + @Test + void largestRectangleArea8() { + assertThat(new Solution().largestRectangleArea(new int[] {5, 4, 3, 2, 1}), equalTo(9)); + } + + @Test + void largestRectangleArea9() { + assertThat(new Solution().largestRectangleArea(new int[] {2, 1, 5, 6, 2, 3}), equalTo(10)); + } + + @Test + void largestRectangleArea10() { + assertThat(new Solution().largestRectangleArea(new int[] {1, 1, 1, 1}), equalTo(4)); + } } diff --git a/src/test/java/g0201_0300/s0295_find_median_from_data_stream/MedianFinderTest.java b/src/test/java/g0201_0300/s0295_find_median_from_data_stream/MedianFinderTest.java index 79e80cbd5..fb516e14f 100644 --- a/src/test/java/g0201_0300/s0295_find_median_from_data_stream/MedianFinderTest.java +++ b/src/test/java/g0201_0300/s0295_find_median_from_data_stream/MedianFinderTest.java @@ -29,4 +29,50 @@ void medianFinder2() { medianFinder.addNum(-1); assertThat(medianFinder.findMedian(), equalTo(1.0)); } + + @Test + void medianFinder3() { + MedianFinder medianFinder = new MedianFinder(); + medianFinder.addNum(42); + assertThat(medianFinder.findMedian(), equalTo(42.0)); + } + + @Test + void medianFinder4() { + MedianFinder medianFinder = new MedianFinder(); + medianFinder.addNum(5); + medianFinder.addNum(5); + medianFinder.addNum(5); + medianFinder.addNum(5); + assertThat(medianFinder.findMedian(), equalTo(5.0)); + } + + @Test + void medianFinder5() { + MedianFinder medianFinder = new MedianFinder(); + medianFinder.addNum(-5); + medianFinder.addNum(-10); + medianFinder.addNum(-3); + assertThat(medianFinder.findMedian(), equalTo(-5.0)); + } + + @Test + void medianFinder6() { + MedianFinder medianFinder = new MedianFinder(); + medianFinder.addNum(1000); + medianFinder.addNum(1); + medianFinder.addNum(500); + medianFinder.addNum(0); + assertThat(medianFinder.findMedian(), equalTo(250.5)); + } + + @Test + void medianFinder7() { + MedianFinder medianFinder = new MedianFinder(); + medianFinder.addNum(1); + medianFinder.addNum(2); + medianFinder.addNum(3); + medianFinder.addNum(4); + assertThat(medianFinder.findMedian(), equalTo(2.5)); + } } diff --git a/src/test/java/g0801_0900/s0858_mirror_reflection/SolutionTest.java b/src/test/java/g0801_0900/s0858_mirror_reflection/SolutionTest.java index b5c945380..937b3ea00 100644 --- a/src/test/java/g0801_0900/s0858_mirror_reflection/SolutionTest.java +++ b/src/test/java/g0801_0900/s0858_mirror_reflection/SolutionTest.java @@ -15,4 +15,39 @@ void mirrorReflection() { void mirrorReflection2() { assertThat(new Solution().mirrorReflection(3, 1), equalTo(1)); } + + @Test + void mirrorReflection3() { + assertThat(new Solution().mirrorReflection(4, 2), equalTo(2)); + } + + @Test + void mirrorReflection4() { + assertThat(new Solution().mirrorReflection(6, 3), equalTo(2)); + } + + @Test + void mirrorReflection5() { + assertThat(new Solution().mirrorReflection(5, 2), equalTo(0)); + } + + @Test + void mirrorReflection6() { + assertThat(new Solution().mirrorReflection(7, 3), equalTo(1)); + } + + @Test + void mirrorReflection7() { + assertThat(new Solution().mirrorReflection(1000, 250), equalTo(2)); + } + + @Test + void mirrorReflection8() { + assertThat(new Solution().mirrorReflection(4, 4), equalTo(1)); + } + + @Test + void mirrorReflection9() { + assertThat(new Solution().mirrorReflection(1, 1), equalTo(1)); + } } diff --git a/src/test/java/g1901_2000/s1901_find_a_peak_element_ii/SolutionTest.java b/src/test/java/g1901_2000/s1901_find_a_peak_element_ii/SolutionTest.java index 4124764a1..f9c4c2c96 100644 --- a/src/test/java/g1901_2000/s1901_find_a_peak_element_ii/SolutionTest.java +++ b/src/test/java/g1901_2000/s1901_find_a_peak_element_ii/SolutionTest.java @@ -2,6 +2,7 @@ import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.MatcherAssert.assertThat; +import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; @@ -19,4 +20,46 @@ void findPeakGrid2() { new Solution().findPeakGrid(new int[][] {{10, 20, 15}, {21, 30, 14}, {7, 16, 32}}), equalTo(new int[] {1, 1})); } + + @Test + void findPeakGrid3() { + assertThat( + new Solution().findPeakGrid(new int[][] {{1, 3, 2, 4}}), equalTo(new int[] {0, 1})); + } + + @Test + void findPeakGrid4() { + assertThat( + new Solution().findPeakGrid(new int[][] {{1}, {3}, {2}, {4}}), + equalTo(new int[] {3, 0})); + } + + @Test + void findPeakGrid5() { + assertThat( + new Solution().findPeakGrid(new int[][] {{2, 2}, {2, 2}}), + equalTo(new int[] {0, 1})); + } + + @Test + void findPeakGrid6() { + int[][] mat = { + {1, 2, 3, 6}, + {5, 6, 7, 8}, + {4, 3, 2, 1} + }; + int[] peak = new Solution().findPeakGrid(mat); + assertTrue(peak[0] >= 0 && peak[1] >= 0); + int val = mat[peak[0]][peak[1]]; + int up = peak[0] > 0 ? mat[peak[0] - 1][peak[1]] : -1; + int down = peak[0] < mat.length - 1 ? mat[peak[0] + 1][peak[1]] : -1; + int left = peak[1] > 0 ? mat[peak[0]][peak[1] - 1] : -1; + int right = peak[1] < mat[0].length - 1 ? mat[peak[0]][peak[1] + 1] : -1; + assertTrue(val > up && val > down && val > left && val > right); + } + + @Test + void findPeakGrid7() { + assertThat(new Solution().findPeakGrid(new int[][] {{5}}), equalTo(new int[] {0, 0})); + } } diff --git a/src/test/java/g2401_2500/s2425_bitwise_xor_of_all_pairings/SolutionTest.java b/src/test/java/g2401_2500/s2425_bitwise_xor_of_all_pairings/SolutionTest.java index f9a293fd9..5da08baec 100644 --- a/src/test/java/g2401_2500/s2425_bitwise_xor_of_all_pairings/SolutionTest.java +++ b/src/test/java/g2401_2500/s2425_bitwise_xor_of_all_pairings/SolutionTest.java @@ -17,4 +17,34 @@ void xorAllNums() { void xorAllNums2() { assertThat(new Solution().xorAllNums(new int[] {1, 2}, new int[] {3, 4}), equalTo(0)); } + + @Test + void xorAllNums3() { + assertThat(new Solution().xorAllNums(new int[] {7}, new int[] {1, 2, 3}), equalTo(7)); + } + + @Test + void xorAllNums4() { + assertThat(new Solution().xorAllNums(new int[] {1, 2, 3}, new int[] {5}), equalTo(5)); + } + + @Test + void xorAllNums5() { + assertThat(new Solution().xorAllNums(new int[] {8}, new int[] {6}), equalTo(14)); + } + + @Test + void xorAllNums6() { + assertThat(new Solution().xorAllNums(new int[] {}, new int[] {1, 2, 3}), equalTo(0)); + } + + @Test + void xorAllNums7() { + assertThat(new Solution().xorAllNums(new int[] {4, 5, 6}, new int[] {}), equalTo(0)); + } + + @Test + void xorAllNums8() { + assertThat(new Solution().xorAllNums(new int[] {}, new int[] {}), equalTo(0)); + } }