Java tutorial
/* * 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 java.util.Arrays.asList; 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.assertNull; 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 static uk.org.lidalia.slf4jtest.LoggingEvent.error; import java.util.ArrayList; import java.util.List; 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 FieldChecksTest10 { 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(); } /** * testValidateDateRange01() <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 testValidateDateRange01() throws Exception { // // assertTrue(new FieldChecks().validateDateRange(null, va, field, errors)); // addErrors? assertEquals(0, errors.addErrorCount); } /** * testValidateDateRange02() <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 testValidateDateRange02() throws Exception { // // assertTrue(new FieldChecks().validateDateRange("", va, field, errors)); // addErrors? assertEquals(0, errors.addErrorCount); } /** * testValidateDateRange03() <br> * <br> * () <br> * F,G <br> * <br> * () bean:"2005/11/22"<br> * () va:not null<br> * () field:var<br> * datePattern="abc"<br> * datePatternStrict="yyyy.MM.dd"<br> * () errors:not null<br> * <br> * () :ValidatorException<br> * Illegal pattern character 'b'<br> * () :<br> * Illegal pattern character 'b'<br> * <br> * var?datePattern???????? ValidatorException?????? <br> * @throws Exception ????? */ @Test public void testValidateDateRange03() throws Exception { // ?? Var var1 = new Var(); var1.setName("datePattern"); var1.setValue("abc"); field.addVar(var1); Var var2 = new Var(); var2.setName("datePatternStrict"); var2.setValue("yyyy.MM.dd"); field.addVar(var2); // // try { new FieldChecks().validateDateRange("2005/11/22", va, field, errors); fail(); } catch (ValidatorException e) { assertEquals("Illegal pattern character 'b'", e.getMessage()); assertThat(logger.getLoggingEvents(), is(asList(error("Illegal pattern character 'b'")))); } } /** * testValidateDateRange04() <br> * <br> * () <br> * F,G <br> * <br> * () bean:"2005/11/22"<br> * () va:not null<br> * () field:var<br> * datePatternStrict="abc"<br> * () errors:not null<br> * <br> * () :ValidatorException<br> * Illegal pattern character 'b'<br> * () :<br> * Illegal pattern character 'b'<br> * <br> * var?datePatternStrict???????? ValidatorException?????? <br> * @throws Exception ????? */ @Test public void testValidateDateRange04() throws Exception { // ?? Var var = new Var(); var.setName("datePatternStrict"); var.setValue("abc"); field.addVar(var); // // try { new FieldChecks().validateDateRange("2005/11/22", va, field, errors); fail(); } catch (ValidatorException e) { assertEquals("Illegal pattern character 'b'", e.getMessage()); assertThat(logger.getLoggingEvents(), is(asList(error("Illegal pattern character 'b'")))); } } /** * testValidateDateRange05() <br> * <br> * () <br> * F,G <br> * <br> * () bean:"2005/11/22"<br> * () va:not null<br> * () field:var:<br> * datePattern=null<br> * datePatternStrict=null<br> * () errors:not null<br> * <br> * () :ValidatorException<br> * datePattern or datePatternStrict must be specified.<br> * () :<br> * datePattern or datePatternStrict must be specified.<br> * <br> * var?datePattern?datePatternStrict?null??? ValidatorException?????? <br> * @throws Exception ????? */ @Test public void testValidateDateRange05() throws Exception { // ?? Var var1 = new Var(); var1.setName("datePattern"); var1.setValue(null); field.addVar(var1); Var var2 = new Var(); var2.setName("datePatternStrict"); var2.setValue(null); field.addVar(var2); // // try { new FieldChecks().validateDateRange("2005/11/22", va, field, errors); fail(); } catch (ValidatorException e) { assertEquals("datePattern or datePatternStrict must be specified.", e.getMessage()); assertThat(logger.getLoggingEvents(), is(asList(error("datePattern or datePatternStrict must be specified.")))); } } /** * testValidateDateRange06() <br> * <br> * () <br> * F,G <br> * <br> * () bean:"2005/11/22"<br> * () va:not null<br> * () field:var:<br> * datePattern=""<br> * datePatternStrict=""<br> * () errors:not null<br> * <br> * () :ValidatorException<br> * datePattern or datePatternStrict must be specified.<br> * () :<br> * datePattern or datePatternStrict must be specified.<br> * <br> * var?datePattern?datePatternStrict????ValidatorException?????? <br> * @throws Exception ????? */ @Test public void testValidateDateRange06() throws Exception { // ?? Var var1 = new Var(); var1.setName("datePattern"); var1.setValue(""); field.addVar(var1); Var var2 = new Var(); var2.setName("datePatternStrict"); var2.setValue(""); field.addVar(var2); // // try { new FieldChecks().validateDateRange("2005/11/22", va, field, errors); fail(); } catch (ValidatorException e) { assertEquals("datePattern or datePatternStrict must be specified.", e.getMessage()); assertThat(logger.getLoggingEvents(), is(asList(error("datePattern or datePatternStrict must be specified.")))); } } /** * testValidateDateRange07() <br> * <br> * () <br> * F <br> * <br> * () bean:"test"<br> * () va:not null<br> * () field:var:<br> * datePattern="yyyy/MM/dd"<br> * () errors:not null<br> * <br> * () boolean:false<br> * () errors:bean,field,va???addErrors???<br> * <br> * bean????????????false??????? <br> * @throws Exception ????? */ @Test public void testValidateDateRange07() throws Exception { // ?? Var var = new Var(); var.setName("datePattern"); var.setValue("yyyy/MM/dd"); field.addVar(var); // // assertFalse(new FieldChecks().validateDateRange("test", va, field, errors)); assertEquals(1, errors.addErrorCount); assertEquals("test", errors.beanList.get(0)); assertSame(va, errors.vaList.get(0)); assertSame(field, errors.fieldList.get(0)); } /** * testValidateDateRange08() <br> * <br> * () <br> * F,G <br> * <br> * () bean:"2005/11/22"<br> * () va:not null<br> * () field:var:<br> * datePattern="yyyy/MM/dd"<br> * startDate="test"<br> * () errors:not null<br> * <br> * () :ValidatorException<br> * startDate is unparseable[test]<br> * () :<br> * startDate is unparseable[test]<br> * <br> * startDate??????????ValidatorException?????? <br> * @throws Exception ????? */ @Test public void testValidateDateRange08() throws Exception { // ?? Var var1 = new Var(); var1.setName("datePattern"); var1.setValue("yyyy/MM/dd"); field.addVar(var1); Var var2 = new Var(); var2.setName("startDate"); var2.setValue("test"); field.addVar(var2); // // try { new FieldChecks().validateDateRange("2005/11/22", va, field, errors); fail(); } catch (ValidatorException e) { assertEquals("startDate is unparseable[test]", e.getMessage()); assertThat(logger.getLoggingEvents(), is(asList(error("startDate is unparseable[test]")))); } } /** * testValidateDateRange09() <br> * <br> * () <br> * F,G <br> * <br> * () bean:"2005/11/22"<br> * () va:not null<br> * () field:var:<br> * datePattern="yyyy/MM/dd"<br> * endDate="test"<br> * () errors:not null<br> * <br> * () :ValidatorException<br> * endDate is unparseable[test]<br> * () :<br> * endDate is unparseable[test]<br> * <br> * endDate??????????ValidatorException?????? <br> * @throws Exception ????? */ @Test public void testValidateDateRange09() throws Exception { // ?? Var var1 = new Var(); var1.setName("datePattern"); var1.setValue("yyyy/MM/dd"); field.addVar(var1); Var var2 = new Var(); var2.setName("endDate"); var2.setValue("test"); field.addVar(var2); // // try { new FieldChecks().validateDateRange("2005/11/22", va, field, errors); fail(); } catch (ValidatorException e) { assertEquals("endDate is unparseable[test]", e.getMessage()); assertThat(logger.getLoggingEvents(), is(asList(error("endDate is unparseable[test]")))); } } /** * testValidateDateRange10() <br> * <br> * () <br> * F <br> * <br> * () bean:"2005/11/22"<br> * () va:not null<br> * () field:var:<br> * datePattern="yyyy/MM/dd"<br> * startDate="2005/11/23"<br> * endDate="2005/12/31"<br> * () errors:not null<br> * <br> * () boolean:false<br> * () errors:bean,field,va??? addErrors???<br> * <br> * bean??startDate????? ??false??????? <br> * @throws Exception ????? */ @Test public void testValidateDateRange10() throws Exception { // ?? Var var1 = new Var(); var1.setName("datePattern"); var1.setValue("yyyy/MM/dd"); field.addVar(var1); Var var2 = new Var(); var2.setName("startDate"); var2.setValue("2005/11/23"); field.addVar(var2); Var var3 = new Var(); var3.setName("endDate"); var3.setValue("2005/12/31"); field.addVar(var3); // // assertFalse(new FieldChecks().validateDateRange("2005/11/22", va, field, errors)); assertEquals(1, errors.addErrorCount); assertEquals("2005/11/22", errors.beanList.get(0)); assertSame(va, errors.vaList.get(0)); assertSame(field, errors.fieldList.get(0)); } /** * testValidateDateRange11() <br> * <br> * () <br> * F <br> * <br> * () bean:"2005/11/22"<br> * () va:not null<br> * () field:var:<br> * datePattern="yyyy/MM/dd"<br> * startDate="2005/1/1"<br> * endDate="2005/11/21"<br> * () errors:not null<br> * <br> * () boolean:false<br> * () errors:bean,field,va???addErrors???<br> * <br> * bean??endDate???????false??????? <br> * @throws Exception ????? */ @Test public void testValidateDateRange11() throws Exception { // ?? Var var1 = new Var(); var1.setName("datePattern"); var1.setValue("yyyy/MM/dd"); field.addVar(var1); Var var2 = new Var(); var2.setName("startDate"); var2.setValue("2005/1/1"); field.addVar(var2); Var var3 = new Var(); var3.setName("endDate"); var3.setValue("2005/11/21"); field.addVar(var3); // // assertFalse(new FieldChecks().validateDateRange("2005/11/22", va, field, errors)); assertEquals(1, errors.addErrorCount); assertEquals("2005/11/22", errors.beanList.get(0)); assertSame(va, errors.vaList.get(0)); assertSame(field, errors.fieldList.get(0)); } /** * testValidateDateRange12() <br> * <br> * () <br> * F <br> * <br> * () bean:"2005/11/22"<br> * () va:not null<br> * () field:var:<br> * datePattern="yyyy/MM/dd"<br> * startDate="2005/11/22"<br> * endDate="2005/11/22"<br> * () errors:not null<br> * <br> * () boolean:true<br> * () errors:????<br> * <br> * bean??startDate,endDate??????true??????? <br> * @throws Exception ????? */ @Test public void testValidateDateRange12() throws Exception { // ?? Var var1 = new Var(); var1.setName("datePattern"); var1.setValue("yyyy/MM/dd"); field.addVar(var1); Var var2 = new Var(); var2.setName("startDate"); var2.setValue("2005/11/22"); field.addVar(var2); Var var3 = new Var(); var3.setName("endDate"); var3.setValue("2005/11/22"); field.addVar(var3); // // assertTrue(new FieldChecks().validateDateRange("2005/11/22", va, field, errors)); assertEquals(0, errors.addErrorCount); } /** * testValidateDateRange13() <br> * <br> * () <br> * F <br> * <br> * () bean:"2005/1/1"<br> * () va:not null<br> * () field:var:<br> * datePatternStrict="yyyy/MM/dd"<br> * startDate="2005/01/01"<br> * endDate="2005/01/01"<br> * () errors:not null<br> * <br> * () boolean:false<br> * () errors:bean,field,va???addErrors???<br> * <br> * bean??datePatternStrict?????????? ??false??????? <br> * @throws Exception ????? */ @Test public void testValidateDateRange13() throws Exception { // ?? Var var1 = new Var(); var1.setName("datePatternStrict"); var1.setValue("yyyy/MM/dd"); field.addVar(var1); Var var2 = new Var(); var2.setName("startDate"); var2.setValue("2005/01/01"); field.addVar(var2); Var var3 = new Var(); var3.setName("endDate"); var3.setValue("2005/01/01"); field.addVar(var3); // // assertFalse(new FieldChecks().validateDateRange("2005/1/1", va, field, errors)); assertEquals(1, errors.addErrorCount); assertEquals("2005/1/1", errors.beanList.get(0)); assertSame(va, errors.vaList.get(0)); assertSame(field, errors.fieldList.get(0)); } /** * testValidateArraysIndex01() <br> * <br> * () <br> * F,G <br> * <br> * () bean:null<br> * () va:not null<br> * () field:not null<br> * () errors:not null<br> * <br> * () :ValidatorException<br> * "validation target bean is null."<br> * () :<br> * "validation target bean is null."<br> * <br> * ?bean?null???ValidatorException?????? <br> * @throws Exception ????? */ @Test public void testValidateArraysIndex01() throws Exception { // // try { new FieldChecks().validateArraysIndex(null, va, field, errors); } catch (ValidatorException e) { assertEquals("validation target bean is null.", e.getMessage()); assertThat(logger.getLoggingEvents(), is(asList(error("validation target bean is null.")))); } } /** * testValidateArraysIndex02() <br> * <br> * () <br> * F,G <br> * <br> * () bean:not null<br> * () va:mehodParams=""<br> * () field:not null<br> * () errors:not null<br> * <br> * () :ValidatorException<br> * "Mistake on validation rule file. - Can not get argument class. You'll have to check it over. "<br> * () :<br> * "Mistake on validation rule file. - Can not get argument class. You'll have to check it over. "<br> * <br> * va?methodParams????????? ValidatorException?????? <br> * @throws Exception ????? */ @Test public void testValidateArraysIndex02() throws Exception { // ?? va.setMethodParams(""); // // try { new FieldChecks().validateArraysIndex(new Object(), va, field, errors); } catch (ValidatorException e) { String expect = "Mistake on validation rule file. " + "- Can not get argument class. You'll have to check it over. "; assertEquals(expect, e.getMessage()); assertThat(logger.getLoggingEvents(), is(asList(error(expect)))); } } /** * testValidateArraysIndex03() <br> * <br> * () <br> * F,G <br> * <br> * () bean:not null<br> * () va:mehodParams="aaaaa"<br> * () field:not null<br> * () errors:not null<br> * <br> * () :ValidatorException<br> * "Mistake on validation rule file. - Can not get argument class. You'll have to check it over. "<br> * () :<br> * "Mistake on validation rule file. - Can not get argument class. You'll have to check it over. "<br> * <br> * va?methodParams?????????ValidatorException?????? <br> * @throws Exception ????? */ @Test public void testValidateArraysIndex03() throws Exception { // ?? va.setMethodParams("aaaaa"); // // try { new FieldChecks().validateArraysIndex(new Object(), va, field, errors); } catch (ValidatorException e) { String expect = "Mistake on validation rule file. " + "- Can not get argument class. You'll have to check it over. "; assertEquals(expect, e.getMessage()); assertThat(logger.getLoggingEvents(), is(asList(error(expect)))); } } /** * testValidateArraysIndex04() <br> * <br> * () <br> * F,G <br> * <br> * () bean:not null<br> * () va:mehodParams="java.lang.String"<br> * name="hoge"<br> * () field:not null<br> * () errors:not null<br> * <br> * () :ValidatorException<br> * "Mistake on validation rule file. - Can not get validateMethod. You'll have to check it over. "<br> * () :<br> * "Mistake on validation rule file. - Can not get validateMethod. You'll have to check it over. "<br> * <br> * va???name???????ValidatorException?????? <br> * @throws Exception ????? */ @Test public void testValidateArraysIndex04() throws Exception { // ?? va.setMethodParams("java.lang.String"); va.setName("hoge"); // // try { new FieldChecks().validateArraysIndex(new Object(), va, field, errors); } catch (ValidatorException e) { String expect = "Mistake on validation rule file. " + "- Can not get validateMethod. You'll have to check it over. "; assertEquals(expect, e.getMessage()); assertThat(logger.getLoggingEvents(), is(asList(error(expect)))); } } /** * testValidateArraysIndex05() <br> * <br> * () <br> * F <br> * <br> * () bean:JavaBean<br> * String[] array = {<br> * "a", "b", "c"<br> * };<br> * () va:methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, * jp.terasoluna.fw.validation.ValidationErrors"<br> * name="requiredArray"<br> * () field:property="array"<br> * () errors:not null<br> * <br> * () boolean:true<br> * () errors:????<br> * <br> * var????????? ??????va?name???????????? true????????? <br> * @throws Exception ????? */ @Test public void testValidateArraysIndex05() throws Exception { // ?? // JavaBean FieldChecks_JavaBeanStub01 bean = new FieldChecks_JavaBeanStub01(); bean.setArray(new String[] { "a", "b", "c" }); // ValidatorAction va.setMethodParams("java.lang.Object," + "org.apache.commons.validator.ValidatorAction," + "org.apache.commons.validator.Field," + "jp.terasoluna.fw.validation.ValidationErrors"); va.setName("requiredArray"); // Field field.setProperty("array"); // // assertTrue(new FieldChecks().validateArraysIndex(bean, va, field, errors)); assertEquals(0, errors.addErrorCount); } /** * testValidateArraysIndex06() <br> * <br> * () <br> * F <br> * <br> * () bean:JavaBean<br> * List list = {<br> * "a", null, null, "d"<br> * };<br> * () va:methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, * jp.terasoluna.fw.validation.ValidationErrors"<br> * name="requiredArray"<br> * () field:property="list"<br> * () errors:not null<br> * <br> * () boolean:false<br> * () errors:2??<br> * bean=?bean??<br> * field:<br> * key="lsit[1]"<br> * property="list[1]"<br> * va=?va??<br> * bean=?bean??l<br> * field:<br> * key="list[2]"<br> * property="list[2]"<br> * va=?va??<br> * <br> * var?????Collection??? va?name???????????? ???errors?addErrors??????? <br> * @throws Exception ????? */ @Test public void testValidateArraysIndex06() throws Exception { // ?? // JavaBean FieldChecks_JavaBeanStub01 bean = new FieldChecks_JavaBeanStub01(); List<String> list = new ArrayList<String>(); list.add("a"); list.add(null); list.add(null); list.add("d"); bean.setList(list); // ValidatorAction va.setMethodParams("java.lang.Object," + "org.apache.commons.validator.ValidatorAction," + "org.apache.commons.validator.Field," + "jp.terasoluna.fw.validation.ValidationErrors"); va.setName("requiredArray"); // Field field.setProperty("list"); // // assertFalse(new FieldChecks().validateArraysIndex(bean, va, field, errors)); assertEquals(2, errors.addErrorCount); assertSame(bean, errors.beanList.get(0)); assertSame(va, errors.vaList.get(0)); assertEquals("list[1]", ((Field) errors.fieldList.get(0)).getKey()); assertEquals("list[1]", ((Field) errors.fieldList.get(0)).getProperty()); assertSame(bean, errors.beanList.get(1)); assertSame(va, errors.vaList.get(1)); assertEquals("list[2]", ((Field) errors.fieldList.get(1)).getKey()); assertEquals("list[2]", ((Field) errors.fieldList.get(1)).getProperty()); } /** * testValidateArraysIndex07() <br> * <br> * () <br> * F <br> * <br> * () bean:JavaBean<br> * int[] intArray = {<br> * 0,2,5<br> * };<br> * () va:methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, * jp.terasoluna.fw.validation.ValidationErrors"<br> * name="intRangeArray"<br> * () field:property="intArray"<br> * var:<br> * intRangeMin=1<br> * intRangeMax=3<br> * () errors:not null<br> * <br> * () boolean:false<br> * () errors:2??<br> * bean=?bean??<br> * field:<br> * key="intArray[0]"<br> * property="intArray[0]"<br> * var:<br> * intRangeMin="1"<br> * intRangeMax="3"<br> * va=?va??<br> * bean=?bean??<br> * field:<br> * key="intArray[2]"<br> * property="intArray[2]"<br> * var:<br> * intRangeMin="1"<br> * intRangeMax="3"<br> * va=?va??<br> * <br> * var????????? va?name???????????? ???errors?addErrors??????? <br> * @throws Exception ????? */ @Test public void testValidateArraysIndex07() throws Exception { // ?? // JavaBean FieldChecks_JavaBeanStub01 bean = new FieldChecks_JavaBeanStub01(); bean.setIntArray(new int[] { 0, 2, 5 }); // ValidatorAction va.setMethodParams("java.lang.Object," + "org.apache.commons.validator.ValidatorAction," + "org.apache.commons.validator.Field," + "jp.terasoluna.fw.validation.ValidationErrors"); va.setName("intRangeArray"); // Field field.setProperty("intArray"); Var var1 = new Var(); var1.setName("intRangeMin"); var1.setValue("1"); field.addVar(var1); Var var2 = new Var(); var2.setName("intRangeMax"); var2.setValue("3"); field.addVar(var2); // // assertFalse(new FieldChecks().validateArraysIndex(bean, va, field, errors)); assertEquals(2, errors.addErrorCount); assertSame(bean, errors.beanList.get(0)); assertSame(va, errors.vaList.get(0)); assertEquals("intArray[0]", ((Field) errors.fieldList.get(0)).getKey()); assertEquals("intArray[0]", ((Field) errors.fieldList.get(0)).getProperty()); assertSame(bean, errors.beanList.get(1)); assertSame(va, errors.vaList.get(1)); assertEquals("intArray[2]", ((Field) errors.fieldList.get(1)).getKey()); assertEquals("intArray[2]", ((Field) errors.fieldList.get(1)).getProperty()); } /** * testValidateArraysIndex08() <br> * <br> * () <br> * F <br> * <br> * () bean:JavaBean<br> * String field = null;<br> * () va:methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, * jp.terasoluna.fw.validation.ValidationErrors"<br> * name="requiredArray"<br> * () field:property="field"<br> * () errors:not null<br> * <br> * () boolean:false<br> * () errors:bean=?bean??<br> * field:<br> * key="field"<br> * property="field"<br> * va=?va??<br> * <br> * var???????Collection?????? ?????????????? <br> * @throws Exception ????? */ @Test public void testValidateArraysIndex08() throws Exception { // ?? // JavaBean FieldChecks_JavaBeanStub01 bean = new FieldChecks_JavaBeanStub01(); bean.setField(null); // ValidatorAction va.setMethodParams("java.lang.Object," + "org.apache.commons.validator.ValidatorAction," + "org.apache.commons.validator.Field," + "jp.terasoluna.fw.validation.ValidationErrors"); va.setName("requiredArray"); // Field field.setProperty("field"); // // assertFalse(new FieldChecks().validateArraysIndex(bean, va, field, errors)); assertEquals(1, errors.addErrorCount); assertSame(bean, errors.beanList.get(0)); assertSame(va, errors.vaList.get(0)); assertEquals("field", ((Field) errors.fieldList.get(0)).getKey()); assertEquals("field", ((Field) errors.fieldList.get(0)).getProperty()); } /** * testValidateArraysIndex09() <br> * <br> * () <br> * F <br> * <br> * () bean:JavaBean<br> * JavaBean[] beanArray?<br> * JavaBean[0]<br> * String[] array = {<br> * "a", null, "c"<br> * };<br> * JavaBean[1]=null<br> * JavaBean[2]<br> * String[] array = {<br> * "a", null, null<br> * };<br> * () va:methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, * jp.terasoluna.fw.validation.ValidationErrors"<br> * name="requiredArray"<br> * () field:property="beanArray.array"<br> * () errors:not null<br> * <br> * () boolean:false<br> * () errors:3??<br> * bean=?bean??<br> * field:<br> * key="beanArray[0].array[1]"<br> * property="beanArray[0].array[1]"<br> * va=?va??<br> * bean=?bean??<br> * field:<br> * key="beanArray[2].array[1]"<br> * property="beanArray[2].array[1]"<br> * va=?va??<br> * bean=?bean??<br> * field:<br> * key="beanArray[2].array[2]"<br> * property="beanArray[2].array[2]"<br> * va=?va??<br> * <br> * var????????? ??????va?name???????????? true????????? <br> * @throws Exception ????? */ @Test public void testValidateArraysIndex09() throws Exception { // ?? // JavaBean-beanArray[0] FieldChecks_JavaBeanStub01 beanArray0 = new FieldChecks_JavaBeanStub01(); beanArray0.setArray(new String[] { "a", null, "c" }); // JavaBean-beanArray[1] FieldChecks_JavaBeanStub01 beanArray1 = null; // JavaBean-beanArray[2] FieldChecks_JavaBeanStub01 beanArray2 = new FieldChecks_JavaBeanStub01(); beanArray2.setArray(new String[] { "a", null, null }); // JavaBean FieldChecks_JavaBeanStub01 bean = new FieldChecks_JavaBeanStub01(); bean.setBeanArray(new Object[] { beanArray0, beanArray1, beanArray2 }); // ValidatorAction va.setMethodParams("java.lang.Object," + "org.apache.commons.validator.ValidatorAction," + "org.apache.commons.validator.Field," + "jp.terasoluna.fw.validation.ValidationErrors"); va.setName("requiredArray"); // Field field.setProperty("beanArray.array"); // // assertFalse(new FieldChecks().validateArraysIndex(bean, va, field, errors)); assertEquals(3, errors.addErrorCount); assertSame(bean, errors.beanList.get(0)); assertSame(va, errors.vaList.get(0)); assertEquals("beanArray[0].array[1]", ((Field) errors.fieldList.get(0)).getKey()); assertEquals("beanArray[0].array[1]", ((Field) errors.fieldList.get(0)).getProperty()); assertSame(bean, errors.beanList.get(1)); assertSame(va, errors.vaList.get(1)); assertEquals("beanArray[2].array[1]", ((Field) errors.fieldList.get(1)).getKey()); assertEquals("beanArray[2].array[1]", ((Field) errors.fieldList.get(1)).getProperty()); assertSame(bean, errors.beanList.get(2)); assertSame(va, errors.vaList.get(1)); assertEquals("beanArray[2].array[2]", ((Field) errors.fieldList.get(2)).getKey()); assertEquals("beanArray[2].array[2]", ((Field) errors.fieldList.get(2)).getProperty()); } /** * testValidateArraysIndex10() <br> * <br> * () <br> * F <br> * <br> * () bean:JavaBean<br> * String[] array = {};<br> * () va:methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, * jp.terasoluna.fw.validation.ValidationErrors"<br> * name="requiredArray"<br> * () field:property="array"<br> * () errors:not null<br> * <br> * () boolean:true<br> * () errors:????<br> * <br> * var????????? ?????true????????? <br> * @throws Exception ????? */ @Test public void testValidateArraysIndex10() throws Exception { // ?? // JavaBean FieldChecks_JavaBeanStub01 bean = new FieldChecks_JavaBeanStub01(); bean.setArray(new String[] {}); // ValidatorAction va.setMethodParams("java.lang.Object," + "org.apache.commons.validator.ValidatorAction," + "org.apache.commons.validator.Field," + "jp.terasoluna.fw.validation.ValidationErrors"); va.setName("requiredArray"); // Field field.setProperty("array"); // // assertTrue(new FieldChecks().validateArraysIndex(bean, va, field, errors)); assertEquals(0, errors.addErrorCount); } /** * testValidateArraysIndex11() <br> * <br> * () <br> * G <br> * <br> * () bean:JavaBean<br> * String[] array = {};<br> * () va:null<br> * ??????????<br> * () field:property="array"<br> * () errors:not null<br> * <br> * () :ValidatorException<br> * null<br> * () :<br> * null<br> * NullPointerException<br> * <br> * ??ValidatorException?InvocationTargetException?????? ValidatorException?????? <br> * @throws Exception ????? */ @Test public void testValidateArraysIndex11() throws Exception { // ?? // JavaBean FieldChecks_JavaBeanStub01 bean = new FieldChecks_JavaBeanStub01(); bean.setArray(new String[] {}); // ValidatorAction va = null; // Field field.setProperty("array"); // // try { new FieldChecks().validateArraysIndex(bean, va, field, errors); fail(); } catch (ValidatorException e) { // OK assertNull(e.getMessage()); assertThat(logger.getLoggingEvents().get(0).getMessage(), is(equalTo("null"))); assertThat(logger.getLoggingEvents().get(0).getThrowable().get(), instanceOf(NullPointerException.class)); } } /** * testValidateArraysIndex12() <br> * <br> * () <br> * G <br> * <br> * () bean:JavaBean<br> * String[] array = {<br> * "a"<br> * };<br> * () va:methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, * jp.terasoluna.fw.validation.ValidationErrors"<br> * name="maskArray"<br> * () field:property="array"<br> * () errors:not null<br> * <br> * () :ValidatorException<br> * "var[mask] must be specified."<br> * <br> * ??ValidatorException??InvocationTargetException????? ??ValidatorException?????? <br> * @throws Exception ????? */ @Test public void testValidateArraysIndex12() throws Exception { // ?? // JavaBean FieldChecks_JavaBeanStub01 bean = new FieldChecks_JavaBeanStub01(); bean.setArray(new String[] { "a" }); // ValidatorAction va.setMethodParams("java.lang.Object," + "org.apache.commons.validator.ValidatorAction," + "org.apache.commons.validator.Field," + "jp.terasoluna.fw.validation.ValidationErrors"); va.setName("maskArray"); // Field field.setProperty("array"); // // try { new FieldChecks().validateArraysIndex(bean, va, field, errors); fail(); } catch (ValidatorException e) { // OK assertEquals("var[mask] must be specified.", e.getMessage()); assertThat(logger.getLoggingEvents(), is(asList(error(e.getMessage())))); } } /** * testValidateArraysIndex13() <br> * <br> * () <br> * G <br> * <br> * () bean:JavaBean<br> * String[] array = {"a", null, "c"}<br> * () va:methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, * jp.terasoluna.fw.validation.ValidationErrors"<br> * name="requiredArray"<br> * () field:property="array"<br> * () errors:addErrors?RuntimeException?<br> * <br> * () :ValidatorException<br> * RuntimeException.getMessage();<br> * () :<br> * RuntimeException.getMessage();<br> * RuntimeException<br> * <br> * ??ValidatorException??? InvocationTargetException????? ???????ValidatorException?????? * <br> * @throws Exception ????? */ @Test public void testValidateArraysIndex13() throws Exception { // ?? // JavaBean FieldChecks_JavaBeanStub01 bean = new FieldChecks_JavaBeanStub01(); bean.setArray(new String[] { "a", null, "c" }); // ValidatorAction va.setMethodParams("java.lang.Object," + "org.apache.commons.validator.ValidatorAction," + "org.apache.commons.validator.Field," + "jp.terasoluna.fw.validation.ValidationErrors"); va.setName("requiredArray"); // Field field.setProperty("array"); // errors ??? FieldChecks_ValidationErrorsImpl02 errors2 = new FieldChecks_ValidationErrorsImpl02(); // // try { new FieldChecks().validateArraysIndex(bean, va, field, errors2); fail(); } catch (ValidatorException e) { // OK assertEquals(new RuntimeException().getMessage(), e.getMessage()); } } /** * testValidateArraysIndex14() <br> * <br> * () <br> * G <br> * <br> * () bean:JavaBean<br> * String[] array = {};<br> * () va:methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, * jp.terasoluna.fw.validation.ValidationErrors"<br> * name="requiredArray"<br> * () field:null<br> * ??????????<br> * () errors:not null<br> * <br> * () :ValidatorException<br> * null<br> * () :<br> * null<br> * NullPointerException<br> * <br> * ??ValidatorException?InvocationTargetException?????? ValidatorException?????? <br> * @throws Exception ????? */ @Test public void testValidateArraysIndex14() throws Exception { // ?? // JavaBean FieldChecks_JavaBeanStub01 bean = new FieldChecks_JavaBeanStub01(); bean.setArray(new String[] {}); // ValidatorAction va.setMethodParams("java.lang.Object," + "org.apache.commons.validator.ValidatorAction," + "org.apache.commons.validator.Field," + "jp.terasoluna.fw.validation.ValidationErrors"); va.setName("requiredArray"); // Field field = null; // // try { new FieldChecks().validateArraysIndex(bean, va, field, errors); fail(); } catch (ValidatorException e) { // OK assertNull(e.getMessage()); assertThat(logger.getLoggingEvents().get(0).getMessage(), is(equalTo("null"))); assertThat(logger.getLoggingEvents().get(0).getThrowable().get(), instanceOf(NullPointerException.class)); } } }