/
BeanCopyTest.java
70 lines (56 loc) · 3.06 KB
/
BeanCopyTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package com.alibaba.tamper;
import java.math.BigDecimal;
import junit.framework.TestCase;
import org.junit.Test;
import com.alibaba.tamper.object.NestedSrcMappingObject;
import com.alibaba.tamper.object.NestedTargetMappingObject;
import com.alibaba.tamper.object.SrcMappingObject;
import com.alibaba.tamper.object.TargetMappingObject;
/**
* bean copy的相关测试
*
* @author jianghang 2011-5-29 上午01:08:46
*/
public class BeanCopyTest extends TestCase {
public BeanCopy srcCopyer = BeanCopy.create(SrcMappingObject.class, TargetMappingObject.class);
public BeanCopy targetCopyer = BeanCopy.create(TargetMappingObject.class, SrcMappingObject.class);
public BeanCopy nestedSrcCopyer = BeanCopy.create(NestedSrcMappingObject.class, NestedTargetMappingObject.class);
public BeanCopy nestedTargetCopyer = BeanCopy.create(NestedTargetMappingObject.class, NestedSrcMappingObject.class);
@Test
public void testCopy_ok() {
SrcMappingObject srcRef = new SrcMappingObject();
srcRef.setIntegerValue(1);
srcRef.setIntValue(1);
srcRef.setName("ljh");
srcRef.setStart(true);
// NestedSrcMappingObject nestedSrcRef = new NestedSrcMappingObject();
// nestedSrcRef.setBigDecimalValue(BigDecimal.ONE);
// srcRef.setMapping(nestedSrcRef);
TargetMappingObject targetRef = new TargetMappingObject();// 测试一下mapping到一个Object对象
srcCopyer.copy(srcRef, targetRef);
assertEquals(targetRef.getIntegerValue(), srcRef.getIntegerValue());
assertEquals(targetRef.getIntValue(), srcRef.getIntValue());
assertNull(targetRef.getTargetName());// 为null,因为属性不匹配
assertEquals(targetRef.isStart(), srcRef.isStart());
SrcMappingObject newSrcRef = new SrcMappingObject();// 反过来再mapping一次
targetCopyer.copy(targetRef, newSrcRef);
assertEquals(newSrcRef.getIntegerValue(), targetRef.getIntegerValue());
assertEquals(newSrcRef.getIntValue(), targetRef.getIntValue());
assertNull(newSrcRef.getName());// 为null,因为属性不匹配
assertEquals(newSrcRef.isStart(), targetRef.isStart());
}
@Test
public void testSimpleCopy_ok() {
NestedSrcMappingObject nestedSrcRef = new NestedSrcMappingObject();
nestedSrcRef.setBigDecimalValue(BigDecimal.ONE);
nestedSrcRef.setName("ljh");
NestedTargetMappingObject nestedTargetRef = new NestedTargetMappingObject();// 测试一下mapping到一个Object对象
nestedSrcCopyer.copy(nestedSrcRef, nestedTargetRef);
assertNull(nestedTargetRef.getValue());// 属性不同,类型也不同
assertEquals(nestedTargetRef.getName(), nestedSrcRef.getName());
NestedSrcMappingObject newNestedSrcRef = new NestedSrcMappingObject();// 反过来再mapping一次
nestedTargetCopyer.copy(nestedTargetRef, newNestedSrcRef);
assertNull(newNestedSrcRef.getBigDecimalValue());// 属性不同,类型也不同
assertEquals(newNestedSrcRef.getName(), nestedTargetRef.getName());
}
}