tomtongue commented on code in PR #10039: URL: https://github.com/apache/iceberg/pull/10039#discussion_r1539738138
########## core/src/test/java/org/apache/iceberg/TestMetrics.java: ########## @@ -766,24 +771,38 @@ protected void assertCounts(int fieldId, Long valueCount, Long nullValueCount, M protected void assertCounts( int fieldId, Long valueCount, Long nullValueCount, Long nanValueCount, Metrics metrics) { - Map<Integer, Long> valueCounts = metrics.valueCounts(); - Map<Integer, Long> nullValueCounts = metrics.nullValueCounts(); - Map<Integer, Long> nanValueCounts = metrics.nanValueCounts(); - Assert.assertEquals(valueCount, valueCounts.get(fieldId)); - Assert.assertEquals(nullValueCount, nullValueCounts.get(fieldId)); - Assert.assertEquals(nanValueCount, nanValueCounts.get(fieldId)); + assertThat(metrics.valueCounts()) + .satisfiesAnyOf( Review Comment: If the `valueCounts`, `nullValueCounts` or `nanValueCounts` doesn't have the `fieldId` key, it returns `null`. Then this test checks if `null` is equal to `null`, which means `Assert.assertEquals(null, null);`, so the test was successful. But if `containsEntry` is used here, the new test checks if an empty map (`metrics.valueCounts`) has the map like `{1, null}`. Then the test throws the assertion error. -- 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: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org