Search in sources :

Example 1 with B

use of com.tngtech.archunit.lang.syntax.elements.GivenMembersTest.B in project ArchUnit by TNG.

the class MembersShouldTest method complex_members_syntax.

@Test
public void complex_members_syntax() {
    EvaluationResult result = members().that(areNoFieldsWithType(List.class)).and().haveNameMatching(".*field.*").should().beAnnotatedWith(B.class).andShould().notBePublic().orShould().bePrivate().evaluate(importClasses(ClassWithVariousMembers.class));
    assertViolation(result);
    String failure = getOnlyElement(result.getFailureReport().getDetails());
    assertThat(failure).matches(String.format(".*Field .*%s.* does not have modifier PRIVATE.*", FIELD_D)).contains("and Field").matches(String.format(".*Field .*%s.* is not annotated with @B.*", FIELD_D));
}
Also used : B(com.tngtech.archunit.lang.syntax.elements.GivenMembersTest.B) FIELD_B(com.tngtech.archunit.lang.syntax.elements.GivenMembersTest.FIELD_B) METHOD_B(com.tngtech.archunit.lang.syntax.elements.GivenMembersTest.METHOD_B) ClassWithVariousMembers(com.tngtech.archunit.lang.syntax.elements.GivenMembersTest.ClassWithVariousMembers) EvaluationResult(com.tngtech.archunit.lang.EvaluationResult) Test(org.junit.Test)

Aggregations

EvaluationResult (com.tngtech.archunit.lang.EvaluationResult)1 B (com.tngtech.archunit.lang.syntax.elements.GivenMembersTest.B)1 ClassWithVariousMembers (com.tngtech.archunit.lang.syntax.elements.GivenMembersTest.ClassWithVariousMembers)1 FIELD_B (com.tngtech.archunit.lang.syntax.elements.GivenMembersTest.FIELD_B)1 METHOD_B (com.tngtech.archunit.lang.syntax.elements.GivenMembersTest.METHOD_B)1 Test (org.junit.Test)1