package org.springmodules.validation.valang.functions; import java.util.HashMap; import java.util.Map; import junit.framework.TestCase; import org.springframework.beans.BeanWrapper; import org.springframework.beans.BeanWrapperImpl; /** * @author Steven Devijver * @since 29-04-2005 */ public class BeanPropertyFunctionTests extends TestCase { public BeanPropertyFunctionTests() { super(); } public BeanPropertyFunctionTests(String arg0) { super(arg0); } public class Customer { private String name = null; public Customer() { super(); } public Customer(String name) { this(); setName(name); } public String getName() { return this.name; } public void setName(String name) { this.name = name; } } public void test1() { BeanPropertyFunction f = new BeanPropertyFunction("name"); assertEquals("Steven", f.getResult(new Customer("Steven"))); } public void test2() { BeanPropertyFunction f = new BeanPropertyFunction("name"); BeanWrapper bw = new BeanWrapperImpl(new Customer("Steven")); assertEquals("Steven", f.getResult(bw)); } public void test3() { BeanPropertyFunction f = new BeanPropertyFunction("customer.address.city"); Map address = new HashMap(); address.put("city", "Antwerpen"); Map customer = new HashMap(); customer.put("address", address); Map target = new HashMap(); target.put("customer", customer); assertEquals("Antwerpen", f.getResult(target)); } public void test4() { BeanPropertyFunction f = new BeanPropertyFunction("test.customer.name"); Map test = new HashMap(); test.put("customer", new Customer("Steven")); Map target = new HashMap(); target.put("test", test); assertEquals("Steven", f.getResult(target)); } public void test5() { LengthOfFunction f = new LengthOfFunction( new Function[]{ new BeanPropertyFunction("test.customer.name") }, 0, 2 ); Map test = new HashMap(); test.put("customer", new Customer("Uri")); Map target = new HashMap(); target.put("test", test); assertEquals(new Integer(3), f.getResult(target)); } public void test6() { BeanPropertyFunction f = new BeanPropertyFunction("this"); Customer customer = new Customer("Uri"); Object result = f.getResult(customer); assertEquals(customer, result); } public void test7() { BeanPropertyFunction f = new BeanPropertyFunction("this.name"); Customer customer = new Customer("Uri"); Object result = f.getResult(customer); assertEquals("Uri", result); } public void test8() { BeanPropertyFunction f = new BeanPropertyFunction("this.test.customer.name"); Map test = new HashMap(); test.put("customer", new Customer("Steven")); Map target = new HashMap(); target.put("test", test); assertEquals("Steven", f.getResult(target)); } }