ArchUnit is really neat way of testing Java, using reflection to enforce code style ('architecture') properties. For example, enforcing that all subclasses of Connection have a name ending with 'Connection': https://www.archunit.org/userguide/html/000_Index.html#_inheritance_checks