jp.terasoluna.fw.validation.springmodules.DefaultValidatorFactoryExTest.java Source code

Java tutorial

Introduction

Here is the source code for jp.terasoluna.fw.validation.springmodules.DefaultValidatorFactoryExTest.java

Source

/*
 * Copyright (c) 2007 NTT DATA Corporation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package jp.terasoluna.fw.validation.springmodules;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.validator.Validator;
import org.apache.commons.validator.ValidatorResources;
import org.junit.Test;

import org.springframework.test.util.ReflectionTestUtils;
import org.springframework.validation.Errors;

/**
 * {@link jp.terasoluna.fw.validation.springmodules.DefaultValidatorFactoryEx} ?
 * <p>
 * <h4>???</h4> FieldChecks????? Spring?Errors????
 * <p>
 * @see jp.terasoluna.fw.validation.springmodules.DefaultValidatorFactoryEx
 */
public class DefaultValidatorFactoryExTest {

    /**
     * testGetValidator01() <br>
     * <br>
     * () <br>
     * C, D <br>
     * <br>
     * () beanName:null<br>
     * () bean:null<br>
     * () errors:null<br>
     * <br>
     * () Validator:Validator<br>
     * validator.getParameterValue("jp.terasoluna.fw.validation.ValidationErrors")=<br>
     * SpringValidatorErrors.getErrors()null<br>
     * validator.getParameterValue("java.lang.Object")=null<br>
     * validator.getFormName()=null<br>
     * <br>
     * ?null?? <br>
     * @throws Exception ?????
     */
    @Test
    public void testGetValidator01() throws Exception {
        // ??
        // beanName : null
        String beanName = null;

        // bean : null
        Object bean = null;

        // errors : null
        Errors errors = null;

        DefaultValidatorFactoryEx factory = new DefaultValidatorFactoryEx();

        // DefaultValidatorFactory?validatorResources?
        ValidatorResources resources = new ValidatorResources();
        ReflectionTestUtils.setField(factory, "validatorResources", resources);

        Validator validator = null;

        // 
        validator = factory.getValidator(beanName, bean, errors);

        // 
        // errors : null
        SpringValidationErrors resultErorrs = (SpringValidationErrors) validator
                .getParameterValue("jp.terasoluna.fw.validation.ValidationErrors");
        assertNull(resultErorrs.getErrors());

        // bean : null
        assertNull(validator.getParameterValue("java.lang.Object"));

        // beanName : null
        assertNull(validator.getFormName());
    }

    /**
     * testGetValidator02() <br>
     * <br>
     * () <br>
     * C, D <br>
     * <br>
     * () beanName:""<br>
     * () bean:String("bean")<br>
     * () errors:?Errors<br>
     * <br>
     * () Validator:Validator<br>
     * validator.getParameterValue ("jp.terasoluna.fw.validation.ValidationErrors")=<br>
     * SpringValidatorErrors.getErrors()?Errors<br>
     * validator.getParameterValue("java.lang.Object")=String("bean")<br>
     * validator.getFormName()=""<br>
     * <br>
     * beanName????bean?not null???errors??Errors?? <br>
     * @throws Exception ?????
     */
    @Test
    public void testGetValidator02() throws Exception {
        // ??
        // beanName : ""
        String beanName = "";

        // bean : String("bean")
        Object bean = "bean";

        // errors : ?Errors
        Errors errors = new ErrorsImpl01();

        DefaultValidatorFactoryEx factory = new DefaultValidatorFactoryEx();

        // DefaultValidatorFactory?validatorResources?
        ValidatorResources resources = new ValidatorResources();
        ReflectionTestUtils.setField(factory, "validatorResources", resources);

        Validator validator = null;

        // 
        validator = factory.getValidator(beanName, bean, errors);

        // 
        // errors : ??
        SpringValidationErrors resultErorrs = (SpringValidationErrors) validator
                .getParameterValue("jp.terasoluna.fw.validation.ValidationErrors");
        assertSame(errors, resultErorrs.getErrors());

        // bean : new String("bean")
        assertSame(bean, validator.getParameterValue("java.lang.Object"));

        // beanName : ""
        assertEquals(beanName, validator.getFormName());
    }

