Redesigned model of
Testis now an interface instead of abstract class.
Casecannot be subclassed. It doesn't have
runmethod anymore. Its static factory method returns
Bodyis now top-level class instead of nested in
Testhas no public fields now. They can be accessed by calling