package org.hibernate.validator.referenceguide.chapter06.classlevel;
import java.util.Arrays;
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class ClassLevelConstraintTest {
private static Validator validator;
@BeforeClass
public static void setUpValidator() {
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
validator = factory.getValidator();
}
@Test
public void testClassLevelConstraint() {
Car car = new Car(
2,
Arrays.asList(
new Person( "Alice" ),
new Person( "Bob" ),
new Person( "Bill" )
)
);
Set<ConstraintViolation<Car>> constraintViolations = validator.validate( car );
assertEquals( 1, constraintViolations.size() );
assertEquals(
"There must be not more passengers than seats.",
constraintViolations.iterator().next().getMessage()
);
}
}