package com.googlecode.aviator.runtime.function.seq; import static org.junit.Assert.*; import java.util.HashSet; import java.util.Set; import org.junit.Test; import com.googlecode.aviator.runtime.type.AviatorNil; import com.googlecode.aviator.runtime.type.AviatorObject; import com.googlecode.aviator.runtime.type.AviatorRuntimeJavaType; public class SeqIncludeFunctionUnitTest { @Test public void testInclude_Array() { Integer[] a = new Integer[3]; a[0] = 1; a[1] = -100; SeqIncludeFunction fun = new SeqIncludeFunction(); final AviatorRuntimeJavaType arg1 = new AviatorRuntimeJavaType(a); AviatorObject result = fun.call(null, arg1, new AviatorRuntimeJavaType(-100)); assertTrue(result.booleanValue(null)); // contains null Object result = fun.call(null, arg1, AviatorNil.NIL); assertTrue(result.booleanValue(null)); // not match result = fun.call(null, arg1, new AviatorRuntimeJavaType(1000)); assertFalse(result.booleanValue(null)); } @Test public void testInclude_HashSet() { Set<Integer> a = new HashSet<Integer>(); a.add(1); a.add(-100); a.add(null); AviatorObject arg1 = new AviatorRuntimeJavaType(a); SeqIncludeFunction fun = new SeqIncludeFunction(); AviatorObject result = fun.call(null, arg1, new AviatorRuntimeJavaType(-100)); assertTrue(result.booleanValue(null)); // contains null Object result = fun.call(null, arg1, new AviatorRuntimeJavaType(null)); assertTrue(result.booleanValue(null)); result = fun.call(null, arg1, AviatorNil.NIL); assertTrue(result.booleanValue(null)); // not match result = fun.call(null, arg1, new AviatorRuntimeJavaType(1000)); assertFalse(result.booleanValue(null)); } @Test(expected = IllegalArgumentException.class) public void testInclude_String() { SeqIncludeFunction fun = new SeqIncludeFunction(); AviatorObject result = fun.call(null, new AviatorRuntimeJavaType("hello"), new AviatorRuntimeJavaType("h")); } }