use of com.googlecode.aviator.runtime.type.AviatorObject in project aviatorscript by killme2008.
the class SeqFilterFunctionUnitTest method testFilter_Collection.
@Test
public void testFilter_Collection() {
final List<String> strs = new LinkedList<String>();
for (int i = 0; i < 10; i++) {
strs.add("hello" + i);
}
SeqPredicateFunction predicate = new SeqPredicateFunction("eq_temp_1", OperatorType.EQ, new AviatorString("hello1"));
Map<String, Object> env = new HashMap<String, Object>();
env.putAll(AviatorEvaluator.FUNC_MAP);
env.put("eq_temp_1", predicate);
SeqFilterFunction fun = new SeqFilterFunction();
AviatorObject result = fun.call(env, AviatorRuntimeJavaType.valueOf(strs), new AviatorJavaType("eq_temp_1"));
LinkedList list = (LinkedList) result.getValue(null);
assertEquals(1, list.size());
for (Object i : list) {
assertEquals("hello1", i);
}
}
use of com.googlecode.aviator.runtime.type.AviatorObject in project aviatorscript by killme2008.
the class SeqFilterFunctionUnitTest method testFilter_Array.
@Test
public void testFilter_Array() {
final String[] strs = new String[10];
for (int i = 0; i < strs.length; i++) {
strs[i] = "hello" + i;
}
SeqPredicateFunction predicate = new SeqPredicateFunction("eq_temp_1", OperatorType.EQ, new AviatorString("hello1"));
Map<String, Object> env = new HashMap<String, Object>();
env.putAll(AviatorEvaluator.FUNC_MAP);
env.put("eq_temp_1", predicate);
SeqFilterFunction fun = new SeqFilterFunction();
AviatorObject result = fun.call(env, AviatorRuntimeJavaType.valueOf(strs), new AviatorJavaType("eq_temp_1"));
Object[] array = (Object[]) result.getValue(null);
assertEquals(1, array.length);
for (Object i : array) {
assertEquals("hello1", i);
}
}
use of com.googlecode.aviator.runtime.type.AviatorObject in project aviatorscript by killme2008.
the class SeqIncludeFunctionUnitTest method testInclude_HashSet.
@Test
public void testInclude_HashSet() {
Set<Integer> a = new HashSet<Integer>();
a.add(1);
a.add(-100);
a.add(null);
AviatorObject arg1 = AviatorRuntimeJavaType.valueOf(a);
SeqIncludeFunction fun = new SeqIncludeFunction();
AviatorObject result = fun.call(null, arg1, AviatorRuntimeJavaType.valueOf(-100));
assertTrue(result.booleanValue(null));
// contains null Object
result = fun.call(null, arg1, AviatorRuntimeJavaType.valueOf(null));
assertTrue(result.booleanValue(null));
result = fun.call(null, arg1, AviatorNil.NIL);
assertTrue(result.booleanValue(null));
// not match
result = fun.call(null, arg1, AviatorRuntimeJavaType.valueOf(1000));
assertFalse(result.booleanValue(null));
}
use of com.googlecode.aviator.runtime.type.AviatorObject in project aviatorscript by killme2008.
the class SeqMakePredicateFunctionUnitTest method testMakePredicate_FixedValue.
@Test
public void testMakePredicate_FixedValue() {
SeqMakePredicateFunFunction fun = new SeqMakePredicateFunFunction("eq", OperatorType.EQ, AviatorRuntimeJavaType.valueOf("hello"));
Map<String, Object> env = new HashMap<String, Object>();
AviatorObject predicateName = fun.call(env);
assertNotNull(predicateName);
AviatorFunction predicate = (AviatorFunction) predicateName.getValue(env);
assertNotNull(predicate);
AviatorObject result = predicate.call(null, AviatorRuntimeJavaType.valueOf("hello"));
// equals self
assertTrue(result.booleanValue(null));
result = predicate.call(null, AviatorRuntimeJavaType.valueOf("he11o"));
// equals self
assertFalse(result.booleanValue(null));
}
use of com.googlecode.aviator.runtime.type.AviatorObject in project aviatorscript by killme2008.
the class SeqMapFunctionUnitTest method testMap_Array.
@Test
public void testMap_Array() {
final String[] strs = new String[10];
for (int i = 0; i < strs.length; i++) {
strs[i] = "hello";
}
SeqMapFunction fun = new SeqMapFunction();
AviatorObject result = fun.call(AviatorEvaluator.FUNC_MAP, AviatorRuntimeJavaType.valueOf(strs), new AviatorJavaType("string.length"));
Object[] array = (Object[]) result.getValue(null);
for (Object i : array) {
assertEquals(5, i);
}
}
Aggregations