    /**
     * testGetValidator03() <br>
     * <br>
     * () <br>
     * C, D <br>
     * <br>
     * () beanName:"beanName"<br>
     * () bean:String("bean")<br>
     * () errors:?1?Errors<br>
     * {Object[0]=new Object}<br>
     * <br>
     * () Validator:Validator<br>
     * validator.getParameterValue ("jp.terasoluna.fw.validation.ValidationErrors")=<br>
     * SpringValidatorErrors.getErrors()<br>
     * ?1?Errors{Object[0]=new Object}<br>
     * validator.getParameterValue("java.lang.Object")=String("bean")<br>
     * validator.getFormName()="beanName"<br>
     * <br>
     * beanName????bean?not null???errors??1?Errors?? <br>
     * @throws Exception ?????
     */
    @Test
    public void testGetValidator03() throws Exception {
        // ??
        // beanName : "beanName"
        String beanName = "beanName";

        // bean : String("bean")
        Object bean = "bean";

        // errors : ?1?Errors
        Errors errors = new ErrorsImpl01();
        List<Object> list = new ArrayList<Object>();
        list.add(0, new Object());
        ReflectionTestUtils.setField(errors, "errors", list);

        DefaultValidatorFactoryEx factory = new DefaultValidatorFactoryEx();

        // DefaultValidatorFactory?validatorResources?
        ValidatorResources resources = new ValidatorResources();
        ReflectionTestUtils.setField(factory, "validatorResources", resources);

        Validator validator = null;

        // 
        validator = factory.getValidator(beanName, bean, errors);

        // 
        // errors : ??
        SpringValidationErrors resultErorrs = (SpringValidationErrors) validator
                .getParameterValue("jp.terasoluna.fw.validation.ValidationErrors");
        assertSame(errors, resultErorrs.getErrors());

        // bean : new String("bean")
        assertSame(bean, validator.getParameterValue("java.lang.Object"));

        // beanName : "beanName"
        assertEquals(beanName, validator.getFormName());
    }

    /**
     * testGetValidator04() <br>
     * <br>
     * () <br>
     * C, D <br>
     * <br>
     * () beanName:"beanName"<br>
     * () bean:String("bean")<br>
     * () errors:?3?Errors<br>
     * {Object[0]=new Object,<br>
     * Object[1]=new Object,<br>
     * Object[2]=new Object}<br>
     * <br>
     * () Validator:Validator<br>
     * validator.getParameterValue ("jp.terasoluna.fw.validation.ValidationErrors")=<br>
     * SpringValidatorErrors.getErrors()?1?Errors<br>
     * {Object[0]=new Object,Object[1]=new Object,Object[2]=new Object}<br>
     * validator.getParameterValue("java.lang.Object")=String("bean")<br>
     * validator.getFormName()="beanName"<br>
     * <br>
     * beanName????bean?not null???errors??3?Errors?? <br>
     * @throws Exception ?????
     */
    @Test
    public void testGetValidator04() throws Exception {
        // ??
        // beanName : "beanName"
        String beanName = "beanName";

        // bean : String("bean")
        Object bean = "bean";

        // errors : ?3?Errors
        Errors errors = new ErrorsImpl01();
        List<Object> list = new ArrayList<Object>();
        list.add(0, new Object());
        list.add(1, new Object());
        list.add(2, new Object());

        ReflectionTestUtils.setField(errors, "errors", list);

        DefaultValidatorFactoryEx factory = new DefaultValidatorFactoryEx();

        // DefaultValidatorFactory?validatorResources?
        ValidatorResources resources = new ValidatorResources();
        ReflectionTestUtils.setField(factory, "validatorResources", resources);

        Validator validator = null;

        // 
        validator = factory.getValidator(beanName, bean, errors);

        // 
        // errors : ??
        SpringValidationErrors resultErorrs = (SpringValidationErrors) validator
                .getParameterValue("jp.terasoluna.fw.validation.ValidationErrors");
        assertSame(errors, resultErorrs.getErrors());

        // bean : new String("bean")
        assertSame(bean, validator.getParameterValue("java.lang.Object"));

        // beanName : "beanName"
        assertEquals(beanName, validator.getFormName());
    }
}