Writing Contract Tests in Java differently

It's just an idle thought; I haven't tried it "in anger" yet.

I wouldn't put the implementation-specific tests in the same class as the contract tests; indeed, that might be one of the points -- to separate those from each other.