Skip to content

Commit c233567

Browse files
committed
test: add generic search tests for null and empty matrices, jagged arrays, and null comparator
1 parent 4c17ca7 commit c233567

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

src/test/java/com/thealgorithms/matrix/SearchSortedMatrixTest.java

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,55 @@ void genericSearchFindsExistingTarget() {
5454
assertFalse(SearchSortedMatrix.search(matrix, 20, Comparator.naturalOrder()));
5555
}
5656

57+
@Test
58+
void genericNullMatrixReturnsFalse() {
59+
assertFalse(SearchSortedMatrix.search((Integer[][]) null, 42, Comparator.naturalOrder()));
60+
}
61+
62+
@Test
63+
void genericEmptyMatrixReturnsFalse() {
64+
assertFalse(SearchSortedMatrix.search(new Integer[0][], 42, Comparator.naturalOrder()));
65+
}
66+
67+
@Test
68+
void genericEmptyFirstRowReturnsFalse() {
69+
assertFalse(SearchSortedMatrix.search(new Integer[][] {{}}, 42, Comparator.naturalOrder()));
70+
}
71+
72+
@Test
73+
void genericNullFirstRowReturnsFalse() {
74+
assertFalse(SearchSortedMatrix.search(new Integer[][] {null}, 42, Comparator.naturalOrder()));
75+
}
76+
77+
@Test
78+
void genericRejectsJaggedMatrix() {
79+
final Integer[][] jagged = {
80+
{1, 2, 3},
81+
{4, 5},
82+
};
83+
84+
assertThrows(IllegalArgumentException.class, () -> SearchSortedMatrix.search(jagged, 5, Comparator.naturalOrder()));
85+
}
86+
87+
@Test
88+
void genericRejectsNullRow() {
89+
final Integer[][] hasNullRow = {
90+
{1, 2, 3},
91+
null,
92+
};
93+
94+
assertThrows(IllegalArgumentException.class, () -> SearchSortedMatrix.search(hasNullRow, 2, Comparator.naturalOrder()));
95+
}
96+
97+
@Test
98+
void genericNullComparatorThrows() {
99+
final Integer[][] matrix = {
100+
{1, 2, 3},
101+
};
102+
103+
assertThrows(NullPointerException.class, () -> SearchSortedMatrix.search(matrix, 2, null));
104+
}
105+
57106
@Test
58107
void returnsFalseWhenTargetDoesNotExist() {
59108
final int[][] matrix = {

0 commit comments

Comments
 (0)