Package com.googlecode.aviator.runtime.function.seq

Source Code of com.googlecode.aviator.runtime.function.seq.SeqPredicateFunctionUnitTest

package com.googlecode.aviator.runtime.function.seq;

import static org.junit.Assert.*;

import org.junit.Test;

import com.googlecode.aviator.exception.ExpressionRuntimeException;
import com.googlecode.aviator.lexer.token.OperatorType;
import com.googlecode.aviator.runtime.type.AviatorObject;
import com.googlecode.aviator.runtime.type.AviatorRuntimeJavaType;


public class SeqPredicateFunctionUnitTest {

    @Test
    public void testPredicate_eq() {
        SeqPredicateFunction fun = new SeqPredicateFunction("eq", OperatorType.EQ, new AviatorRuntimeJavaType("hello"));

        AviatorObject args[] = new AviatorObject[1];
        args[0] = new AviatorRuntimeJavaType("hello");
        AviatorObject result = fun.call(null, args);
        assertTrue(result.booleanValue(null));

        args[0] = new AviatorRuntimeJavaType("he1lo");
        result = fun.call(null, args);
        assertFalse(result.booleanValue(null));
    }


    @Test
    public void testPredicate_neq() {
        SeqPredicateFunction fun =
                new SeqPredicateFunction("neq", OperatorType.NEQ, new AviatorRuntimeJavaType("hello"));

        AviatorObject args[] = new AviatorObject[1];
        args[0] = new AviatorRuntimeJavaType("hello");
        AviatorObject result = fun.call(null, args);
        assertFalse(result.booleanValue(null));

        args[0] = new AviatorRuntimeJavaType("he1lo");
        result = fun.call(null, args);
        assertTrue(result.booleanValue(null));
    }


    @Test
    public void testPredicate_gt() {
        SeqPredicateFunction fun = new SeqPredicateFunction("gt", OperatorType.GT, new AviatorRuntimeJavaType("hello"));

        AviatorObject args[] = new AviatorObject[1];
        args[0] = new AviatorRuntimeJavaType("hello");
        AviatorObject result = fun.call(null, args);
        assertFalse(result.booleanValue(null));

        args[0] = new AviatorRuntimeJavaType("iello");
        result = fun.call(null, args);
        assertTrue(result.booleanValue(null));
    }


    @Test
    public void testPredicate_ge() {
        SeqPredicateFunction fun = new SeqPredicateFunction("ge", OperatorType.GE, new AviatorRuntimeJavaType("hello"));

        AviatorObject args[] = new AviatorObject[1];
        args[0] = new AviatorRuntimeJavaType("hello");
        AviatorObject result = fun.call(null, args);
        assertTrue(result.booleanValue(null));

        args[0] = new AviatorRuntimeJavaType("iello");
        result = fun.call(null, args);
        assertTrue(result.booleanValue(null));

        args[0] = new AviatorRuntimeJavaType("aello");
        result = fun.call(null, args);
        assertFalse(result.booleanValue(null));
    }


    @Test
    public void testPredicate_lt() {
        SeqPredicateFunction fun = new SeqPredicateFunction("lt", OperatorType.LT, new AviatorRuntimeJavaType("hello"));

        AviatorObject args[] = new AviatorObject[1];
        args[0] = new AviatorRuntimeJavaType("hello");
        AviatorObject result = fun.call(null, args);
        assertFalse(result.booleanValue(null));

        args[0] = new AviatorRuntimeJavaType("ae1lo");
        result = fun.call(null, args);
        assertTrue(result.booleanValue(null));
    }


    @Test
    public void testPredicate_le() {
        SeqPredicateFunction fun = new SeqPredicateFunction("le", OperatorType.LE, new AviatorRuntimeJavaType("hello"));

        AviatorObject args[] = new AviatorObject[1];
        args[0] = new AviatorRuntimeJavaType("hello");
        AviatorObject result = fun.call(null, args);
        assertTrue(result.booleanValue(null));

        args[0] = new AviatorRuntimeJavaType("ae1lo");
        result = fun.call(null, args);
        assertTrue(result.booleanValue(null));

        args[0] = new AviatorRuntimeJavaType("ie1lo");
        result = fun.call(null, args);
        assertFalse(result.booleanValue(null));

    }


    @Test(expected = IllegalArgumentException.class)
    public void testPredicate_IllegalArguments() {
        SeqPredicateFunction fun = new SeqPredicateFunction("le", OperatorType.LE, new AviatorRuntimeJavaType("hello"));

        AviatorObject args[] = new AviatorObject[2];
        args[0] = new AviatorRuntimeJavaType("hello");
        AviatorObject result = fun.call(null, args);

    }


    @Test(expected = ExpressionRuntimeException.class)
    public void testPredicate_IllegalOperator() {
        SeqPredicateFunction fun =
                new SeqPredicateFunction("and", OperatorType.AND, new AviatorRuntimeJavaType("hello"));

        AviatorObject args[] = new AviatorObject[1];
        args[0] = new AviatorRuntimeJavaType("hello");
        AviatorObject result = fun.call(null, args);
    }
}
TOP

Related Classes of com.googlecode.aviator.runtime.function.seq.SeqPredicateFunctionUnitTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.