I’m not sure why we don’t have (as far as I’m aware) an AbstractArrayTests
package that contains a full test suite you can run against an instantiated custom type that wants to be an abstract array. It could have flags for sub-interfaces, like “read-only array”.
Similarly for any other large interface.
I’ve written such test suites for interfaces I’ve defined in my own framework. They’re quite a bit of work to get right, but once you have them, I find them extremely useful.