1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.betwixt.expression;
19
20 import java.lang.reflect.Method;
21
22 import junit.framework.Test;
23 import junit.framework.TestSuite;
24
25 import org.apache.commons.betwixt.AbstractTestCase;
26
27
28
29
30
31
32 public class TestUpdaters extends AbstractTestCase {
33
34 public static Test suite() {
35 return new TestSuite(TestUpdaters.class);
36 }
37
38 public TestUpdaters(String testName) {
39 super(testName);
40 }
41
42 public void testMapUpdate() throws Exception {
43 Class[] params = { String.class, String.class } ;
44 Method method = AdderBean.class.getMethod("add", params);
45 MapEntryAdder adder = new MapEntryAdder(method);
46
47 AdderBean bean = new AdderBean();
48 bean.add("UNSET", "UNSET");
49
50 Updater keyUpdater = adder.getKeyUpdater();
51 Updater valueUpdater = adder.getValueUpdater();
52
53 Context context = new Context();
54 context.setBean(bean);
55
56 keyUpdater.update(context, "key");
57 valueUpdater.update(context, "value");
58
59 assertEquals("AdderBean not updated (1)", "key", bean.getKey());
60 assertEquals("AdderBean not updated (2)", "value", bean.getValue());
61
62 keyUpdater.update(context, "new-key");
63 valueUpdater.update(context, "new-value");
64
65 assertEquals("AdderBean not updated (1)", "new-key", bean.getKey());
66 assertEquals("AdderBean not updated (2)", "new-value", bean.getValue());
67
68 }
69 }
70