1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.supercsv.util;
17
18 import static org.junit.Assert.assertEquals;
19 import static org.junit.Assert.assertNotNull;
20 import static org.junit.Assert.assertNull;
21
22 import org.junit.Before;
23 import org.junit.Test;
24
25
26
27
28
29
30 public class BeanInterfaceProxyTest {
31
32 private TestInterface testInterface;
33
34
35
36
37 @Before
38 public void setUp() {
39 testInterface = BeanInterfaceProxy.createProxy(TestInterface.class);
40 }
41
42
43
44
45 @Test
46 public void testProxy() {
47
48 assertNull(testInterface.getValue());
49
50
51 String value = "value";
52 testInterface.setValue(value);
53
54
55 assertEquals(value, testInterface.getValue());
56
57
58 testInterface.setValue(null);
59
60
61 assertNull(testInterface.getValue());
62 }
63
64
65
66
67 @Test
68 public void testChainedSetters() {
69
70 assertNull(testInterface.getValue());
71
72
73 String value = "value";
74 String value2 = "value2";
75 testInterface.setValue(value).setValue2(value2);
76
77
78 assertEquals(value, testInterface.getValue());
79 assertEquals(value2, testInterface.getValue2());
80 }
81
82
83
84
85 @Test(expected = NullPointerException.class)
86 public void testCreateProxyWithNull() {
87 BeanInterfaceProxy.createProxy(null);
88 }
89
90
91
92
93 @Test(expected = IllegalArgumentException.class)
94 public void testNotGetterOrSetter() {
95 testInterface.isValueSet();
96 }
97
98
99
100
101 @Test(expected = IllegalArgumentException.class)
102 public void testGetterWithParam() {
103 testInterface.getWithParam("param");
104 }
105
106
107
108
109 @Test(expected = IllegalArgumentException.class)
110 public void testMultiParamSetter() {
111 testInterface.setManyValues("value1", "value2");
112 }
113
114
115
116
117 @Test(expected = IllegalArgumentException.class)
118 public void testSetterWithNoParams() {
119 testInterface.setNothing();
120 }
121
122
123
124
125
126 @Test
127 public void testGetClass() {
128 assertNotNull(testInterface.getClass());
129
130 }
131
132
133
134
135 private interface TestInterface {
136
137 public TestInterface setValue(String value);
138
139 public void setValue2(String value);
140
141 public String getValue();
142
143 public String getValue2();
144
145 public String getWithParam(String value1);
146
147 public void setManyValues(String value1, String value2);
148
149 public void setNothing();
150
151 public boolean isValueSet();
152
153 }
154
155 }