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

Java tutorial

Introduction

Here is the source code for jp.terasoluna.fw.validation.FieldChecksTest09.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;
import static uk.org.lidalia.slf4jtest.LoggingEvent.error;

import java.nio.charset.Charset;
import static java.util.Arrays.asList;

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

    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();
    }

    /**
     * testValidateUrl01() <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 testValidateUrl01() throws Exception {
        // 
        // 
        assertTrue(new FieldChecks().validateUrl(null, va, field, errors));

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

    /**
     * testValidateUrl02() <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 testValidateUrl02() throws Exception {
        // 
        // 
        assertTrue(new FieldChecks().validateUrl("", va, field, errors));

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

    /**
     * testValidateUrl03() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:abc://terasoluna.com/index.html#fragment<br>
     * () va:not null<br>
     * () field:var:<br>
     * allowallschemes=true<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * var?allowallschemes?true?????bean????????true????????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateUrl03() throws Exception {
        // ??
        Var var = new Var();
        var.setName("allowallschemes");
        var.setValue("true");
        field.addVar(var);

        // 
        // 
        assertTrue(new FieldChecks().validateUrl("abc://terasoluna.com/index.html#fragment", va, field, errors));

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

    /**
     * testValidateUrl04() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:abc://terasoluna.com/index.html<br>
     * () va:not null<br>
     * () field:var:<br>
     * allowallschemes=null<br>
     * schemes=http,ftp<br>
     * () errors:not null<br>
     * <br>
     * () boolean:false<br>
     * () errors:bean,field,va???addErrors???<br>
     * <br>
     * var?allowallschemes?null??bean????var?schemes???????????false??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateUrl04() throws Exception {
        // ??
        Var var = new Var();
        var.setName("schemes");
        var.setValue("http,ftp");
        field.addVar(var);

        // 
        // 
        assertFalse(new FieldChecks().validateUrl("abc://terasoluna.com/index.html", va, field, errors));

        // addErrors?
        assertEquals(1, errors.addErrorCount);
        assertEquals("abc://terasoluna.com/index.html", errors.beanList.get(0));
        assertSame(va, errors.vaList.get(0));
        assertSame(field, errors.fieldList.get(0));
    }

    /**
     * testValidateUrl05() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:abc://terasoluna.com/index.html<br>
     * () va:not null<br>
     * () field:var:<br>
     * allowallschemes=""<br>
     * schemes=http,ftp<br>
     * () errors:not null<br>
     * <br>
     * () boolean:false<br>
     * () errors:bean,field,va??? addErrors???<br>
     * <br>
     * var?allowallschemes??? bean????var?schemes????????? ??false??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateUrl05() throws Exception {
        // ??
        Var var1 = new Var();
        var1.setName("allowallschemes");
        var1.setValue("");
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("schemes");
        var2.setValue("http,ftp");
        field.addVar(var2);

        // 
        // 
        assertFalse(new FieldChecks().validateUrl("abc://terasoluna.com/index.html", va, field, errors));

        // addErrors?
        assertEquals(1, errors.addErrorCount);
        assertEquals("abc://terasoluna.com/index.html", errors.beanList.get(0));
        assertSame(va, errors.vaList.get(0));
        assertSame(field, errors.fieldList.get(0));
    }

    /**
     * testValidateUrl06() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:abc://terasoluna.com/index.html<br>
     * () va:not null<br>
     * () field:var:<br>
     * allowallschemes="test"<br>
     * schemes=http,ftp<br>
     * () errors:not null<br>
     * <br>
     * () boolean:false<br>
     * () errors:bean,field,va??? addErrors???<br>
     * <br>
     * var?allowallschemes?true??? bean????var?schemes????????? ??false??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateUrl06() throws Exception {
        // ??
        Var var1 = new Var();
        var1.setName("allowallschemes");
        var1.setValue("test");
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("schemes");
        var2.setValue("http,ftp");
        field.addVar(var2);

        // 
        // 
        assertFalse(new FieldChecks().validateUrl("abc://terasoluna.com/index.html", va, field, errors));

        // addErrors?
        assertEquals(1, errors.addErrorCount);
        assertEquals("abc://terasoluna.com/index.html", errors.beanList.get(0));
        assertSame(va, errors.vaList.get(0));
        assertSame(field, errors.fieldList.get(0));
    }

    /**
     * testValidateUrl07() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:abc://terasoluna.com/index.html<br>
     * () va:not null<br>
     * () field:var:<br>
     * allowallschemes="test"<br>
     * schemes=http,ftp,abc<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * var?allowallschemes?true??? bean????var?schemes??????? true??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateUrl07() throws Exception {
        // ??
        Var var1 = new Var();
        var1.setName("allowallschemes");
        var1.setValue("test");
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("schemes");
        var2.setValue("http,ftp,abc");
        field.addVar(var2);

        // 
        // 
        assertTrue(new FieldChecks().validateUrl("abc://terasoluna.com/index.html", va, field, errors));

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

    /**
     * testValidateUrl08() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:abc://terasoluna.com//index.html<br>
     * () va:not null<br>
     * () field:var:<br>
     * allowallschemes="true"<br>
     * allow2slashes="true"<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * var?allow2slashes?true?????bean?url??//???????true????????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateUrl08() throws Exception {
        // ??
        Var var1 = new Var();
        var1.setName("allowallschemes");
        var1.setValue("true");
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("allow2slashes");
        var2.setValue("true");
        field.addVar(var2);

        // 
        // 
        assertTrue(new FieldChecks().validateUrl("abc://terasoluna.com//index.html", va, field, errors));

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

    /**
     * testValidateUrl09() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:abc://terasoluna.com//index.html<br>
     * () va:not null<br>
     * () field:var:<br>
     * allowallschemes="true"<br>
     * allow2slashes=null<br>
     * () errors:not null<br>
     * <br>
     * () boolean:false<br>
     * () errors:bean,field,va??? addErrors???<br>
     * <br>
     * var?allow2slashes?null?? bean?url??//???????? ??false??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateUrl09() throws Exception {
        // ??
        Var var = new Var();
        var.setName("allowallschemes");
        var.setValue("true");
        field.addVar(var);

        // 
        // 
        assertFalse(new FieldChecks().validateUrl("abc://terasoluna.com//index.html", va, field, errors));

        // addErrors?
        assertEquals(1, errors.addErrorCount);
        assertEquals("abc://terasoluna.com//index.html", errors.beanList.get(0));
        assertSame(va, errors.vaList.get(0));
        assertSame(field, errors.fieldList.get(0));
    }

    /**
     * testValidateUrl10() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:abc://terasoluna.com//index.html<br>
     * () va:not null<br>
     * () field:var:<br>
     * allowallschemes="true"<br>
     * allow2slashes=""<br>
     * () errors:not null<br>
     * <br>
     * () boolean:false<br>
     * () errors:bean,field,va??? addErrors???<br>
     * <br>
     * var?allow2slashes??? bean?url??//???????? ??false??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateUrl10() throws Exception {
        // ??
        Var var1 = new Var();
        var1.setName("allowallschemes");
        var1.setValue("true");
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("allow2slashes");
        var2.setValue("");
        field.addVar(var2);

        // 
        // 
        assertFalse(new FieldChecks().validateUrl("abc://terasoluna.com//index.html", va, field, errors));

        // addErrors?
        assertEquals(1, errors.addErrorCount);
        assertEquals("abc://terasoluna.com//index.html", errors.beanList.get(0));
        assertSame(va, errors.vaList.get(0));
        assertSame(field, errors.fieldList.get(0));
    }

    /**
     * testValidateUrl11() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:abc://terasoluna.com//index.html<br>
     * () va:not null<br>
     * () field:var:<br>
     * allowallschemes="true"<br>
     * allow2slashes="test"<br>
     * () errors:not null<br>
     * <br>
     * () boolean:false<br>
     * () errors:bean,field,va??? addErrors???<br>
     * <br>
     * var?allow2slashes?true??? bean?url??//???????? ??false??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateUrl11() throws Exception {
        // ??
        Var var1 = new Var();
        var1.setName("allowallschemes");
        var1.setValue("true");
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("allow2slashes");
        var2.setValue("test");
        field.addVar(var2);

        // 
        // 
        assertFalse(new FieldChecks().validateUrl("abc://terasoluna.com//index.html", va, field, errors));

        // addErrors?
        assertEquals(1, errors.addErrorCount);
        assertEquals("abc://terasoluna.com//index.html", errors.beanList.get(0));
        assertSame(va, errors.vaList.get(0));
        assertSame(field, errors.fieldList.get(0));
    }

    /**
     * testValidateUrl12() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:abc://terasoluna.com/index.html#fragment<br>
     * () va:not null<br>
     * () field:var:<br>
     * allowallschemes="true"<br>
     * nofragments="true"<br>
     * () errors:not null<br>
     * <br>
     * () boolean:false<br>
     * () errors:bean,field,va??? addErrors???<br>
     * <br>
     * var?nofragments?true??bean?url????? ??false??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateUrl12() throws Exception {
        // ??
        Var var1 = new Var();
        var1.setName("allowallschemes");
        var1.setValue("true");
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("nofragments");
        var2.setValue("true");
        field.addVar(var2);

        // 
        // 
        assertFalse(new FieldChecks().validateUrl("abc://terasoluna.com/index.html#fragment", va, field, errors));

        // addErrors?
        assertEquals(1, errors.addErrorCount);
        assertEquals("abc://terasoluna.com/index.html#fragment", errors.beanList.get(0));
        assertSame(va, errors.vaList.get(0));
        assertSame(field, errors.fieldList.get(0));
    }

    /**
     * testValidateUrl13() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:abc://terasoluna.com/index.html#fragment<br>
     * () va:not null<br>
     * () field:var:<br>
     * allowallschemes="true"<br>
     * nofragments=null<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * var?nofragments?null??bean?url?????true??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateUrl13() throws Exception {
        // ??
        Var var = new Var();
        var.setName("allowallschemes");
        var.setValue("true");
        field.addVar(var);

        // 
        // 
        assertTrue(new FieldChecks().validateUrl("abc://terasoluna.com/index.html#fragment", va, field, errors));

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

    /**
     * testValidateUrl14() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:abc://terasoluna.com/index.html#fragment<br>
     * () va:not null<br>
     * () field:var:<br>
     * allowallschemes="true"<br>
     * nofragments=""<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * var?nofragments???bean?url?????true??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateUrl14() throws Exception {
        // ??
        Var var1 = new Var();
        var1.setName("allowallschemes");
        var1.setValue("true");
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("nofragments");
        var2.setValue("");
        field.addVar(var2);

        // 
        // 
        assertTrue(new FieldChecks().validateUrl("abc://terasoluna.com/index.html#fragment", va, field, errors));

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

    /**
     * testValidateUrl15() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:abc://terasoluna.com/index.html#fragment<br>
     * () va:not null<br>
     * () field:var:<br>
     * allowallschemes="true"<br>
     * nofragments="test"<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * var?nofragments?true??? bean?url?????true??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateUrl15() throws Exception {
        // ??
        Var var1 = new Var();
        var1.setName("allowallschemes");
        var1.setValue("true");
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("nofragments");
        var2.setValue("test");
        field.addVar(var2);

        // 
        // 
        assertTrue(new FieldChecks().validateUrl("abc://terasoluna.com/index.html#fragment", va, field, errors));

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

    /**
     * testValidateByteRange01() <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 testValidateByteRange01() throws Exception {
        // 
        // 
        assertTrue(new FieldChecks().validateByteRange(null, va, field, errors));

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

    /**
     * testValidateByteRange02() <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 testValidateByteRange02() throws Exception {
        // 
        // 
        assertTrue(new FieldChecks().validateByteRange("", va, field, errors));

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

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

        // 
        // 
        try {
            new FieldChecks().validateByteRange("test", va, field, errors);
            fail();
        } catch (ValidatorException e) {
            String message = "Mistake on validation definition file. " + "- minByteLength 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));
        }
    }

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

        // 
        // 
        try {
            new FieldChecks().validateByteRange("test", va, field, errors);
            fail();
        } catch (ValidatorException e) {
            String message = "Mistake on validation definition file. " + "- maxByteLength 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));
        }
    }

    /**
     * testValidateByteRange05() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:"test"<br>
     * () va:not null<br>
     * () field:not null<br>
     * minByteLength=null<br>
     * maxByteLength=null<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * var?minByteLength?maxByteLength?null??? ?0Integer.MAX_LENGTH??????????<br>
     * ?????????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateByteRange05() throws Exception {
        // 
        // 
        assertTrue(new FieldChecks().validateByteRange("test", va, field, errors));

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

    /**
     * testValidateByteRange06() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:"test"<br>
     * () va:not null<br>
     * () field:not null<br>
     * minByteLength=""<br>
     * maxByteLength=""<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * var?minByteLength?maxByteLength???? ?0Integer.MAX_LENGTH??????????<br>
     * ?????????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateByteRange06() throws Exception {
        // ??
        Var var1 = new Var();
        var1.setName("minByteLength");
        var1.setValue("");
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("minByteLength");
        var2.setValue("");
        field.addVar(var2);

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

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

    /**
     * testValidateByteRange07() <br>
     * <br>
     * () <br>
     * F,G <br>
     * <br>
     * () bean:"test"<br>
     * () va:not null<br>
     * () field:var:<br>
     * encoding="test"<br>
     * () errors:not null<br>
     * <br>
     * () :ValidatorException<br>
     * "encoding[test] is not supported."<br>
     * () :<br>
     * "encoding[test] is not supported."<br>
     * <br>
     * var?encoding???????? ValidatorException?????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateByteRange07() throws Exception {
        // ??
        Var var = new Var();
        var.setName("encoding");
        var.setValue("test");
        field.addVar(var);

        // 
        // 
        try {
            new FieldChecks().validateByteRange("test", va, field, errors);
            fail();
        } catch (ValidatorException e) {
            String message = "encoding[test] is not supported.";
            assertEquals(message, e.getMessage());
            assertThat(logger.getLoggingEvents(), is(asList(error(message))));
        }
    }

    /**
     * testValidateByteRange08() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:"???"<br>
     * () va:not null<br>
     * () field:var:<br>
     * minByteLength="6"<br>
     * maxByteLength="6"<br>
     * encoding=null<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * var?encoding?null??? ???????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateByteRange08() throws Exception {
        // ??
        String stringLength = new Integer("???".getBytes(Charset.defaultCharset().name()).length).toString();
        Var var1 = new Var();
        var1.setName("minByteLength");
        var1.setValue(stringLength);
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("maxByteLength");
        var2.setValue(stringLength);
        field.addVar(var2);

        // 
        // 
        assertTrue(new FieldChecks().validateByteRange("???", va, field, errors));

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

    /**
     * testValidateByteRange09() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:"???"<br>
     * () va:not null<br>
     * () field:var:<br>
     * minByteLength="6"<br>
     * maxByteLength="6"<br>
     * encoding=""<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * var?encoding???? ???????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateByteRange09() throws Exception {
        // ??
        String stringLength = new Integer("???".getBytes(Charset.defaultCharset().name()).length).toString();
        Var var1 = new Var();
        var1.setName("minByteLength");
        var1.setValue(stringLength);
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("maxByteLength");
        var2.setValue(stringLength);
        field.addVar(var2);

        Var var3 = new Var();
        var3.setName("encoding");
        var3.setValue("");
        field.addVar(var3);

        // 
        // 
        assertTrue(new FieldChecks().validateByteRange("???", va, field, errors));

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

    /**
     * testValidateByteRange10() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:"???"<br>
     * () va:not null<br>
     * () field:var:<br>
     * minByteLength="7"<br>
     * maxByteLength="10"<br>
     * encoding="UTF-8"<br>
     * () errors:not null<br>
     * <br>
     * () boolean:true<br>
     * () errors:????<br>
     * <br>
     * bean????????? true????????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateByteRange10() throws Exception {
        // ??
        Var var1 = new Var();
        var1.setName("minByteLength");
        var1.setValue("7");
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("maxByteLength");
        var2.setValue("10");
        field.addVar(var2);

        Var var3 = new Var();
        var3.setName("encoding");
        var3.setValue("UTF-8");
        field.addVar(var3);

        // 
        // 
        assertTrue(new FieldChecks().validateByteRange("???", va, field, errors));

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

    /**
     * testValidateByteRange11() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:"???"<br>
     * () va:not null<br>
     * () field:var:<br>
     * minByteLength="7"<br>
     * maxByteLength="10"<br>
     * encoding="Windows-31J"<br>
     * () errors:not null<br>
     * <br>
     * () boolean:false<br>
     * () errors:bean,field,va??? addErrors???<br>
     * <br>
     * bean?var?encoding????? minByteLength?????? ??false??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateByteRange11() throws Exception {
        // ??
        Var var1 = new Var();
        var1.setName("minByteLength");
        var1.setValue("7");
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("maxByteLength");
        var2.setValue("10");
        field.addVar(var2);

        Var var3 = new Var();
        var3.setName("encoding");
        var3.setValue("Windows-31J");
        field.addVar(var3);

        // 
        // 
        assertFalse(new FieldChecks().validateByteRange("???", va, field, errors));

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

    /**
     * testValidateByteRange12() <br>
     * <br>
     * () <br>
     * F <br>
     * <br>
     * () bean:"???"<br>
     * () va:not null<br>
     * () field:var:<br>
     * minByteLength="5"<br>
     * maxByteLength="8"<br>
     * encoding="UTF-8"<br>
     * () errors:not null<br>
     * <br>
     * () boolean:false<br>
     * () errors:bean,field,va??? addErrors???<br>
     * <br>
     * bean?var?encoding????? maxByteLength?????? ??false??????? <br>
     * @throws Exception ?????
     */
    @Test
    public void testValidateByteRange12() throws Exception {
        // ??
        Var var1 = new Var();
        var1.setName("minByteLength");
        var1.setValue("5");
        field.addVar(var1);

        Var var2 = new Var();
        var2.setName("maxByteLength");
        var2.setValue("8");
        field.addVar(var2);

        Var var3 = new Var();
        var3.setName("encoding");
        var3.setValue("UTF-8");
        field.addVar(var3);

        // 
        // 
        assertFalse(new FieldChecks().validateByteRange("???", va, field, errors));

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

}