package org.hibernate.validator.referenceguide.chapter02.typeargument.optional; import static org.junit.Assert.assertEquals; import java.util.Set; import javax.validation.ConstraintViolation; import javax.validation.Validation; import javax.validation.Validator; import javax.validation.ValidatorFactory; import org.hibernate.validator.HibernateValidator; import org.junit.BeforeClass; import org.junit.Test; public class CarTest { private static Validator validator; @BeforeClass public static void setUpValidator() { ValidatorFactory factory = Validation.byProvider( HibernateValidator.class ) .configure() .buildValidatorFactory(); validator = factory.getValidator(); } @Test public void validateOptionalTypeArgumentConstraint() { //tag::validateOptionalTypeArgumentConstraint[] Car car = new Car(); car.setTowingCapacity( 100 ); Set<ConstraintViolation<Car>> constraintViolations = validator.validate( car ); assertEquals( 1, constraintViolations.size() ); assertEquals( "Not enough towing capacity.", constraintViolations.iterator().next().getMessage() ); assertEquals( "towingCapacity", constraintViolations.iterator().next().getPropertyPath().toString() ); //end::validateOptionalTypeArgumentConstraint[] } }