package com.alibaba.tamper.script; import java.util.HashMap; import java.util.Map; import junit.framework.Assert; import junit.framework.TestCase; import org.junit.Before; import org.junit.Test; import com.alibaba.tamper.BeanMappingUtil; import com.alibaba.tamper.TestUtils; import com.alibaba.tamper.core.config.BeanMappingConfigHelper; import com.alibaba.tamper.core.config.BeanMappingConfigRespository; import com.alibaba.tamper.object.SrcMappingObject; /** * 测试下script配置 * * @author jianghang 2011-5-31 下午09:33:57 */ public class ScriptTest extends TestCase { @Before public void setUp() { try { // 清空下repository下的数据 TestUtils.setField(BeanMappingConfigHelper.getInstance(), "repository", new BeanMappingConfigRespository()); BeanMappingConfigHelper.getInstance().registerConfig("mapping/script-mapping.xml"); } catch (Exception e) { Assert.fail(); } } @Test public void testScript_Ok() { // 测试下简单的script, 比如src.xxx。替代正常的srcName SrcMappingObject srcRef = new SrcMappingObject(); srcRef.setIntegerValue(1); srcRef.setIntValue(1); srcRef.setName("name"); srcRef.setStart(true); Map targetRef = new HashMap();// 测试一下mapping到一个Object对象 BeanMappingUtil.mapping(srcRef, targetRef); assertEquals(2, targetRef.get("intValue")); assertEquals(1, targetRef.get("integerValue")); assertEquals(srcRef.getName(), targetRef.get("name")); assertEquals(srcRef.isStart(), targetRef.get("start")); // 反过来测试一下 SrcMappingObject newSrcRef = new SrcMappingObject(); BeanMappingUtil.mapping(targetRef, newSrcRef); assertEquals(3, newSrcRef.getIntValue()); assertEquals(Integer.valueOf("1"), newSrcRef.getIntegerValue()); assertEquals(newSrcRef.getName(), targetRef.get("name")); assertEquals(newSrcRef.isStart(), targetRef.get("start")); } @Test public void testScript_value_null() { // 测试下简单的script, 比如src.xxx。替代正常的srcName SrcMappingObject srcRef = new SrcMappingObject(); srcRef.setIntegerValue(null);// 设置为null值 srcRef.setIntValue(1); srcRef.setName("name"); srcRef.setStart(true); Map targetRef = new HashMap();// 测试一下mapping到一个Object对象 BeanMappingUtil.mapping(srcRef, targetRef); assertEquals(2, targetRef.get("intValue")); assertEquals(1, targetRef.get("integerValue"));// 这里为默认值1 assertEquals(srcRef.getName(), targetRef.get("name")); assertEquals(srcRef.isStart(), targetRef.get("start")); // 反过来测试一下 SrcMappingObject newSrcRef = new SrcMappingObject(); BeanMappingUtil.mapping(targetRef, newSrcRef); assertEquals(3, newSrcRef.getIntValue()); assertEquals(Integer.valueOf(1), newSrcRef.getIntegerValue());// 这里为默认值1 assertEquals(newSrcRef.getName(), targetRef.get("name")); assertEquals(newSrcRef.isStart(), targetRef.get("start")); } }