jp.terasoluna.fw.validation.FieldChecksTest05.java Source code

Java tutorial

Introduction

Here is the source code for jp.terasoluna.fw.validation.FieldChecksTest05.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;

import static org.hamcrest.core.Is.is;
import static org.hamcrest.core.IsEqual.equalTo;
import static org.hamcrest.core.IsInstanceOf.instanceOf;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;

import org.apache.commons.validator.Field;
import org.apache.commons.validator.ValidatorAction;
import org.apache.commons.validator.ValidatorException;
import org.apache.commons.validator.Var;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import uk.org.lidalia.slf4jtest.TestLogger;
import uk.org.lidalia.slf4jtest.TestLoggerFactory;

/**
 * {@link jp.terasoluna.fw.validation.FieldChecks} ?
 * <p>
 * <h4>???</h4> TERASOLUNA?????
 * <p>
 * @see jp.terasoluna.fw.validation.FieldChecks
 */
public class FieldChecksTest05 {

    private TestLogger logger = TestLoggerFactory.getTestLogger(FieldChecks.class);

    /**
     * 
     */
    private ValidatorAction va = null;

    /**
     * 
     */
    private Field field = null;

    /**
     * 
     */
    private FieldChecks_ValidationErrorsImpl01 errors = null;

    /**
     * ???
     */
    @Before
    public void setUp() {
        va = new ValidatorAction();
        field = new Field();
        errors = new FieldChecks_ValidationErrorsImpl01();
    }

    /**
     * ??
     */
    @After
    public void tearDown() {
        logger.clear();
    }

