jp.terasoluna.fw.web.struts.form.FieldChecksExTest01.java Source code

Java tutorial

Introduction

Here is the source code for jp.terasoluna.fw.web.struts.form.FieldChecksExTest01.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.web.struts.form;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import jp.terasoluna.utlib.LogUTUtil;
import jp.terasoluna.utlib.MockHttpServletRequest;
import jp.terasoluna.utlib.PropertyTestCase;

import org.apache.commons.validator.Arg;
import org.apache.commons.validator.Field;
import org.apache.commons.validator.Msg;
import org.apache.commons.validator.Validator;
import org.apache.commons.validator.ValidatorAction;
import org.apache.commons.validator.ValidatorResources;
import org.apache.commons.validator.Var;
import org.apache.struts.Globals;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;

/**
 * {@link jp.terasoluna.fw.web.struts.form.FieldChecksEx} NXubN{bNXeXg?B
 *
 * <p>
 * <h4>?yNXTv?z</h4>
 * Validator?[NX?B
 * <p>
 *
 * @see jp.terasoluna.fw.web.struts.form.FieldChecksEx
 */
public class FieldChecksExTest01 extends PropertyTestCase {

    /**
     * eXgP?[X?s
     * GUI AvP?[VN?B
     *
     * @param args java R}h?p??[^
     */
    public static void main(String[] args) {
        junit.swingui.TestRunner.run(FieldChecksExTest01.class);
    }

    /**
     * ????s?B
     *
     * @throws Exception ?\bh?O
     * @see jp.terasoluna.utlib.spring.PropertyTestCase#setUpData()
     */
    @Override
    protected void setUpData() throws Exception {
        LogUTUtil.flush();
        deleteProperty("validation.hankaku.kana.list");
        deleteProperty("validation.zenkaku.kana.list");
    }

    /**
     * ?I???s?B
     *
     * @throws Exception ?\bh?O
     * @see jp.terasoluna.utlib.spring.PropertyTestCase#cleanUpData()
     */
    @Override
    protected void cleanUpData() throws Exception {
    }

    /**
     * RXgN^?B
     *
     * @param name eXgP?[XO?B
     */
    public FieldChecksExTest01(String name) {
        super(name);
    }

