package org.mvel2.util;
import junit.framework.TestCase;
import org.mvel2.MVEL;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class FastListTest extends TestCase {
protected Map<String, Object> map = new HashMap<String, Object>();
public FastListTest() {
map.put("var0", "var0");
}
public void testHashCode() {
List list = (List) parseDirect("[ 'key1', var0 ]");
System.out.println(list.hashCode());
}
public void testEquals() {
List list1 = (List) parseDirect("[ 'key1', var0 ]");
List list2 = new ArrayList();
list2.add("key1");
list2.add("var0");
assertEquals(list2, list1);
assertEquals(list1, list2);
}
public Object parseDirect(String ex) {
return compiledExecute(ex);
}
public Object compiledExecute(String ex) {
Serializable compiled = MVEL.compileExpression(ex);
Object first = MVEL.executeExpression(compiled, null, map);
Object second = MVEL.executeExpression(compiled, null, map);
if (first != null && !first.getClass().isArray())
assertEquals(first, second);
return second;
}
}