tisonkun opened a new pull request, #337: URL: https://github.com/apache/datasketches-rust/pull/337
The test suite currently treats specific allocation sizes, centroid layouts, and floating-point rounding choices as stable behavior, and repeats several scenarios across equivalent generic instantiations. This change removes those constraints and consolidates coverage around observable contracts. Production behavior is unchanged. ## Changes - Remove exact `estimated_size()` byte counts, allocator-capacity and buffer-reuse expectations, and fixtures used only to inspect inline policy storage. These APIs provide implementation-dependent estimates. Keep the overfull-deserialization regressions that detect unbounded memory growth. - Consolidate frequencies update and merge tests instead of repeating the same algorithm for integer and string keys. Remove the separate growth module and duplicate growth round trip. Keep a shorter non-Clone collision regression that checks stream weight and frequency bounds without requiring a particular purge median or survivor count. - Remove T-digest output checksums, fixed tie ordering, and byte-level searches for particular merged centroids. Check mixed-input collection through weight, extrema, and median accuracy. Consolidate large-weight rounding cases around ordered queries, bounded quantiles, and nonnegative PMF mass. Retain the documented unchanged result for collecting one nonempty input. - Fold REQ sorted-view rank checks into the existing public query reference test. Remove redundant private sorted-view examples, immutable-read smoke tests, and assertions about power-of-two compaction levels. Retain snapshot ownership and Send + Sync checks. Remove two Count-Min update scenarios already covered by update-and-bounds and halving tests. Cross-language fixtures, malformed-input rejection, overflow handling, distinct serialization codecs, error bounds, and public numerical-stability regressions remain covered. No new test framework or shared fixture layer is introduced. This tests-only change does not require a changelog entry. ## Size 22 files changed: **72 lines added, 1,330 removed; net reduction of 1,258 lines**. There are **57 fewer test functions**. ## Validation - `cargo x prepare-testdata` - `cargo x check` - `cargo x test` - `cargo x lint` All commands pass. A temporary mutation that writes incorrect frequencies rehash probe distances still fails the simplified collision test at the public frequency-bound assertion; the original implementation was restored before the full checks. -- 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]
