11package com .thealgorithms .datastructures .trees ;
22
33import static org .junit .jupiter .api .Assertions .assertEquals ;
4+
45import org .junit .jupiter .api .Test ;
56
67public class SegmentTree2DTest {
78
89 @ Test
910 void testInitialEmptyQueries () {
1011 SegmentTree2D segmentTree = new SegmentTree2D (4 , 4 );
11-
12+
1213 // Initial tree should return 0 for any query
1314 assertEquals (0 , segmentTree .query (0 , 4 , 0 , 4 ));
1415 assertEquals (0 , segmentTree .query (1 , 3 , 1 , 3 ));
@@ -17,22 +18,22 @@ void testInitialEmptyQueries() {
1718 @ Test
1819 void testUpdateAndPointQuery () {
1920 SegmentTree2D segmentTree = new SegmentTree2D (5 , 5 );
20-
21+
2122 segmentTree .update (2 , 3 , 10 );
2223 segmentTree .update (0 , 0 , 5 );
2324
2425 // Querying single points [row, row+1) x [col, col+1)
2526 assertEquals (10 , segmentTree .query (2 , 3 , 3 , 4 ));
2627 assertEquals (5 , segmentTree .query (0 , 1 , 0 , 1 ));
27-
28+
2829 // Empty point should be 0
2930 assertEquals (0 , segmentTree .query (1 , 2 , 1 , 2 ));
3031 }
3132
3233 @ Test
3334 void testSubmatrixQuery () {
3435 SegmentTree2D segmentTree = new SegmentTree2D (4 , 4 );
35-
36+
3637 // Matrix simulation:
3738 // [1, 2, 0, 0]
3839 // [3, 4, 0, 0]
@@ -56,14 +57,14 @@ void testSubmatrixQuery() {
5657 @ Test
5758 void testUpdateOverwriting () {
5859 SegmentTree2D segmentTree = new SegmentTree2D (3 , 3 );
59-
60+
6061 segmentTree .update (1 , 1 , 5 );
6162 assertEquals (5 , segmentTree .query (1 , 2 , 1 , 2 ));
6263
6364 // Overwrite the same point
6465 segmentTree .update (1 , 1 , 20 );
6566 assertEquals (20 , segmentTree .query (1 , 2 , 1 , 2 ));
66-
67+
6768 // Full matrix sum should just be this point
6869 assertEquals (20 , segmentTree .query (0 , 3 , 0 , 3 ));
6970 }
0 commit comments