01: package org.mvel.util;
02:
03: import junit.framework.TestCase;
04: import org.mvel.MVEL;
05:
06: import java.io.Serializable;
07: import java.util.ArrayList;
08: import java.util.HashMap;
09: import java.util.List;
10: import java.util.Map;
11:
12: public class FastListTest extends TestCase {
13: protected Map<String, Object> map = new HashMap<String, Object>();
14:
15: public FastListTest() {
16: map.put("var0", "var0");
17: }
18:
19: public void testHashCode() {
20: List list = (List) parseDirect("[ 'key1', var0 ]");
21: System.out.println(list.hashCode());
22: }
23:
24: public void testEquals() {
25: List list1 = (List) parseDirect("[ 'key1', var0 ]");
26: List list2 = new ArrayList();
27: list2.add("key1");
28: list2.add("var0");
29: assertEquals(list2, list1);
30: assertEquals(list1, list2);
31: }
32:
33: public Object parseDirect(String ex) {
34: return compiledExecute(ex);
35: }
36:
37: public Object compiledExecute(String ex) {
38: Serializable compiled = MVEL.compileExpression(ex);
39: Object first = MVEL.executeExpression(compiled, null, map);
40: Object second = MVEL.executeExpression(compiled, null, map);
41:
42: if (first != null && !first.getClass().isArray())
43: assertEquals(first, second);
44:
45: return second;
46: }
47: }
|