/** * Resolve validation context for provided target class. * @see #addClassChecks(Class) */ public static ValidationContext resolveFor(final Class<?> target) { ValidationContext vc = new ValidationContext(); vc.addClassChecks(target); return vc; }
@Test void testAddClassChecksWithCache() throws Exception { ValidationContext context = spy(new ValidationContext()); try { context.addClassChecks(ClassForCheck1.class); context.addClassChecks(ClassForCheck1.class); } finally { context.clearCache(); } //collectProperty must be invoked only for first call of addClassChecks. Two calls for two annotations verify(context, times(2)).collectPropertyAnnotationChecks(any(List.class), any(PropertyDescriptor.class)); }
@Test void testAddClassThrowVtorException() throws Exception { ValidationContext context = new ValidationContext() { @Override protected <V extends ValidationConstraint> V newConstraint(Class<V> constraint, Class targetType) throws Exception { throw new RuntimeException("terrible error"); } }; assertThrows(VtorException.class, () -> context.addClassChecks(ClassForCheck1.class)); }
/** * Resolve validation context for provided target class. * @see #addClassChecks(Class) */ public static ValidationContext resolveFor(Class<?> target) { ValidationContext vc = new ValidationContext(); vc.addClassChecks(target); return vc; }