On Fri, 9 May 2025 07:03:30 GMT, Per Minborg <pminb...@openjdk.org> wrote:
>> There are some new collections (such as StableList) that are not covered in >> Basic. But maybe they should have their separate tests? > > `UnmodifiableSequencedCollection` double-reversed is not an identity > function. But at least, it does not nest, as it returns a new USC with the > underlying collection reversed. Re the testing strategy: perhaps ideally, everything would be covered by MOAT, but its architecture is kind of cobbled together and doesn't support new features very well. The SequencedCollection/Basic tests are decent for SC but there's some uncomfortable overlap with MOAT. So there's some tension here. For a new "kind" of collection like StableX it's unclear whether they should have their own tests or be added to a centralized place. It would be nice if StableX could rely on the tests for "typical" collection semantics. However, I'm not sure of their semantics of Stable collections when certain operations are performed. It looks like certain operations like contains(), indexOf(), and toArray() all eagerly evaluate the mapper function. So if the values have all been established, all the usual assertions for ordinary unmodifiable collections should apply. However, there are probably other operations that don't want to evaluate the element, so you'll want to have separate tests for those. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/25120#discussion_r2082338587