Package org.hibernate.validator.test.validators

Source Code of org.hibernate.validator.test.validators.DigitsTest

//$Id: DigitsTest.java 15133 2008-08-20 10:05:57Z hardy.ferentschik $
package org.hibernate.validator.test.validators;

import java.math.BigDecimal;

import org.hibernate.cfg.Configuration;
import org.hibernate.event.PreInsertEventListener;
import org.hibernate.event.PreUpdateEventListener;
import org.hibernate.mapping.Column;
import org.hibernate.mapping.PersistentClass;
import org.hibernate.validator.ClassValidator;
import org.hibernate.validator.InvalidValue;
import org.hibernate.validator.test.HANTestCase;
import org.hibernate.validator.event.ValidateEventListener;

/**
* @author Emmanuel Bernard
*/
public class DigitsTest extends HANTestCase {

  public void testDigits() throws Exception {
    Car car = new Car();
    car.name = "350Z";
    car.insurances = new String[] { "random" };
    car.length = new BigDecimal(10.2);
    car.gallons = 100.3;
    car.mpg = "EFG";
    ClassValidator<Car> classValidator = new ClassValidator<Car>( Car.class );
    InvalidValue[] invalidValues = classValidator.getInvalidValues( car );
    assertEquals( 3, invalidValues.length );
    car.length = new BigDecimal(1.223); //more than 2
    car.gallons = 10.300; //1 digit really so not invalid
    invalidValues = classValidator.getInvalidValues( car );
    assertEquals( 2, invalidValues.length );
  }

  public void testApply() throws Exception {
    PersistentClass classMapping = getCfg().getClassMapping( Car.class.getName() );
    Column stateColumn = (Column) classMapping.getProperty( "gallons" ).getColumnIterator().next();
    assertEquals( stateColumn.getPrecision(), 3 );
    assertEquals( stateColumn.getScale(), 1 );
  }

  protected void configure(Configuration cfg) {
    cfg.getEventListeners()
        .setPreInsertEventListeners( new PreInsertEventListener[]{new ValidateEventListener()} );
    cfg.getEventListeners()
        .setPreUpdateEventListeners( new PreUpdateEventListener[]{new ValidateEventListener()} );
  }

  protected Class[] getMappings() {
    return new Class[] {
        Car.class
    };
  }
}
TOP

Related Classes of org.hibernate.validator.test.validators.DigitsTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.