1111import java .util .function .BiConsumer ;
1212import java .util .function .Consumer ;
1313
14- import static org .assertj .core .api .Assertions .assertThat ;
15-
16- @ RequiredArgsConstructor
17- public abstract class BaseValidationAssert <R extends BaseRuleBuilder <?>> implements AutoCloseable {
14+ @ RequiredArgsConstructor (access = AccessLevel .PROTECTED )
15+ public abstract class BaseValidationAssert <R extends BaseRuleBuilder <?>> {
1816 @ Getter (AccessLevel .PROTECTED )
1917 private final R ruleBuilder ;
2018
@@ -23,41 +21,32 @@ public abstract class BaseValidationAssert<R extends BaseRuleBuilder<?>> impleme
2321 private Object parameterUnderTest ;
2422
2523 @ Setter (AccessLevel .PRIVATE )
26- private Consumer <Object > functionToCallWithParameter = null ;
27-
28- protected boolean hasBeenCalled = false ;
24+ private Consumer <?> functionToCallWithParameter = null ;
2925
3026 public static void registerNonBeanType (Class <?> type ) {
3127 NON_BEAN_TYPES .add (type );
3228 }
3329
34- public <P > CallBuilder <R , P > that (@ NonNull P parameterUnderTest ) {
30+ public <P > CallBuilder <R , P > of (@ NonNull P parameterUnderTest ) {
3531 this .parameterUnderTest = parameterUnderTest ;
3632 ruleBuilder .setTriggerValidation (this ::assertValidation );
37- return new CallBuilder <>(this , parameterUnderTest );
38- }
39-
40- @ Override
41- public void close () throws RuntimeException {
42- assertThat (hasBeenCalled )
43- .withFailMessage ("Validation was never invoked by calling 'isCompliant()'." )
44- .isTrue ();
33+ return new CallBuilder <>(this );
4534 }
4635
4736 @ RequiredArgsConstructor (access = AccessLevel .PRIVATE )
4837 public static final class CallBuilder <R extends BaseRuleBuilder <?>, P > {
4938 private final BaseValidationAssert <R > parent ;
50- private final P parameterUnderTest ;
5139
5240 public R calling (@ NonNull Consumer <P > functionToCallWithParameter ) {
53- parent .setFunctionToCallWithParameter (( Consumer < Object >) functionToCallWithParameter );
41+ parent .setFunctionToCallWithParameter (functionToCallWithParameter );
5442 return parent .ruleBuilder ;
5543 }
5644
5745 public R usingBeanValidation () {
5846 return parent .ruleBuilder ;
5947 }
6048
49+ @ SuppressWarnings ("unchecked" )
6150 public <ID > R calling (
6251 @ NonNull BiConsumer <ID , P > functionToCallWithParameter ,
6352 @ NonNull ID id
@@ -70,7 +59,6 @@ public <ID> R calling(
7059 }
7160
7261 private void assertValidation () {
73- hasBeenCalled = true ;
7462 new RuleValidator <>().assertValidation (
7563 new RuleValidator .AssertionParameter <>(
7664 parameterUnderTest ,
0 commit comments