stevenzwu commented on code in PR #18394:
URL: https://github.com/apache/iceberg/pull/18394#discussion_r4321840632
##########
api/src/test/java/org/apache/iceberg/geospatial/TestGeospatialBound.java:
##########
@@ -71,6 +73,95 @@ public void testCreateXYZM() {
assertThat(bound.hasM()).isTrue();
}
+ @Test
+ public void testStructLikeXY() {
+ StructLike bound = GeospatialBound.createXY(1.0, 2.0);
+ assertThat(bound.size()).isEqualTo(4);
+ assertThat(bound.get(0, Double.class)).isEqualTo(1.0);
+ assertThat(bound.get(1, Double.class)).isEqualTo(2.0);
+ assertThat(bound.get(2, Double.class)).isNull();
+ assertThat(bound.get(3, Double.class)).isNull();
+ }
+
+ @Test
+ public void testStructLikeXYZ() {
+ StructLike bound = GeospatialBound.createXYZ(1.0, 2.0, 3.0);
+ assertThat(bound.size()).isEqualTo(4);
+ assertThat(bound.get(0, Double.class)).isEqualTo(1.0);
+ assertThat(bound.get(1, Double.class)).isEqualTo(2.0);
+ assertThat(bound.get(2, Double.class)).isEqualTo(3.0);
+ assertThat(bound.get(3, Double.class)).isNull();
+ }
+
+ @Test
+ public void testStructLikeXYM() {
+ StructLike bound = GeospatialBound.createXYM(1.0, 2.0, 4.0);
+ assertThat(bound.size()).isEqualTo(4);
+ assertThat(bound.get(0, Double.class)).isEqualTo(1.0);
+ assertThat(bound.get(1, Double.class)).isEqualTo(2.0);
+ assertThat(bound.get(2, Double.class)).isNull();
+ assertThat(bound.get(3, Double.class)).isEqualTo(4.0);
+ }
+
+ @Test
+ public void testStructLikeXYZM() {
+ StructLike bound = GeospatialBound.createXYZM(3.0, 4.0, 5.0, 6.0);
+ assertThat(bound.size()).isEqualTo(4);
+ assertThat(bound.get(0, Double.class)).isEqualTo(3.0);
+ assertThat(bound.get(1, Double.class)).isEqualTo(4.0);
+ assertThat(bound.get(2, Double.class)).isEqualTo(5.0);
+ assertThat(bound.get(3, Double.class)).isEqualTo(6.0);
+ }
+
+ @Test
+ public void testSet() {
+ GeospatialBound bound = GeospatialBound.createXY(1.0, 2.0);
+ bound.set(0, 9.0);
+ bound.set(1, 8.0);
+ bound.set(2, 7.0);
+ bound.set(3, 6.0);
+ assertThat(bound.get(0, Double.class)).isEqualTo(9.0);
+ assertThat(bound.get(1, Double.class)).isEqualTo(8.0);
+ assertThat(bound.get(2, Double.class)).isEqualTo(7.0);
Review Comment:
although bound is created with `XY`, there is no setter protection for `ZM`
positions.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]