/*
* Hibernate Validator, declare and validate application constraints
*
* License: Apache License, Version 2.0
* See the license.txt file in the root directory or <http://www.apache.org/licenses/LICENSE-2.0>.
*/
package org.hibernate.validator.test.internal.util.annotationfactory;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import org.testng.annotations.Test;
import org.hibernate.validator.internal.util.annotationfactory.AnnotationDescriptor;
import org.hibernate.validator.internal.util.annotationfactory.AnnotationFactory;
import static org.testng.Assert.assertEquals;
/**
* @author Hardy Ferentschik
*/
public class AnnotationFactoryTest {
@Test
public void createAnnotationProxy() {
AnnotationDescriptor<Size> descriptor = new AnnotationDescriptor<Size>( Size.class );
descriptor.setValue( "min", 5 );
descriptor.setValue( "max", 10 );
Size size = AnnotationFactory.create( descriptor );
assertEquals( size.min(), 5, "Wrong parameter value" );
assertEquals( size.max(), 10, "Wrong parameter value" );
}
@Test(expectedExceptions = IllegalArgumentException.class)
public void createAnnotationProxyMissingRequiredParameter() {
AnnotationDescriptor<Pattern> descriptor = new AnnotationDescriptor<Pattern>( Pattern.class );
AnnotationFactory.create( descriptor );
}
@Test
public void createAnnotationProxyWithRequiredParameter() {
AnnotationDescriptor<Pattern> descriptor = new AnnotationDescriptor<Pattern>( Pattern.class );
descriptor.setValue( "regexp", ".*" );
Pattern pattern = AnnotationFactory.create( descriptor );
assertEquals( ".*", pattern.regexp(), "Wrong parameter value" );
}
}