    /**
     * testValidateFloatRange01() <br>
     * <br>
     * () <br>
     * C,F <br>
     * <br>
     * () bean:null<br>
     * () va:not null<br>
     * () field:not null<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * ?bean?null???true??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateFloatRange01() throws Exception {
        // 
        // 
        assertTrue(new FieldChecks().validateFloatRange(null, va, field, errors));

        // addErrors?
        assertEquals(0, errors.addErrorCount);
    }

    /**
     * testValidateFloatRange02() <br>
     * <br>
     * () <br>
     * C,F <br>
     * <br>
     * () bean:""<br>
     * () va:not null<br>
     * () field:not null<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * ?bean????true??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateFloatRange02() throws Exception {
        // 
        // 
        assertTrue(new FieldChecks().validateFloatRange("", va, field, errors));

        // addErrors?
        assertEquals(0, errors.addErrorCount);
    }

    /**
     * testValidateFloatRange03() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:"test"<br>
     * () va:not null<br>
     * () field:not null<br>
     * () errors:not null<br>
     * <br>
     * () boolean:false<br>
     * () errors:bean,field,va???addErrors???<br>
     * <br>
     * ?bean?float???????????false??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateFloatRange03() throws Exception {
        // 
        // 
        assertFalse(new FieldChecks().validateFloatRange("test", va, field, errors));

        // addErrors?
        assertEquals(1, errors.addErrorCount);
        assertEquals("test", errors.beanList.get(0));
        assertSame(va, errors.vaList.get(0));
        assertSame(field, errors.fieldList.get(0));
    }

    /**
     * testValidateFloatRange04() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:"1.4E-45"<br>
     * () va:not null<br>
     * () field:var:<br>
     * floatRangeMin=null<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * var?floatRangeMin?null??????Float.MIN_VALUE?????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateFloatRange04() throws Exception {
        // 
        // 
        assertTrue(new FieldChecks().validateFloatRange("1.4E-45", va, field, errors));

        // addErrors?
        assertEquals(0, errors.addErrorCount);
    }

    /**
     * testValidateFloatRange05() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:"1.4E-45"<br>
     * () va:not null<br>
     * () field:var:<br>
     * floatRangeMin=""<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * var?floatRangeMin???????Float.MIN_VALUE?????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateFloatRange05() throws Exception {
        // ??
        Var var = new Var();
        var.setName("floatRangeMin");
        var.setValue("");
        field.addVar(var);

        // 
        // 
        assertTrue(new FieldChecks().validateFloatRange("1.4E-45", va, field, errors));

        // addErrors?
        assertEquals(0, errors.addErrorCount);
    }

    /**
     * testValidateFloatRange06() <br>
     * <br>
     * () or () <br>
     * F <br>
     * <br>
     * () bean:"3.4028235E38"<br>
     * () va:not null<br>
     * () field:var:<br>
     * floatRangeMax=null<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * var?floatRangeMax?null?????Float.MAX_VALUE?????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateFloatRange06() throws Exception {
        // 
        // 
        assertTrue(new FieldChecks().validateFloatRange("3.4028235E38", va, field, errors));

        // addErrors?
        assertEquals(0, errors.addErrorCount);
    }

    /**
     * testValidateFloatRange07() <br>
     * <br>
     * () or () <br>
     * F <br>
     * <br>
     * () bean:"3.4028235E38"<br>
     * () va:not null<br>
     * () field:var:<br>
     * floatRangeMax=""<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * var?floatRangeMax??????Float.MAX_VALUE?????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateFloatRange07() throws Exception {
        // ??
        Var var = new Var();
        var.setName("floatRangeMax");
        var.setValue("");
        field.addVar(var);

        // 
        // 
        assertTrue(new FieldChecks().validateFloatRange("3.4028235E38", va, field, errors));

        // addErrors?
        assertEquals(0, errors.addErrorCount);
    }

    /**
     * testValidateFloatRange08() <br>
     * <br>
     * () or () <br>
     * F <br>
     * <br>
     * () bean:"0.5E1"<br>
     * () va:not null<br>
     * () field:var:<br>
     * floatRangeMin="test"<br>
     * () errors:not null<br>
     * <br>
     * () :ValidatorException<br>
     * "Mistake on validation definition file. - floatRangeMin is not number. You'll have to check it over. "<br>
     * () :<br>
     * "Mistake on validation definition file. - floatRangeMin is not number. You'll have to check it over. ", new
     * NumberFormatException()<br>
     * <br>
     * var?floatRangeMin??float?????????ValidatorException?????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateFloatRange08() throws Exception {
        // ??
        Var var = new Var();
        var.setName("floatRangeMin");
        var.setValue("test");
        field.addVar(var);

        // 
        // 
        try {
            new FieldChecks().validateFloatRange("0.5E1", va, field, errors);
            fail();
        } catch (ValidatorException e) {
            String message = "Mistake on validation definition file. "
                    + "- floatRangeMin is not number. You'll have to check " + "it over. ";
            assertEquals(message, e.getMessage());
            assertThat(logger.getLoggingEvents().get(0).getMessage(), is(equalTo(message)));
            assertThat(logger.getLoggingEvents().get(0).getThrowable().get(),
                    instanceOf(NumberFormatException.class));
        }
    }

    /**
     * testValidateFloatRange09() <br>
     * <br>
     * () or () <br>
     * F <br>
     * <br>
     * () bean:"0.5E1"<br>
     * () va:not null<br>
     * () field:var:<br>
     * floatRangeMax="test"<br>
     * () errors:not null<br>
     * <br>
     * () :ValidatorException<br>
     * "Mistake on validation definition file. - floatRangeMax is not number. You'll have to check it over. "<br>
     * () :<br>
     * "Mistake on validation definition file. - floatRangeMax is not number. You'll have to check it over. ", new
     * NumberFormatException()<br>
     * <br>
     * var?floatRangeMax??float?????????ValidatorException?????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateFloatRange09() throws Exception {
        // ??
        Var var = new Var();
        var.setName("floatRangeMax");
        var.setValue("test");
        field.addVar(var);

        // 
        // 
        try {
            new FieldChecks().validateFloatRange("0.5E1", va, field, errors);
            fail();
        } catch (ValidatorException e) {
            String message = "Mistake on validation definition file. "
                    + "- floatRangeMax is not number. You'll have to check " + "it over. ";
            assertEquals(message, e.getMessage());
            assertThat(logger.getLoggingEvents().get(0).getMessage(), is(equalTo(message)));
            assertThat(logger.getLoggingEvents().get(0).getThrowable().get(),
                    instanceOf(NumberFormatException.class));
        }
    }

    /**
     * testValidateFloatRange10() <br>
     * <br>
     * () or () <br>
     * F <br>
     * <br>
     * () bean:"0.5E1"<br>
     * () va:not null<br>
     * () field:var:<br>
     * floatRangeMin="0.1E1"<br>
     * floatRangeMax="0.1E2"<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * bean???floatRangeMin?floatRangeMax?????true??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateFloatRange10() throws Exception {
        // ??
        Var var1 = new Var();
        var1.setName("floatRangeMin");
        var1.setValue("0.1E1");
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("floatRangeMax");
        var2.setValue("0.1E2");
        field.addVar(var2);

        // 
        // 
        assertTrue(new FieldChecks().validateFloatRange("0.5E1", va, field, errors));

        // addErrors?
        assertEquals(0, errors.addErrorCount);

    }

    /**
     * testValidateFloatRange11() <br>
     * <br>
     * () or () <br>
     * F <br>
     * <br>
     * () bean:"0.5E1"<br>
     * () va:not null<br>
     * () field:var:<br>
     * floatRangeMin="0.1E2"<br>
     * floatRangeMax="0.1E3"<br>
     * () errors:not null<br>
     * <br>
     * () boolean:false<br>
     * () errors:bean,field,va???addErrors???<br>
     * <br>
     * bean???floatRangeMin????????false??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateFloatRange11() throws Exception {
        // ??
        Var var1 = new Var();
        var1.setName("floatRangeMin");
        var1.setValue("0.1E2");
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("floatRangeMax");
        var2.setValue("0.1E3");
        field.addVar(var2);

        // 
        // 
        assertFalse(new FieldChecks().validateFloatRange("0.5E1", va, field, errors));

        // addErrors?
        assertEquals(1, errors.addErrorCount);
        assertEquals("0.5E1", errors.beanList.get(0));
        assertSame(va, errors.vaList.get(0));
        assertSame(field, errors.fieldList.get(0));
    }

    /**
     * testValidateFloatRange12() <br>
     * <br>
     * () or () <br>
     * F <br>
     * <br>
     * () bean:"0.5E1"<br>
     * () va:not null<br>
     * () field:var:<br>
     * floatRangeMin="0.1E1"<br>
     * floatRangeMax="0.4E1"<br>
     * () errors:not null<br>
     * <br>
     * () boolean:false<br>
     * () errors:bean,field,va???addErrors???<br>
     * <br>
     * bean???floatRangeMax????????false??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateFloatRange12() throws Exception {
        // ??
        Var var1 = new Var();
        var1.setName("floatRangeMin");
        var1.setValue("0.1E1");
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("floatRangeMax");
        var2.setValue("0.4E1");
        field.addVar(var2);

        // 
        // 
        assertFalse(new FieldChecks().validateFloatRange("0.5E1", va, field, errors));

        // addErrors?
        assertEquals(1, errors.addErrorCount);
        assertEquals("0.5E1", errors.beanList.get(0));
        assertSame(va, errors.vaList.get(0));
        assertSame(field, errors.fieldList.get(0));
    }

    /**
     * testValidateFloatRange13() <br>
     * <br>
     * () or () <br>
     * F <br>
     * <br>
     * () bean:"0.5E1"<br>
     * () va:not null<br>
     * () field:var:<br>
     * floatRangeMin="0.5E1"<br>
     * floatRangeMax="0.5E1"<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * bean???floatRangeMax,floatRangeMin??????true??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateFloatRange13() throws Exception {
        // ??
        Var var1 = new Var();
        var1.setName("floatRangeMin");
        var1.setValue("0.5E1");
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("floatRangeMax");
        var2.setValue("0.5E1");
        field.addVar(var2);

        // 
        // 
        assertTrue(new FieldChecks().validateFloatRange("0.5E1", va, field, errors));

        // addErrors?
        assertEquals(0, errors.addErrorCount);
    }

    /**
     * testValidateMaxLength01() <br>
     * <br>
     * () <br>
     * C,F <br>
     * <br>
     * () bean:null<br>
     * () va:not null<br>
     * () field:not null<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * ?bean?null???true??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateMaxLength01() throws Exception {
        // 
        // 
        assertTrue(new FieldChecks().validateMaxLength(null, va, field, errors));

        // addErrors?
        assertEquals(0, errors.addErrorCount);
    }

    /**
     * testValidateMaxLength02() <br>
     * <br>
     * () <br>
     * C,F <br>
     * <br>
     * () bean:""<br>
     * () va:not null<br>
     * () field:not null<br>
     * () errors:not null<br>
     * <br>
     * () return: true<br>
     * <br>
     * var?maxlength?null???ValidatorException?????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateMaxLength02() throws Exception {
        // 
        // 
        assertTrue(new FieldChecks().validateMaxLength("", va, field, errors));

        // addErrors?
        assertEquals(0, errors.addErrorCount);
    }

    /**
     * testValidateMaxLength03() <br>
     * <br>
     * () <br>
     * F,G <br>
     * <br>
     * () bean:"test"<br>
     * () va:not null<br>
     * () field:var:<br>
     * maxlength=null<br>
     * () errors:not null<br>
     * <br>
     * () :ValidatorException<br>
     * "Mistake on validation definition file. - maxlength is not number. You'll have to check it over. "<br>
     * () :<br>
     * "Mistake on validation definition file. - maxlength is not number. You'll have to check it over. ", new
     * NumberFormatException()<br>
     * <br>
     * var?maxlength?null???ValidatorException?????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateMaxLength03() throws Exception {
        // 
        // 
        try {
            new FieldChecks().validateMaxLength("test", va, field, errors);
            fail();
        } catch (ValidatorException e) {
            String message = "Mistake on validation definition file. "
                    + "- maxlength is not number. You'll have to check it over. ";
            assertEquals(message, e.getMessage());
            assertThat(logger.getLoggingEvents().get(0).getMessage(), is(equalTo(message)));
            assertThat(logger.getLoggingEvents().get(0).getThrowable().get(),
                    instanceOf(NumberFormatException.class));
        }
    }

    /**
     * testValidateMaxLength04() <br>
     * <br>
     * () <br>
     * F,G <br>
     * <br>
     * () bean:"test"<br>
     * () va:not null<br>
     * () field:var:<br>
     * maxlength=""<br>
     * () errors:not null<br>
     * <br>
     * () :ValidatorException<br>
     * "Mistake on validation definition file. - maxlength is not number. You'll have to check it over. "<br>
     * () :<br>
     * "Mistake on validation definition file. - maxlength is not number. You'll have to check it over. ", new
     * NumberFormatException()<br>
     * <br>
     * var?maxlength????ValidatorException?????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateMaxLength04() throws Exception {
        // ??
        Var var = new Var();
        var.setName("maxlength");
        var.setValue("");
        field.addVar(var);

        // 
        // 
        try {
            new FieldChecks().validateMaxLength("test", va, field, errors);
            fail();
        } catch (ValidatorException e) {
            String message = "Mistake on validation definition file. "
                    + "- maxlength is not number. You'll have to check it over. ";
            assertEquals(message, e.getMessage());
            assertThat(logger.getLoggingEvents().get(0).getMessage(), is(equalTo(message)));
            assertThat(logger.getLoggingEvents().get(0).getThrowable().get(),
                    instanceOf(NumberFormatException.class));
        }
    }

    /**
     * testValidateMaxLength05() <br>
     * <br>
     * () <br>
     * F,G <br>
     * <br>
     * () bean:"test"<br>
     * () va:not null<br>
     * () field:var:<br>
     * maxlength="abc"<br>
     * () errors:not null<br>
     * <br>
     * () :ValidatorException<br>
     * "Mistake on validation definition file. - maxlength is not number. You'll have to check it over. "<br>
     * () :<br>
     * "Mistake on validation definition file. - maxlength is not number. You'll have to check it over. ", new
     * NumberFormatException()<br>
     * <br>
     * var?maxlength??????????ValidatorException?????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateMaxLength05() throws Exception {
        // ??
        Var var = new Var();
        var.setName("maxlength");
        var.setValue("abc");
        field.addVar(var);

        // 
        // 
        try {
            new FieldChecks().validateMaxLength("test", va, field, errors);
            fail();
        } catch (ValidatorException e) {
            String message = "Mistake on validation definition file. "
                    + "- maxlength is not number. You'll have to check it over. ";
            assertEquals(message, e.getMessage());
            assertThat(logger.getLoggingEvents().get(0).getMessage(), is(equalTo(message)));
            assertThat(logger.getLoggingEvents().get(0).getThrowable().get(),
                    instanceOf(NumberFormatException.class));
        }
    }

    /**
     * testValidateMaxLength06() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:"test"<br>
     * () va:not null<br>
     * () field:var:<br>
     * maxlength="5"<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * ??????var?maxlength??????true????????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateMaxLength06() throws Exception {
        // ??
        Var var = new Var();
        var.setName("maxlength");
        var.setValue("5");
        field.addVar(var);

        // 
        // 
        assertTrue(new FieldChecks().validateMaxLength("test", va, field, errors));

        // addErrors?
        assertEquals(0, errors.addErrorCount);

    }

    /**
     * testValidateMaxLength07() <br>
     * <br>
     * () or () <br>
     * F <br>
     * <br>
     * () bean:"test"<br>
     * () va:not null<br>
     * () field:var:<br>
     * maxlength="3"<br>
     * () errors:not null<br>
     * <br>
     * () boolean:false<br>
     * () errors:bean,field,va???addErrors???<br>
     * <br>
     * ??????var?maxlength????????false??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateMaxLength07() throws Exception {
        // ??
        Var var = new Var();
        var.setName("maxlength");
        var.setValue("3");
        field.addVar(var);

        // 
        // 
        assertFalse(new FieldChecks().validateMaxLength("test", va, field, errors));

        // addErrors?
        assertEquals(1, errors.addErrorCount);
        assertEquals("test", errors.beanList.get(0));
        assertSame(va, errors.vaList.get(0));
        assertSame(field, errors.fieldList.get(0));

    }

    /**
     * testValidateMaxLength08() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:"test"<br>
     * () va:not null<br>
     * () field:var:<br>
     * maxlength="4"<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * ??????var?maxlength??????true??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateMaxLength08() throws Exception {
        // ??
        Var var = new Var();
        var.setName("maxlength");
        var.setValue("4");
        field.addVar(var);

        // 
        // 
        assertTrue(new FieldChecks().validateMaxLength("test", va, field, errors));

        // addErrors?
        assertEquals(0, errors.addErrorCount);

    }

    /**
     * testValidateMinLength01() <br>
     * <br>
     * () <br>
     * C,F <br>
     * <br>
     * () bean:null<br>
     * () va:not null<br>
     * () field:not null<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * ?bean?null???true??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateMinLength01() throws Exception {
        // 
        // 
        assertTrue(new FieldChecks().validateMinLength(null, va, field, errors));

        // addErrors?
        assertEquals(0, errors.addErrorCount);
    }

    /**
     * testValidateMinLength02() <br>
     * <br>
     * () <br>
     * C,F <br>
     * <br>
     * () bean:""<br>
     * () va:not null<br>
     * () field:not null<br>
     * () errors:not null<br>
     * <br>
     * () return : true<br>
     * <br>
     * var?minlength?null???ValidatorException?????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateMinLength02() throws Exception {
        // 
        // 
        assertTrue(new FieldChecks().validateMinLength("", va, field, errors));

        // addErrors?
        assertEquals(0, errors.addErrorCount);
    }

    /**
     * testValidateMinLength03() <br>
     * <br>
     * () <br>
     * F,G <br>
     * <br>
     * () bean:"test"<br>
     * () va:not null<br>
     * () field:var:<br>
     * minlength=null<br>
     * () errors:not null<br>
     * <br>
     * () :ValidatorException<br>
     * "Mistake on validation definition file. - minlength is not number. You'll have to check it over. "<br>
     * () :<br>
     * "Mistake on validation definition file. - minlength is not number. You'll have to check it over. ", new
     * NumberFormatException()<br>
     * <br>
     * var?minlength?null???ValidatorException?????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateMinLength03() throws Exception {
        // 
        // 
        try {
            new FieldChecks().validateMinLength("test", va, field, errors);
            fail();
        } catch (ValidatorException e) {
            String message = "Mistake on validation definition file. "
                    + "- minlength is not number. You'll have to check it over. ";
            assertEquals(message, e.getMessage());
            assertThat(logger.getLoggingEvents().get(0).getMessage(), is(equalTo(message)));
            assertThat(logger.getLoggingEvents().get(0).getThrowable().get(),
                    instanceOf(NumberFormatException.class));
        }
    }

    /**
     * testValidateMinLength04() <br>
     * <br>
     * () <br>
     * F,G <br>
     * <br>
     * () bean:"test"<br>
     * () va:not null<br>
     * () field:var:<br>
     * minlength=""<br>
     * () errors:not null<br>
     * <br>
     * () :ValidatorException<br>
     * "Mistake on validation definition file. - minlength is not number. You'll have to check it over. "<br>
     * () :<br>
     * "Mistake on validation definition file. - minlength is not number. You'll have to check it over. ", new
     * NumberFormatException()<br>
     * <br>
     * var?minlength????ValidatorException?????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateMinLength04() throws Exception {
        // ??
        Var var = new Var();
        var.setName("minlength");
        var.setValue("");
        field.addVar(var);

        // 
        // 
        try {
            new FieldChecks().validateMinLength("test", va, field, errors);
            fail();
        } catch (ValidatorException e) {
            String message = "Mistake on validation definition file. "
                    + "- minlength is not number. You'll have to check it over. ";
            assertEquals(message, e.getMessage());
            assertThat(logger.getLoggingEvents().get(0).getMessage(), is(equalTo(message)));
            assertThat(logger.getLoggingEvents().get(0).getThrowable().get(),
                    instanceOf(NumberFormatException.class));
        }
    }

    /**
     * testValidateMinLength05() <br>
     * <br>
     * () <br>
     * F,G <br>
     * <br>
     * () bean:"test"<br>
     * () va:not null<br>
     * () field:var:<br>
     * minlength="abc"<br>
     * () errors:not null<br>
     * <br>
     * () :ValidatorException<br>
     * "Mistake on validation definition file. - minlength is not number. You'll have to check it over. "<br>
     * () :<br>
     * "Mistake on validation definition file. - minlength is not number. You'll have to check it over. ", new
     * NumberFormatException()<br>
     * <br>
     * var?minlength??????????ValidatorException?????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateMinLength05() throws Exception {
        // ??
        Var var = new Var();
        var.setName("minlength");
        var.setValue("abc");
        field.addVar(var);

        // 
        // 
        try {
            new FieldChecks().validateMinLength("test", va, field, errors);
            fail();
        } catch (ValidatorException e) {
            String message = "Mistake on validation definition file. "
                    + "- minlength is not number. You'll have to check it over. ";
            assertEquals(message, e.getMessage());
            assertThat(logger.getLoggingEvents().get(0).getMessage(), is(equalTo(message)));
            assertThat(logger.getLoggingEvents().get(0).getThrowable().get(),
                    instanceOf(NumberFormatException.class));
        }
    }

    /**
     * testValidateMinLength06() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:"test"<br>
     * () va:not null<br>
     * () field:var:<br>
     * minlength="3"<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * ??????var?minlength?????? true????????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateMinLength06() throws Exception {
        // ??
        Var var = new Var();
        var.setName("minlength");
        var.setValue("3");
        field.addVar(var);

        // 
        // 
        assertTrue(new FieldChecks().validateMinLength("test", va, field, errors));

        // addErrors?
        assertEquals(0, errors.addErrorCount);

    }

    /**
     * testValidateMinLength07() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:"test"<br>
     * () va:not null<br>
     * () field:var:<br>
     * minlength="5"<br>
     * () errors:not null<br>
     * <br>
     * () boolean:false<br>
     * () errors:bean,field,va??? addErrors???<br>
     * <br>
     * ??????var?minlength?????? ??false??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateMinLength07() throws Exception {
        // ??
        Var var = new Var();
        var.setName("minlength");
        var.setValue("5");
        field.addVar(var);

        // 
        // 
        assertFalse(new FieldChecks().validateMinLength("test", va, field, errors));

        // addErrors?
        assertEquals(1, errors.addErrorCount);
        assertEquals("test", errors.beanList.get(0));
        assertSame(va, errors.vaList.get(0));
        assertSame(field, errors.fieldList.get(0));

    }

    /**
     * testValidateMinLength08() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:"test"<br>
     * () va:not null<br>
     * () field:var:<br>
     * minlength="4"<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * ??????var?minlength?????? true??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateMinLength08() throws Exception {
        // ??
        Var var = new Var();
        var.setName("minlength");
        var.setValue("4");
        field.addVar(var);

        // 
        // 
        assertTrue(new FieldChecks().validateMinLength("test", va, field, errors));

        // addErrors?
        assertEquals(0, errors.addErrorCount);

    }

}