import static com.almundo.api.flights.cvc.architecture.CustomArchConditions.HAVE_EQUALS_AND_HASH_CODE; import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.classes; import com.tngtech.archunit.core.importer.ImportOption; import com.tngtech.archunit.junit.AnalyzeClasses; import com.tngtech.archunit.junit.ArchTest; import com.tngtech.archunit.lang.ArchRule; @AnalyzeClasses(packages = "com.example.archunit", importOptions = ImportOption.DoNotIncludeTests.class) class ModelRulesTest { @ArchTest static final ArchRule classesShouldOverrideEqualsAndHashCode = classes().that() .resideInAnyPackage("com.example.archunit.model") .and().areNotMemberClasses() .should(HAVE_EQUALS_AND_HASH_CODE) .because("Model classes should override equals and hashCode methods"); }