From 3a3d5a0b7cd6e4ec4a876062c4db7cdfe6382c3c Mon Sep 17 00:00:00 2001 From: Liam Newman Date: Thu, 23 Oct 2025 15:19:53 -0700 Subject: [PATCH] Improve ArchUnit class name test --- src/test/java/org/kohsuke/github/ArchTests.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/test/java/org/kohsuke/github/ArchTests.java b/src/test/java/org/kohsuke/github/ArchTests.java index 6c70dcdf82..fceae8c316 100644 --- a/src/test/java/org/kohsuke/github/ArchTests.java +++ b/src/test/java/org/kohsuke/github/ArchTests.java @@ -37,6 +37,7 @@ import static com.tngtech.archunit.core.domain.JavaCall.Predicates.target; import static com.tngtech.archunit.core.domain.JavaClass.Predicates.assignableTo; import static com.tngtech.archunit.core.domain.JavaClass.Predicates.resideInAPackage; +import static com.tngtech.archunit.core.domain.JavaClass.Predicates.simpleNameContaining; import static com.tngtech.archunit.core.domain.JavaClass.Predicates.type; import static com.tngtech.archunit.core.domain.JavaMember.Predicates.declaredIn; import static com.tngtech.archunit.core.domain.JavaModifier.STATIC; @@ -90,8 +91,6 @@ public boolean test(T input) { } } - private static final JavaClasses apacheCommons = new ClassFileImporter().importPackages("org.apache.commons.lang3"); - private static final JavaClasses classFiles = new ClassFileImporter() .withImportOption(new ImportOption.DoNotIncludeTests()) .importPackages("org.kohsuke.github"); @@ -197,8 +196,6 @@ public static DescribedPredicate unless(DescribedPredicate fir return new UnlessPredicate(first, second); } - private DescribedPredicate and; - /** * Default constructor. */ @@ -227,12 +224,12 @@ public void testRequireFollowingNamingConvention() { var notStaticFinalFields = DescribedPredicate.not(modifier(STATIC).and(modifier(STATIC))); var notEnumOrStaticFinalFields = DescribedPredicate.and(not(enumConstants()), notStaticFinalFields); - final ArchRule instanceFieldsShouldNotBePublic = fields().that(notEnumOrStaticFinalFields) - .should(notHaveModifier(JavaModifier.PUBLIC)) + final ArchRule instanceFieldsShouldNotBePublic = noFields().that(notEnumOrStaticFinalFields) + .should(haveModifier(JavaModifier.PUBLIC)) .because("This project does not allow public instance fields."); final ArchRule instanceFieldsShouldFollowConvention = noFields().that(notEnumOrStaticFinalFields) - .should(haveNamesContainingUnless("_")) + .should(have(nameContaining("_"))) .because("This project follows standard java naming conventions for fields."); @SuppressWarnings("AccessStaticViaInstance") @@ -253,7 +250,7 @@ public void testRequireFollowingNamingConvention() { declaredIn(GHRelease.class).and(name("getPublished_at")))) .because(reason); - final ArchRule classesNotFollowingConvention = noClasses().should(haveNamesContainingUnless("_")) + final ArchRule classesNotFollowingConvention = noClasses().should(have(simpleNameContaining("_"))) .because(reason); enumsShouldFollowConvention.check(classFiles);