    /**
     * testIsHankakuKana01()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) c:
     *                  <br>
     *                ?mF<br>
     *         (?) hankakuKanaList:
     *                                <br>
     *         (?) v?peBt@C:validation.hankaku.kana.list<br>
     *                ??B<br>
     *
     * <br>
     * l?F(l) boolean:Strue<br>
     *
     * <br>
     * ?whankakuKanaList???A
     * truemF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testIsHankakuKana01() throws Exception {
        // l?
        String hankakuKanaList = "";

        // isHankakuKana?s
        for (int i = 0; i < hankakuKanaList.length(); i++) {
            assertTrue(FieldChecksEx.isHankakuKana(hankakuKanaList.charAt(i)));
        }
    }

    /**
     * testIsHankakuKana02()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) c:''-1<br>
     *                ''+1<br>
     *                ?mF<br>
     *         (?) hankakuKanaList:
     *                                <br>
     *         (?) v?peBt@C:validation.hankaku.kana.list<br>
     *                ??B<br>
     *
     * <br>
     * l?F(l) boolean:Sfalse<br>
     *
     * <br>
     * ?whankakuKanaList???A
     * falsemF?B?ipJiEeXg?j
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testIsHankakuKana02() throws Exception {
        // l?
        char chStart = '' - 1;
        char chEnd = '' + 1;

        // isHankakuKana?s
        assertFalse(FieldChecksEx.isHankakuKana(chStart));
        assertFalse(FieldChecksEx.isHankakuKana(chEnd));
    }

/**
 * testIsHankakuKana03()
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) c:'S'<br>
 *         (?) hankakuKanaList:
 *                                <br>
 *         (?) v?peBt@C:validation.hankaku.kana.list<br>
 *                ??B<br>
 *
 * <br>
 * l?F(l) boolean:false<br>
 *
 * <br>
 * ?whankakuKanaList???A
 * falsemF?B?iSp?j
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testIsHankakuKana03() throws Exception {
    // l?
    char chZenkaku = 'S';

    // isHankakuKana?s
    assertFalse(FieldChecksEx.isHankakuKana(chZenkaku));
}

/**
 * testIsZenkakuKana01()
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) c:ACEGI@BDFHJLNPRKMOQSTVXZ\
 *                  UWY[]^`ceg_adfhijklmnqtwz
 *                  orux{psvy|}~??
 *                  ??b?[<br>
 *                ?mF<br>
 *         (?) zenkakuKanaList:ACEGI@BDFHJLNPR
 *                                KMOQSTVXZ\UWY[]^`ceg
 *                                _adfhijklmnqtwzorux{
 *                                psvy|}~??
 *                                ??b?[<br>
 *         (?) v?peBt@C:validation.zenkaku.kana.list<br>
 *                ??B<br>
 *
 * <br>
 * l?F(l) boolean:Strue<br>
 *
 * <br>
 * ?wzenkakuKanaList???A
 * truemF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testIsZenkakuKana01() throws Exception {
    // l?
    String zenkakuKanaList = "ACEGI@BDFHJLNPR" +
            "KMOQSTVXZ\UWY[]^`ceg" +
            "_adfhijklmnqtwzorux{" +
            "psvy|}~??" +
            "??b?[";

    // eXg?s
    for (int i = 0; i < zenkakuKanaList.length(); i++) {
        assertTrue(FieldChecksEx.isZenkakuKana(zenkakuKanaList.charAt(i)));
    }
}

/**
 * testIsZenkakuKana02()
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) c:'@' - 1<br>
 *                '?[' + 1<br>
 *                ?mF<br>
 *         (?) zenkakuKanaList:ACEGI@BDFHJLNPR
 *                                KMOQSTVXZ\UWY[]^`ceg
 *                                _adfhijklmnqtwzorux{
 *                                psvy|}~??
 *                                ??b?[<br>
 *         (?) v?peBt@C:validation.zenkaku.kana.list<br>
 *                ??B<br>
 *
 * <br>
 * l?F(l) boolean:Sfalse<br>
 *
 * <br>
 * ?wzenkakuKanaList???A
 * falsemF?B?ipJiEeXg?j
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testIsZenkakuKana02() throws Exception {
    // l?
    char chStart = '@' - 1;
    char chEnd = '?[' + 1;

    // eXg?s
    assertFalse(FieldChecksEx.isZenkakuKana(chStart));
    assertFalse(FieldChecksEx.isZenkakuKana(chEnd));
}

/**
 * testIsZenkakuKana03()
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) c:''<br>
 *         (?) zenkakuKanaList:ACEGI@BDFHJLNPR
 *                                KMOQSTVXZ\UWY[]^`ceg
 *                                _adfhijklmnqtwzorux{
 *                                psvy|}~??
 *                                ??b?[<br>
 *         (?) v?peBt@C:validation.zenkaku.kana.list<br>
 *                ??B<br>
 *
 * <br>
 * l?F(l) boolean:false<br>
 *
 * <br>
 * ?wzenkakuKanaList???AfalsemF?B?iSp?j
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testIsZenkakuKana03() throws Exception {
    // l?
    char chHiragana = '';

    // eXg?s
    assertFalse(FieldChecksEx.isZenkakuKana(chHiragana));
}

    /**
     * testIsHankaku01()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) c:'\u00ff'<br>
     *                ''<br>
     *                ''<br>
     *                ?mF<br>
     *         (?) hankakuKanaList:
     *                                <br>
     *         (?) v?peBt@C:validation.hankaku.kana.list<br>
     *                ??B<br>
     *
     * <br>
     * l?F(l) boolean:Strue<br>
     *
     * <br>
     * ?wR?[h'\00ff'?A
     * "?_????N???}?L??~?"?AhankakuKanaList???A
     * truemF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testIsHankaku01() throws Exception {

        // l?
        char chHankakuMax = '\u00ff';
        char chHankakuKanaStart = '';
        char chHankakuKanaEnd = '';

        // isHankaku?s
        // p??Atruep
        assertTrue(FieldChecksEx.isHankaku(chHankakuMax));
        assertTrue(FieldChecksEx.isHankaku(chHankakuKanaStart));
        assertTrue(FieldChecksEx.isHankaku(chHankakuKanaEnd));
    }

    /**
     * testIsHankaku02()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) c:'\u0100'<br>
     *                ''-1<br>
     *                ''+1<br>
     *                ?mF<br>
     *         (?) hankakuKanaList:
     *                                <br>
     *         (?) v?peBt@C:validation.hankaku.kana.list<br>
     *                ??B<br>
     *
     * <br>
     * l?F(l) boolean:Sfalse<br>
     *
     * <br>
     * ?wR?[h'\00ff'??A?A
     * "?_????N???}?L??~?"?A?A
     * hankakuKanaList???AfalsemF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testIsHankaku02() throws Exception {

        // l?
        char chUpperff = '\u0100';

        char chKanaStart = '' - 1;
        char chKanaEnd = '' + 1;

        // isHankaku?s
        assertFalse(FieldChecksEx.isHankaku(chUpperff));
        assertFalse(FieldChecksEx.isHankaku(chKanaStart));
        assertFalse(FieldChecksEx.isHankaku(chKanaEnd));

    }

/**
 * testIsHankaku03()
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) c:'A'<br>
 *                'U'<br>
 *                '?'<br>
 *                '?'<br>
 *                ''<br>
 *                '`'<br>
 *                'y'<br>
 *         (?) hankakuKanaList:
 *                                <br>
 *         (?) v?peBt@C:validation.hankaku.kana.list<br>
 *                ??B<br>
 *
 * <br>
 * l?F(l) boolean:false<br>
 *
 * <br>
 * ?wSp???AfalsemF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testIsHankaku03() throws Exception {

    // l?
    char[] input = {
        'A',
        'U',
        '?',
        '?',
        '',
        '`',
        'y'
    };

    // isHankaku?s
    // Sp??Afalsep
    for (char c : input) {
        assertFalse(FieldChecksEx.isHankaku(c));
    }
}

    /**
     * testIsHankaku04()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) c:"?_????N???}?L??~?"<br>
     *                ?mF<br>
     *         (?) hankakuKanaList:
     *                                <br>
     *         (?) v?peBt@C:validation.hankaku.kana.list<br>
     *                ??B<br>
     *
     * <br>
     * l?F(l) boolean:false<br>
     *
     * <br>
     * ?wR?[h'\00ff'??A?A
     * "?_????N???}?L??~?"?A?A
     * hankakuKanaList???AfalsemF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testIsHankaku04() throws Exception {
        // l?
        String zenkakuBeginU00List = "?_????N???}?L??~?";

        // eXg?s
        for (int i = 0; i < zenkakuBeginU00List.length(); i++) {
            assertFalse(FieldChecksEx.isHankaku(zenkakuBeginU00List.charAt(i)));
        }
    }

    /**
     * testIsZenkaku01()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) c:'\u0100'<br>
     *                ''-1<br>
     *                ''+1<br>
     *                ?mF<br>
     *         (?) hankakuKanaList:
     *                                <br>
     *         (?) v?peBt@C:validation.hankaku.kana.list<br>
     *                ??B<br>
     *
     * <br>
     * l?F(l) boolean:Strue<br>
     *
     * <br>
     * ?wR?[h'\00ff'?A?A
     * "?_????N???}?L??~?"?A
     * hankakuKanaList???AtruemF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testIsZenkaku01() throws Exception {

        // l?
        char chZenkakuMin = '\u0100';
        char chZenkakuKanaStart = '' - 1;
        char chZenkakuKanaEnd = '' + 1;

        // isZenkaku?s
        // Sp??Atruep
        assertTrue(FieldChecksEx.isZenkaku(chZenkakuMin));
        assertTrue(FieldChecksEx.isZenkaku(chZenkakuKanaStart));
        assertTrue(FieldChecksEx.isZenkaku(chZenkakuKanaEnd));
    }

    /**
     * testIsZenkaku02()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) c:'\u00ff'<br>
     *                ''<br>
     *                ''<br>
     *                ?mF<br>
     *         (?) hankakuKanaList:
     *                                <br>
     *         (?) v?peBt@C:validation.hankaku.kana.list<br>
     *                ??B<br>
     *
     * <br>
     * l?F(l) boolean:Sfalse<br>
     *
     * <br>
     * ?wR?[h'\00ff'?A
     * "?_????N???}?L??~?"?A
     * hankakuKanaList???AfalsemF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testIsZenkaku02() throws Exception {

        // l?
        char chZenkakuMin = '\u00ff';
        char chZenkakuKanaStart = '';
        char chZenkakuKanaEnd = '';

        // isZenkaku?s
        // p??Afalsep
        assertFalse(FieldChecksEx.isZenkaku(chZenkakuMin));
        assertFalse(FieldChecksEx.isZenkaku(chZenkakuKanaStart));
        assertFalse(FieldChecksEx.isZenkaku(chZenkakuKanaEnd));

    }

    /**
     * testIsZenkaku03()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) c:''<br>
     *                '6'<br>
     *                '&'<br>
     *                'a'<br>
     *                'z'<br>
     *                'A'<br>
     *                'Z'<br>
     *         (?) hankakuKanaList:
     *                                <br>
     *         (?) v?peBt@C:validation.hankaku.kana.list<br>
     *                ??B<br>
     *
     * <br>
     * l?F(l) boolean:false<br>
     *
     * <br>
     * ?wp???AfalsemF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testIsZenkaku03() throws Exception {

        // l?
        char[] input = { '', '6', '&', 'a', 'z', 'A', 'Z' };

        // isZenkaku?s
        // p??Afalsep
        for (char c : input) {
            assertFalse(FieldChecksEx.isZenkaku(c));
        }
    }

    /**
     * testIsZenkaku04()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) c:"?_????N???}?L??~?"<br>
     *                ?mF<br>
     *         (?) hankakuKanaList:
     *                                <br>
     *         (?) v?peBt@C:validation.hankaku.kana.list<br>
     *                ??B<br>
     *
     * <br>
     * l?F(l) boolean:true<br>
     *
     * <br>
     * ?w"?_????N???}?L??~?"???A
     * truemF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testIsZenkaku04() throws Exception {
        // l?
        String zenkakuBeginU00List = "?_????N???}?L??~?";

        // eXg?s
        for (int i = 0; i < zenkakuBeginU00List.length(); i++) {
            assertTrue(FieldChecksEx.isZenkaku(zenkakuBeginU00List.charAt(i)));
        }
    }

    /**
     * testIsValid01()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) result:Boolean(true)<br>
     *
     * <br>
     * l?F(l) boolean:true<br>
     *
     * <br>
     * ?lBooleantrue???AtruemF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testIsValid01() throws Exception {

        // l?
        Boolean result = new Boolean(true);

        // eXg?s
        Boolean ret = FieldChecksEx.isValid(result);
        assertTrue(ret.booleanValue());
    }

    /**
     * testIsValid02()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) result:Boolean(false)<br>
     *
     * <br>
     * l?F(l) boolean:false<br>
     *
     * <br>
     * ?lBooleanfalse???AfalsemF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testIsValid02() throws Exception {

        // l?
        Boolean result = new Boolean(false);

        // eXg?s
        Boolean ret = FieldChecksEx.isValid(result);
        assertFalse(ret.booleanValue());
    }

    /**
     * testIsValid03()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) result:"String"<br>
     *
     * <br>
     * l?F(l) boolean:true<br>
     *
     * <br>
     * ?lBoolean^???AtruemF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testIsValid03() throws Exception {

        // l?
        String result = "String";

        // eXg?s
        Boolean ret = FieldChecksEx.isValid(result);
        assertTrue(ret.booleanValue());
    }

    /**
     * testReplaceIndexString01()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) arg:null<br>
     *         (?) pos:0<br>
     *
     * <br>
     * l?F(l) String:null<br>
     *
     * <br>
     * ?argnull???AnullmF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testReplaceIndexString01() throws Exception {
        // eXg?s
        String ret = FieldChecksEx.replaceIndexString(null, 0);
        assertNull(ret);
    }

    /**
     * testReplaceIndexString02()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) arg:"##INDEX"<br>
     *         (?) pos:0<br>
     *
     * <br>
     * l?F(l) String:"0"<br>
     *
     * <br>
     * ?arg"##INDEX"???A?nposlmF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testReplaceIndexString02() throws Exception {
        // eXg?s
        String ret = FieldChecksEx.replaceIndexString("##INDEX", 0);
        assertEquals("0", ret);
    }

    /**
     * testReplaceIndexString03()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) arg:"test"<br>
     *         (?) pos:0<br>
     *
     * <br>
     * l?F(l) String:"test"<br>
     *
     * <br>
     * ?arg"##INDEX"???AarglmF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testReplaceIndexString03() throws Exception {

        // eXg?s
        String ret = FieldChecksEx.replaceIndexString("test", 0);
        assertEquals("test", ret);
    }

    /**
     * testReplaceIndexString04()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) arg:"##index"<br>
     *         (?) pos:99<br>
     *
     * <br>
     * l?F(l) String:"99"<br>
     *
     * <br>
     * ?arg"##index"(?)???A?nposlmF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testReplaceIndexString04() throws Exception {
        // eXg?s
        String ret = FieldChecksEx.replaceIndexString("##index", 99);
        assertEquals("99", ret);
    }

    /**
     * testReplaceIndexString05()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) arg:""<br>
     *         (?) pos:999<br>
     *
     * <br>
     * l?F(l) String:""<br>
     *
     * <br>
     * ?arg"##INDEX"???AarglmF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testReplaceIndexString05() throws Exception {
        // eXg?s
        String ret = FieldChecksEx.replaceIndexString("", 999);
        assertEquals("", ret);
    }

    /**
     * testGetArrayIndexField01()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) field:not null<br>
     *                ?Arg??<br>
     *         (?) pos:0<br>
     *
     * <br>
     * l?F(l) Field:not null<br>
     *                  ?i??j<br>
     *
     * <br>
     * ?fieldArgCX^X????A
     * fieldmF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testGetArrayIndexField01() throws Exception {

        // l?
        Field field = new Field();

        // eXg?s
        Field retField = FieldChecksEx.getArrayIndexField(field, 0);
        assertNull(retField.getArg(0));
        assertNull(retField.getArg(1));
        assertNull(retField.getArg(2));
        assertNull(retField.getArg(3));
    }

    /**
     * testGetArrayIndexField02()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) field:not null<br>
     *                {Arg:key="arg0", position=0;<br>
     *                 Arg:key="arg1", position=1;<br>
     *                 Arg:key="arg2", position=2;<br>
     *                 Arg:key="arg3", position=3}<br>
     *         (?) pos:0<br>
     *
     * <br>
     * l?F(l) Field:not null<br>
     *                  {Arg:key="arg0", position=0;<br>
     *                   Arg:key="arg1", position=1;<br>
     *                   Arg:key="arg2", position=2;<br>
     *                   Arg:key="arg3", position=3}<br>
     *                  (?)<br>
     *
     * <br>
     * ?field?ArgCX^Xkeyl"##INDEX"???A
     * fieldmF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testGetArrayIndexField02() throws Exception {

        // l?
        Field field = new Field();
        // arg?
        Arg param0 = new Arg();
        param0.setKey("arg0");
        param0.setPosition(0);
        field.addArg(param0);

        Arg param1 = new Arg();
        param1.setKey("arg1");
        param1.setPosition(1);
        field.addArg(param1);

        Arg param2 = new Arg();
        param2.setPosition(2);
        param2.setKey("arg2");
        field.addArg(param2);

        Arg param3 = new Arg();
        param3.setPosition(3);
        param3.setKey("arg3");
        field.addArg(param3);

        // eXg?s
        Field retField = FieldChecksEx.getArrayIndexField(field, 0);

        assertEquals("arg0", retField.getArg(0).getKey());
        assertEquals("arg1", retField.getArg(1).getKey());
        assertEquals("arg2", retField.getArg(2).getKey());
        assertEquals("arg3", retField.getArg(3).getKey());
    }

    /**
     * testGetArrayIndexField03()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) field:not null<br>
     *                {Arg:key="##INDEX", position=0;<br>
     *                 Arg:key="##INDEX", position=1;<br>
     *                 Arg:key="##INDEX", position=2;<br>
     *                 Arg:key="##INDEX", position=3}<br>
     *         (?) pos:0<br>
     *
     * <br>
     * l?F(l) Field:not null<br>
     *                  {Arg:key="1", position=0;<br>
     *                   Arg:key="1", position=1;<br>
     *                   Arg:key="1", position=2;<br>
     *                   Arg:key="1", position=3}<br>
     *
     * <br>
     * ?field?ArgCX^Xkeyl"##INDEX"???A
     * keyl?posl?{PmF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testGetArrayIndexField03() throws Exception {

        // l?
        Field field = new Field();
        // arg?
        Arg param0 = new Arg();
        param0.setKey("##INDEX");
        param0.setPosition(0);
        field.addArg(param0);

        Arg param1 = new Arg();
        param1.setKey("##INDEX");
        param1.setPosition(1);
        field.addArg(param1);

        Arg param2 = new Arg();
        param2.setKey("##INDEX");
        param2.setPosition(2);
        field.addArg(param2);

        Arg param3 = new Arg();
        param3.setKey("##INDEX");
        param3.setPosition(3);
        field.addArg(param3);

        // eXg?s
        Field retField = FieldChecksEx.getArrayIndexField(field, 0);

        assertEquals("1", retField.getArg(0).getKey());
        assertEquals("1", retField.getArg(1).getKey());
        assertEquals("1", retField.getArg(2).getKey());
        assertEquals("1", retField.getArg(3).getKey());
    }

    /**
     * testGetArrayIndexField04()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) field:not null<br>
     *                {Arg:key="##INDEX", position=0;<br>
     *                 Arg:key="arg1", position=1;<br>
     *                 Arg:key="arg2", position=2;<br>
     *                 Arg:key="##INDEX", position=3}<br>
     *         (?) pos:0<br>
     *
     * <br>
     * l?F(l) Field:not null<br>
     *                  {Arg:key="1", position=0;<br>
     *                   Arg:key="arg1", position=1;<br>
     *                   Arg:key="arg2", position=2;<br>
     *                   Arg:key="1", position=3}<br>
     *
     * <br>
     * ?field?ArgCX^Xkeyl"##INDEX"???A
     * keyl?posl?{PmF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testGetArrayIndexField04() throws Exception {

        // l?
        Field field = new Field();
        // arg?
        Arg param0 = new Arg();
        param0.setKey("##INDEX");
        param0.setPosition(0);
        field.addArg(param0);

        Arg param1 = new Arg();
        param1.setKey("arg1");
        param1.setPosition(1);
        field.addArg(param1);

        Arg param2 = new Arg();
        param2.setKey("arg2");
        param2.setPosition(2);
        field.addArg(param2);

        Arg param3 = new Arg();
        param3.setKey("##INDEX");
        param3.setPosition(3);
        field.addArg(param3);

        // eXg?s
        Field retField = FieldChecksEx.getArrayIndexField(field, 0);

        assertEquals("1", retField.getArg(0).getKey());
        assertEquals("arg1", retField.getArg(1).getKey());
        assertEquals("arg2", retField.getArg(2).getKey());
        assertEquals("1", retField.getArg(3).getKey());
    }

    /**
     * testValidateAlphaNumericString01()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) bean:null<br>
     *         (?) va:not null<br>
     *         (?) field:not null<br>
     *                Msg("message","message")<br>
     *                field:var<br>
     *                name:"mask"<br>
     *                value="^[a-z]*$"<br>
     *                jsType="false"<br>
     *         (?) errors:not null<br>
     *                (vf)<br>
     *         (?) validator:not null<br>
     *         (?) request:not null<br>
     *         (?) validateMask:true<br>
     *
     * <br>
     * l?F(l) boolean:true<br>
     *         (?) field:var?F<br>
     *                    name:"mask"<br>
     *                    value="^[a-z]*$"<br>
     *                    jsType="false"<br>
     *         (?) errors:?<br>
     *
     * <br>
     * ?beannull?Atruep?A
     * errors?bZ?[WmF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testValidateAlphaNumericString01() throws Exception {
        //eXgf?[^?
        // ++++ beanIuWFNg ++++
        String bean = null;
        // ++++ ??IuWFNg
        ValidatorAction va = new ValidatorAction();
        // ++++ ?tB?[h?
        Field field = new Field();
        Msg msg = new Msg();
        msg.setKey("message");
        msg.setResource(false);
        field.addMsg(msg);
        field.addVar("mask", "^[a-z]*$", "false");
        // G?[?
        ActionMessages errors = new ActionMessages();
        // [HTTPNGXg
        MockHttpServletRequest request = new MockHttpServletRequest();
        Validator validator = new Validator(new ValidatorResources());

        // eXg?s
        boolean result = FieldChecksEx.validateAlphaNumericString(bean, va, field, errors, validator, request);
        // eXgmF
        // truep?B
        assertTrue(result);
        // G?[??B
        assertTrue(errors.isEmpty());
        // field?mF
        Var var = field.getVar("mask");
        assertNotNull(var);
        assertEquals("mask", var.getName());
        assertEquals("^[a-z]*$", var.getValue());
        assertEquals("false", var.getJsType());
    }

    /**
     * testValidateAlphaNumericString02()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) bean:""<br>
     *         (?) va:not null<br>
     *         (?) field:not null<br>
     *                Msg("message","message")<br>
     *         (?) errors:not null<br>
     *                (vf)<br>
     *         (?) validator:not null<br>
     *         (?) request:not null<br>
     *         (?) validateMask:true<br>
     *
     * <br>
     * l?F(l) boolean:true<br>
     *         (?) field:var?F<br>
     *                    name="mask"<br>
     *                    null?B<br>
     *         (?) errors:?<br>
     *
     * <br>
     * ?bean?Atruep?A
     * errors?bZ?[WmF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testValidateAlphaNumericString02() throws Exception {
        //eXgf?[^?
        // ++++ beanIuWFNg ++++
        String bean = "";
        // ++++ ??IuWFNg
        ValidatorAction va = new ValidatorAction();
        // ++++ ?tB?[h?
        Field field = new Field();
        Msg msg = new Msg();
        msg.setKey("message");
        msg.setResource(false);
        field.addMsg(msg);
        // G?[?
        ActionMessages errors = new ActionMessages();
        // [HTTPNGXg
        MockHttpServletRequest request = new MockHttpServletRequest();
        Validator validator = new Validator(new ValidatorResources());

        // eXg?s
        boolean result = FieldChecksEx.validateAlphaNumericString(bean, va, field, errors, validator, request);
        // eXgmF
        // truep?B
        assertTrue(result);
        // G?[??B
        assertTrue(errors.isEmpty());
        // field?mF
        Var var = field.getVar("mask");
        assertNull(var);
    }

    /**
     * testValidateAlphaNumericString03()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) bean:"a0A"<br>
     *         (?) va:not null<br>
     *         (?) field:not null<br>
     *                Msg("message","message")<br>
     *         (?) errors:not null<br>
     *                (vf)<br>
     *         (?) validator:not null<br>
     *         (?) request:not null<br>
     *         (?) validateMask:true<br>
     *
     * <br>
     * l?F(l) boolean:true<br>
     *         (?) field:var?F<br>
     *                    name="mask"<br>
     *                    null?B<br>
     *         (?) errors:?<br>
     *
     * <br>
     * ?beanpp??\????Atruep?A
     * errors?bZ?[WmF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testValidateAlphaNumericString03() throws Exception {
        //eXgf?[^?
        // ++++ beanIuWFNg ++++
        String bean = "a0A";
        // ++++ ??IuWFNg
        ValidatorAction va = new ValidatorAction();
        va.setName("message");
        // ++++ ?tB?[h?
        Field field = new Field();
        // ?bZ?[W?
        Msg msg = new Msg();
        msg.setKey("message");
        msg.setName("message");
        msg.setResource(false);
        field.addMsg(msg);

        // G?[?
        ActionMessages errors = new ActionMessages();

        // [HTTPNGXg
        MockHttpServletRequest request = new MockHttpServletRequest();
        Validator validator = new Validator(new ValidatorResources());

        // eXg?s
        boolean result = FieldChecksEx.validateAlphaNumericString(bean, va, field, errors, validator, request);
        // eXgmF
        // truep?B
        assertTrue(result);
        // G?[?G?[IuWFNgo^?B
        assertTrue(errors.isEmpty());
        // field?mF
        Var var = field.getVar("mask");
        assertNull(var);
    }

    /**
     * testValidateAlphaNumericString04()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FF
     * <br><br>
     * l?F(?) bean:HashMap<br>
     *                ["field1"="Zg3%"]<br>
     *         (?) va:not null<br>
     *         (?) field:not null<br>
     *                property="field1"<br>
     *                Msg("message","message")<br>
     *         (?) errors:not null<br>
     *                ActionMessage("testMessage")<br>
     *         (?) validator:not null<br>
     *         (?) request:not null<br>
     *         (?) validateMask:false<br>
     *
     * <br>
     * l?F(l) boolean:false<br>
     *         (?) field:var?F<br>
     *                    name="mask"<br>
     *                    null?B<br>
     *         (?) errors:ActionMessage("testMessage")<br>
     *                    ActionMessage("message")<br>
     *
     * <br>
     * ?beanString^???A
     * fieldv?peBl`FbN?smF?B
     * `FbNG?[?A
     * errors?bZ?[WmF?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testValidateAlphaNumericString04() throws Exception {
        //eXgf?[^?
        // ++++ beanIuWFNg ++++
        Map<String, String> bean = new HashMap<String, String>();
        bean.put("field1", "Zg3%");

        // ++++ ??IuWFNg
        ValidatorAction va = new ValidatorAction();
        va.setName("message");
        // ++++ ?tB?[h?
        Field field = new Field();
        field.setProperty("field1");
        // ?bZ?[W?
        Msg msg = new Msg();
        msg.setKey("message");
        msg.setName("message");
        msg.setResource(false);
        field.addMsg(msg);

        // G?[??iActionMessage1???j
        ActionMessages errors = new ActionMessages();
        ActionMessage error = new ActionMessage("testMessage");
        errors.add(Globals.ERROR_KEY, error);

        // [HTTPNGXg
        MockHttpServletRequest request = new MockHttpServletRequest();
        Validator validator = new Validator(new ValidatorResources());

        // eXg?s
        boolean result = FieldChecksEx.validateAlphaNumericString(bean, va, field, errors, validator, request);

        // eXgmF
        // falsep?B
        assertFalse(result);
        // G?[?G?[IuWFNg2o^?B
        assertEquals(2, errors.size());
        // G?[???bZ?[Wo^?B
        // ActionMessage???B
        Iterator it = errors.get();
        List<String> list = new ArrayList<String>();
        while (it.hasNext()) {
            ActionMessage retError = (ActionMessage) it.next();
            list.add(retError.getKey());
        }
        assertTrue(list.contains("testMessage"));
        assertTrue(list.contains("message"));
        // field?mF
        Var var = field.getVar("mask");
        assertNull(var);
    }

    /**
     * testGetByteLength01()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FC,F
     * <br><br>
     * l?F(?) value:null<br>
     *
     * <br>
     * l?F(l) int:0<br>
     *
     * <br>
     * ?valuenull?A0mF?B<br>
     * p^?[validateByteLength?AvalidateByteRange?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testGetByteLength01() throws Exception {
        int result = FieldChecksEx.getByteLength(null, "test");
        assertEquals(0, result);
    }

    /**
     * testGetByteLength02()
     * <br><br>
     *
     * (??n)
     * <br>
     * _?FC,F
     * <br><br>
     * l?F(?) value:""<br>
     *
     * <br>
     * l?F(l) int:0<br>
     *
     * <br>
     * ?value?A0mF?B<br>
     * p^?[validateByteLength?AvalidateByteRange?B
     * <br>
     *
     * @throws Exception ?\bh?O
     */
    public void testGetByteLength02() throws Exception {
        int result = FieldChecksEx.getByteLength("", "test");
        assertEquals(0, result);
    }

}