1 /*
2 * Replica is published under the terms
3 * of the Apache Software License.
4 */
5 package replica.command;
6
7 import java.util.Hashtable;
8
9 import junit.framework.TestCase;
10
11 /***
12 *
13 * @author Pedro Costa
14 * @author Helder Silva
15 * @since 18/Jan/2004
16 */
17 public class HashtableMappingsTest extends TestCase {
18
19 /***
20 * Constructor for HashtableMappingsTest.
21 * @param name
22 */
23 public HashtableMappingsTest(String name) {
24 super(name);
25 }
26
27 /*
28 * Test for void addMapping(String, Class)
29 */
30 public void testAddMappingStringClass() {
31 HashtableMappings mapp = new HashtableMappings();
32
33 mapp.addMapping("select", String.class.getName());
34
35 assertEquals( String.class, mapp.getMappedClass("select"));
36 }
37
38 /*
39 * Test for void addMapping(String, Class, Hashtable)
40 */
41 public void testAddMappingStringClassHashtable() {
42
43 HashtableMappings mapp = new HashtableMappings();
44
45 Hashtable params = new Hashtable();
46 params.put("prop1","value");
47 params.put("prop2","10");
48
49 mapp.addMapping( "select", MockCommand.class.getName(), params);
50
51 assertEquals( MockCommand.class, mapp.getMappedClass("select"));
52
53 Hashtable retParams = mapp.initParameters.getParameters(MockCommand.class.getName());
54
55 assertEquals( 2, retParams.size() );
56 assertEquals( "value", retParams.get("prop1") );
57 assertEquals( "10", retParams.get("prop2") );
58 }
59
60 /*
61 * Test for void addMapping(String, Class, String[], Object[])
62 */
63 public void testAddMappingStringClassStringArrayObjectArray() {
64
65 HashtableMappings mapp = new HashtableMappings();
66
67 String[] paramNames = {"prop1", "prop2"};
68 Object[] paramValues = {"value", "20"};
69
70 mapp.addMapping( "select", MockCommand.class.getName(), paramNames, paramValues);
71
72 assertEquals( MockCommand.class, mapp.getMappedClass("select"));
73
74 Hashtable retParams = mapp.initParameters.getParameters(MockCommand.class.getName());
75
76 assertEquals( 2, retParams.size() );
77 assertEquals( "value", retParams.get("prop1") );
78 assertEquals( "20", retParams.get("prop2") );
79 }
80
81 public void testGetNewCommand() {
82
83 HashtableMappings mapp = new HashtableMappings();
84
85 Hashtable params = new Hashtable();
86 params.put("prop1","value");
87 params.put("prop2","10");
88
89 mapp.addMapping( "select", MockCommand.class.getName(), params);
90
91 Command c = mapp.getNewCommand("select");
92
93 assertNotNull( c );
94
95 assertEquals( MockCommand.class, c.getClass() );
96
97 assertEquals( "value", ((MockCommand)c).getProp1() );
98 assertEquals( 10, ((MockCommand)c).getProp2() );
99 }
100
101 public void testAddMappingsForClass() {
102
103 HashtableMappings mapp = new HashtableMappings();
104
105 Hashtable params = new Hashtable();
106 params.put("prop1","value");
107 params.put("prop2","10");
108
109 mapp.addMappingsForClass(MockCommand.class.getName(), params, new String[]{"select","update"});
110
111 assertEquals( 2, mapp.classMapping.size() );
112
113 assertEquals( MockCommand.class, mapp.getMappedClass("select") );
114 assertEquals( MockCommand.class, mapp.getMappedClass("update") );
115
116 MockCommand c = (MockCommand)mapp.getNewCommand("select");
117
118 assertNotNull( c );
119
120 assertEquals( "value", c.getProp1() );
121 assertEquals( 10, c.getProp2() );
122 }
123 }
This page was automatically generated by Maven