Package org.apache.imperius.spl.tests

Source Code of org.apache.imperius.spl.tests.CollectionExpressionsTest

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.  You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied.  See the License for the
* specific language governing permissions and limitations
* under the License. 
*/
//

/**
* @author Prashant Baliga <prabalig@in.ibm.com>
*
*/

package org.apache.imperius.spl.tests;

import java.util.List;
import java.util.Vector;

import junit.extensions.TestSetup;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

import org.apache.imperius.spl.core.Expression;
import org.apache.imperius.spl.parser.exceptions.SPLException;
import org.apache.imperius.spl.parser.expression.primary.BasicCollectionExpression;
import org.apache.imperius.spl.parser.expressions.impl.AllInCollection;
import org.apache.imperius.spl.parser.expressions.impl.AnyInCollection;
import org.apache.imperius.spl.parser.expressions.impl.ApplyToCollection;
import org.apache.imperius.spl.parser.expressions.impl.AvrgInCollection;
import org.apache.imperius.spl.parser.expressions.impl.BooleanConstant;
import org.apache.imperius.spl.parser.expressions.impl.ByteConstant;
import org.apache.imperius.spl.parser.expressions.impl.CollectionSize;
import org.apache.imperius.spl.parser.expressions.impl.EqCollections;
import org.apache.imperius.spl.parser.expressions.impl.FloatConstant;
import org.apache.imperius.spl.parser.expressions.impl.InCollection;
import org.apache.imperius.spl.parser.expressions.impl.MaxInCollection;
import org.apache.imperius.spl.parser.expressions.impl.MedianInCollection;
import org.apache.imperius.spl.parser.expressions.impl.MinInCollection;
import org.apache.imperius.spl.parser.expressions.impl.SdInCollection;
import org.apache.imperius.spl.parser.expressions.impl.StringConstant;
import org.apache.imperius.spl.parser.expressions.impl.SubCollection;
import org.apache.imperius.spl.parser.expressions.impl.Sum;
import org.apache.imperius.spl.parser.expressions.impl.Union;




public class CollectionExpressionsTest  extends TestCase
{
 
    static final String CMVC_ID_NumericExpressionTest = "$Header: /cvsroot/cimsplpegasus/trunk/modules/imperius-splcore/src/com/ibm/ac/spl/tests/CollectionExpressionsTest.java,v 1.2 2007/12/20 13:07:37 prabalig Exp $";
    static final String VERSION_NumericExpressionTest = "File version $Revision: 1.2 $, last changed $Date: 2007/12/20 13:07:37 $";
//    private static Logger logger = SPLLogger.getCIMSPLLogger().getLogger();
 
   
    static Expression propertySensor1 =null;
    //new ConstantExpression("propertySensor1");
static Expression propertySensor2 =null;
    //new PropertySensor("propertySensor2");
static  Expression propertySensor3 =null;
    //new PropertySensor("propertySensor3");
static  Expression propertySensor4 =null;
    //new PropertySensor("propertySensor4");
static  Expression propertySensor5 =null;
    //new PropertySensor("propertySensor5");
static  Expression propertySensor6 =null;
    //new PropertySensor("propertySensor6");
static  Expression propertySensor7 =null;
    //new PropertySensor("propertySensor7");
static  Expression propertySensor8 =null;
    //new PropertySensor("propertySensor8");
static  Expression propertySensor9 =null;
    //new PropertySensor("propertySensor9");
static  Expression propertySensor10 =null;
    //new PropertySensor("propertySensor10");
    public CollectionExpressionsTest(String arg0) {
        super(arg0);
    }

    public static Test suite() {
        TestSuite suite = new TestSuite(CollectionExpressionsTest.class);
        TestSetup wrapper = new TestSetup(suite) {

            protected void setUp() throws Exception {
                oneTimeSetUp();
            }

            protected void tearDown() throws Exception {
                oneTimeTearDown();
            }
        };
        return wrapper;
    }

    public static void main(String[] args) {
        junit.textui.TestRunner.run(suite());
    }

    protected static void oneTimeSetUp() throws Exception {
    }

    protected static void oneTimeTearDown() throws Exception {

    }

    public void testAllInCollection() {
      propertySensor1 = new ByteConstant((byte)1);
      propertySensor2 = new ByteConstant((byte)2);
      propertySensor3 = new ByteConstant((byte)3);
      propertySensor4 = new ByteConstant((byte)4);
      propertySensor5 = new ByteConstant((byte)5);
      propertySensor6 = new ByteConstant((byte)6);
      propertySensor7 = new ByteConstant((byte)7);
      propertySensor8 = new ByteConstant((byte)8);
     
      StringConstant stringLOR = new StringConstant("\"OR\"");
      StringConstant stringLAND = new StringConstant("\"AND\"");
      StringConstant stringBXOR = new StringConstant("\"XOR\"");
      StringConstant stringNOT_EQUAL = new StringConstant("\"NOT_EQUAL\"");
      StringConstant stringEQUAL = new StringConstant("\"EQUAL\"");
      StringConstant stringLT = new StringConstant("\"LESS\"");
      StringConstant stringGT = new StringConstant("\"GREATER\"");
      StringConstant stringLE = new StringConstant("\"LESS_OR_EQUAL\"");
      StringConstant stringGE = new StringConstant("\"GREATER_OR_EQUAL\"");
     
     
   
   
     
        try {
            Vector v = new Vector();
            Vector vbytes = new Vector();
           
            vbytes.add(propertySensor1);
            vbytes.add(propertySensor2);
            vbytes.add(propertySensor3);
            vbytes.add(propertySensor4);
            vbytes.add(propertySensor5);
            vbytes.add(propertySensor6);
            vbytes.add(propertySensor7);
            vbytes.add(propertySensor8);
           
            Expression collection = new BasicCollectionExpression(vbytes,null);
           
            v.add(new ByteConstant((byte)0));
            v.add(stringGT);
            v.add(collection);
            Expression es1 = new AllInCollection(v,true);
            v.clear();
           
            v.add(new ByteConstant((byte)10));
            v.add(stringLT);
            v.add(collection);
            Expression es2 = new AllInCollection(v,true);
            v.clear();
           
            v.add(new ByteConstant((byte)8));
            v.add(stringLE);
            v.add(collection);
            Expression es3 = new AllInCollection(v,true);
            v.clear();
           
            v.add(new ByteConstant((byte)1));
            v.add(stringGE);
            v.add(collection);
            Expression es4 = new AllInCollection(v,true);
            v.clear();
           
           


            assertTrue(((Boolean)es1.evaluate()).booleanValue());
            assertTrue(((Boolean)es2.evaluate()).booleanValue());
            assertTrue(((Boolean)es3.evaluate()).booleanValue());
            assertTrue(((Boolean)es4.evaluate()).booleanValue());
           
           
           
            propertySensor1 = new BooleanConstant(true);
          propertySensor2 = new BooleanConstant(true);
          propertySensor3 = new BooleanConstant(true);
          propertySensor4 = new BooleanConstant(true);
         
         
          vbytes.clear();
         
          vbytes.add(propertySensor1);
            vbytes.add(propertySensor2);
            vbytes.add(propertySensor3);
            vbytes.add(propertySensor4);
           
           
            collection = new BasicCollectionExpression(vbytes,null);
           
            v.add(new BooleanConstant(false));
            v.add(stringLOR);
            v.add(collection);
            Expression es5 = new AllInCollection(v,true);
            v.clear();
           
            v.add(new BooleanConstant(true));
            v.add(stringLAND);
            v.add(collection);
            Expression es6 = new AllInCollection(v,true);
            v.clear();
           
            v.add(new BooleanConstant(false));
            v.add(stringBXOR);
            v.add(collection);
            Expression es7 = new AllInCollection(v,true);
            v.clear();
           
            v.add(new BooleanConstant(false));
            v.add(stringNOT_EQUAL);
            v.add(collection);
            Expression es8 = new AllInCollection(v,true);
            v.clear();
           
            v.add(new BooleanConstant(true));
            v.add(stringEQUAL);
            v.add(collection);
            Expression es9 = new AllInCollection(v,true);
            v.clear();
           
           


            assertTrue(((Boolean)es5.evaluate()).booleanValue());
            assertTrue(((Boolean)es6.evaluate()).booleanValue());
            assertTrue(((Boolean)es7.evaluate()).booleanValue());
            assertTrue(((Boolean)es8.evaluate()).booleanValue());
            assertTrue(((Boolean)es9.evaluate()).booleanValue());
           
           
           
           
        } catch (SPLException e) {
          e.printStackTrace();
            fail("Received evaluation exception " + e.getMessage());
        } catch (Exception e) {
          e.printStackTrace();
            fail("Received expression exception " + e.getMessage());
        }
    }
   
    public void testAnyInCollection() {
      propertySensor1 = new ByteConstant((byte)1);
      propertySensor2 = new ByteConstant((byte)2);
      propertySensor3 = new ByteConstant((byte)3);
      propertySensor4 = new ByteConstant((byte)4);
      propertySensor5 = new ByteConstant((byte)5);
      propertySensor6 = new ByteConstant((byte)6);
      propertySensor7 = new ByteConstant((byte)7);
      propertySensor8 = new ByteConstant((byte)8);
     
      StringConstant stringLOR = new StringConstant("\"OR\"");
      StringConstant stringLAND = new StringConstant("\"AND\"");
      StringConstant stringBXOR = new StringConstant("\"XOR\"");
      StringConstant stringNOT_EQUAL = new StringConstant("\"NOT_EQUAL\"");
      StringConstant stringEQUAL = new StringConstant("\"EQUAL\"");
      StringConstant stringLT = new StringConstant("\"LESS\"");
      StringConstant stringGT = new StringConstant("\"GREATER\"");
      StringConstant stringLE = new StringConstant("\"LESS_OR_EQUAL\"");
      StringConstant stringGE = new StringConstant("\"GREATER_OR_EQUAL\"");
     
   

   
   
     
        try {
            Vector v = new Vector();
            Vector vbytes = new Vector();
           
            vbytes.add(propertySensor1);
            vbytes.add(propertySensor2);
            vbytes.add(propertySensor3);
            vbytes.add(propertySensor4);
            vbytes.add(propertySensor5);
            vbytes.add(propertySensor6);
            vbytes.add(propertySensor7);
            vbytes.add(propertySensor8);
           
            Expression collection = new BasicCollectionExpression(vbytes,null);
           
            v.add(new ByteConstant((byte)6));
            v.add(stringGT);
            v.add(collection);
            Expression es1 = new AnyInCollection(v,true);
            v.clear();
           
            v.add(new ByteConstant((byte)2));
            v.add(stringLT);
            v.add(collection);
            Expression es2 = new AnyInCollection(v,true);
            v.clear();
           
            v.add(new ByteConstant((byte)3));
            v.add(stringLE);
            v.add(collection);
            Expression es3 = new AnyInCollection(v,true);
            v.clear();
           
            v.add(new ByteConstant((byte)4));
            v.add(stringGE);
            v.add(collection);
            Expression es4 = new AnyInCollection(v,true);
            v.clear();
           
           


            assertTrue(((Boolean)es1.evaluate()).booleanValue());
            assertTrue(((Boolean)es2.evaluate()).booleanValue());
            assertTrue(((Boolean)es3.evaluate()).booleanValue());
            assertTrue(((Boolean)es4.evaluate()).booleanValue());
           
           
           
            propertySensor1 = new BooleanConstant(true);
          propertySensor2 = new BooleanConstant(true);
          propertySensor3 = new BooleanConstant(true);
          propertySensor4 = new BooleanConstant(true);
         
         
          vbytes.clear();
         
          vbytes.add(propertySensor1);
            vbytes.add(propertySensor2);
            vbytes.add(propertySensor3);
            vbytes.add(propertySensor4);
           
           
            collection = new BasicCollectionExpression(vbytes,null);
           
            v.add(new BooleanConstant(false));
            v.add(stringLOR);
            v.add(collection);
            Expression es5 = new AnyInCollection(v,true);
            v.clear();
           
            v.add(new BooleanConstant(true));
            v.add(stringLAND);
            v.add(collection);
            Expression es6 = new AnyInCollection(v,true);
            v.clear();
           
            v.add(new BooleanConstant(false));
            v.add(stringBXOR);
            v.add(collection);
            Expression es7 = new AnyInCollection(v,true);
            v.clear();
           
            v.add(new BooleanConstant(false));
            v.add(stringNOT_EQUAL);
            v.add(collection);
            Expression es8 = new AnyInCollection(v,true);
            v.clear();
           
            v.add(new BooleanConstant(true));
            v.add(stringEQUAL);
            v.add(collection);
            Expression es9 = new AnyInCollection(v,true);
            v.clear();
           
           


            assertTrue(((Boolean)es5.evaluate()).booleanValue());
            assertTrue(((Boolean)es6.evaluate()).booleanValue());
            assertTrue(((Boolean)es7.evaluate()).booleanValue());
            assertTrue(((Boolean)es8.evaluate()).booleanValue());
            assertTrue(((Boolean)es9.evaluate()).booleanValue());
           
           
           
           
        } catch (SPLException e) {
            fail("Received evaluation exception " + e.getMessage());
        } catch (Exception e) {
            fail("Received expression exception " + e.getMessage());
        }
    }
   
    public void testApplyToCollection() {
      propertySensor8 = new ByteConstant((byte)8);
     
      StringConstant stringPLUS = new StringConstant("\"PLUS\"");
      StringConstant stringMINUS = new StringConstant("\"MINUS\"");
      StringConstant stringSTAR = new StringConstant("\"MULTIPLY\"");
      StringConstant stringDIV = new StringConstant("\"DIVIDE\"");
   

   
   
     
        try {
            Vector v = new Vector();
            Vector vbytes = new Vector();
           
            vbytes.add(propertySensor8);
            vbytes.add(propertySensor8);
            vbytes.add(propertySensor8);
            vbytes.add(propertySensor8);
           
           
            Expression collection = new BasicCollectionExpression(vbytes,null);
           
            v.add(new ByteConstant((byte)10));
            v.add(stringPLUS);
            v.add(collection);
            Expression es1 = new ApplyToCollection(v,true);
            v.clear();
           
            v.add(new ByteConstant((byte)4));
            v.add(stringMINUS);
            v.add(collection);
            Expression es2 = new ApplyToCollection(v,true);
            v.clear();
           
            v.add(new ByteConstant((byte)2));
            v.add(stringSTAR);
            v.add(collection);
            Expression es3 = new ApplyToCollection(v,true);
            v.clear();
           
            v.add(new ByteConstant((byte)2));
            v.add(stringDIV);
            v.add(collection);
            Expression es4 = new ApplyToCollection(v,true);
            v.clear();
           
            List resultarr1=(List)es1.evaluate();
            for(int i=0;i<resultarr1.size();i++){
              //System.out.println(((Number)resultarr1.get(i)).intValue());
              assertTrue(((Number)resultarr1.get(i)).intValue()==18);

            }
           
            List resultarr2=(List)es2.evaluate();
            for(int i=0;i<resultarr2.size();i++){
              //System.out.println(((Number)resultarr2.get(i)).intValue());
              assertTrue(((Number)resultarr2.get(i)).intValue()==4);

            }
           
            List resultarr3=(List)es3.evaluate();
            for(int i=0;i<resultarr3.size();i++){
              //System.out.println(((Number)resultarr3.get(i)).intValue());
              assertTrue(((Number)resultarr3.get(i)).intValue()==16);

            }
           
            List resultarr4=(List)es4.evaluate();
            for(int i=0;i<resultarr4.size();i++){
              //System.out.println(((Number)resultarr4.get(i)).intValue());
              assertTrue(((Number)resultarr4.get(i)).intValue()==4);

            }
           
           
        } catch (SPLException e) {
          e.printStackTrace();
            fail("Received evaluation exception " + e.getMessage());
        } catch (Exception e) {
          e.printStackTrace();
            fail("Received expression exception " + e.getMessage());
        }
    }
   
    public void testAvrgInCollection() {
      propertySensor1 = new FloatConstant((float)1.11);
      propertySensor2 = new FloatConstant((float)2.22);
      propertySensor3 = new FloatConstant((float)3.33);
      propertySensor4 = new FloatConstant((float)4.44);
      propertySensor5 = new FloatConstant((float)-5.55);
      propertySensor6 = new FloatConstant((float)-6.66);
      propertySensor7 = new FloatConstant((float)-7.77);
      propertySensor8 = new FloatConstant((float)88.44);
     
     
     
        try {
            Vector v = new Vector();
            Vector vbytes = new Vector();
           
            vbytes.add(propertySensor1);
            vbytes.add(propertySensor2);
            vbytes.add(propertySensor3);
            vbytes.add(propertySensor4);
            vbytes.add(propertySensor5);
            vbytes.add(propertySensor6);
            vbytes.add(propertySensor7);
            vbytes.add(propertySensor8);
           
           
            Expression collection = new BasicCollectionExpression(vbytes,null);
           
            v.add(collection);
            Expression es1 = new AvrgInCollection(v,true);
            v.clear();
            double n=((Number)es1.evaluate()).doubleValue();
           //System.out.println(n);
            assertTrue(n>9.94 && n<9.95);

           
        } catch (SPLException e) {
            fail("Received evaluation exception " + e.getMessage());
        } catch (Exception e) {
            fail("Received expression exception " + e.getMessage());
        }
    }
   
    public void testEqCollection() {
      propertySensor1 = new FloatConstant((float)1.11);
      propertySensor2 = new FloatConstant((float)2.22);
      propertySensor3 = new FloatConstant((float)3.33);
      propertySensor4 = new FloatConstant((float)4.44);
      propertySensor5 = new FloatConstant((float)-5.55);
      propertySensor6 = new FloatConstant((float)-6.66);
      propertySensor7 = new FloatConstant((float)-7.77);
      propertySensor8 = new FloatConstant((float)88.44);
     
     
     
        try {
            Vector v = new Vector();
            Vector vbytes = new Vector();
           
            vbytes.add(propertySensor1);
            vbytes.add(propertySensor2);
            vbytes.add(propertySensor3);
            vbytes.add(propertySensor4);
            vbytes.add(propertySensor5);
            vbytes.add(propertySensor6);
            vbytes.add(propertySensor7);
            vbytes.add(propertySensor8);
           
           
            Expression collection = new BasicCollectionExpression(vbytes,null);
            Expression collection1 = new BasicCollectionExpression(vbytes,null);
           
            v.add(collection);
            v.add(collection1);
            Expression es1 = new EqCollections(v,true);
            v.clear();
            assertTrue(((Boolean)es1.evaluate()).booleanValue());

           
        } catch (SPLException e) {
            fail("Received evaluation exception " + e.getMessage());
        } catch (Exception e) {
            fail("Received expression exception " + e.getMessage());
        }
    }
   
    public void testMaxInCollection() {
      propertySensor1 = new FloatConstant((float)1.11);
      propertySensor2 = new FloatConstant((float)2.22);
      propertySensor3 = new FloatConstant((float)3.33);
      propertySensor4 = new FloatConstant((float)4.44);
      propertySensor5 = new FloatConstant((float)-5.55);
      propertySensor6 = new FloatConstant((float)-6.66);
      propertySensor7 = new FloatConstant((float)-7.77);
      propertySensor8 = new FloatConstant((float)88.44);
     
     
     
        try {
            Vector v = new Vector();
            Vector vbytes = new Vector();
           
            vbytes.add(propertySensor1);
            vbytes.add(propertySensor2);
            vbytes.add(propertySensor3);
            vbytes.add(propertySensor4);
            vbytes.add(propertySensor5);
            vbytes.add(propertySensor6);
            vbytes.add(propertySensor7);
            vbytes.add(propertySensor8);
           
           
            Expression collection = new BasicCollectionExpression(vbytes,null);
           
            v.add(collection);
            Expression es1 = new MaxInCollection(v,true);
            v.clear();
            assertTrue(((Number)es1.evaluate()).floatValue()==(float)88.44);

           
        } catch (SPLException e) {
            fail("Received evaluation exception " + e.getMessage());
        } catch (Exception e) {
            fail("Received expression exception " + e.getMessage());
        }
    }
   
    public void testMinInCollection() {
      propertySensor1 = new FloatConstant((float)1.11);
      propertySensor2 = new FloatConstant((float)2.22);
      propertySensor3 = new FloatConstant((float)3.33);
      propertySensor4 = new FloatConstant((float)4.44);
      propertySensor5 = new FloatConstant((float)-5.55);
      propertySensor6 = new FloatConstant((float)-6.66);
      propertySensor7 = new FloatConstant((float)-7.77);
      propertySensor8 = new FloatConstant((float)88.44);
     
     
     
        try {
            Vector v = new Vector();
            Vector vbytes = new Vector();
           
            vbytes.add(propertySensor1);
            vbytes.add(propertySensor2);
            vbytes.add(propertySensor3);
            vbytes.add(propertySensor4);
            vbytes.add(propertySensor5);
            vbytes.add(propertySensor6);
            vbytes.add(propertySensor7);
            vbytes.add(propertySensor8);
           
           
            Expression collection = new BasicCollectionExpression(vbytes,null);
           
            v.add(collection);
            Expression es1 = new MinInCollection(v,true);
            v.clear();
            assertTrue(((Number)es1.evaluate()).floatValue()==(float)-7.77);

           
        } catch (SPLException e) {
            fail("Received evaluation exception " + e.getMessage());
        } catch (Exception e) {
            fail("Received expression exception " + e.getMessage());
        }
    }
   
    public void testSum() {
      propertySensor1 = new FloatConstant((float)1.11);
      propertySensor2 = new FloatConstant((float)2.22);
      propertySensor3 = new FloatConstant((float)3.33);
      propertySensor4 = new FloatConstant((float)4.44);
      propertySensor5 = new FloatConstant((float)-5.55);
      propertySensor6 = new FloatConstant((float)-6.66);
      propertySensor7 = new FloatConstant((float)-7.77);
      propertySensor8 = new FloatConstant((float)88.44);
     
     
     
        try {
            Vector v = new Vector();
            Vector vbytes = new Vector();
           
            vbytes.add(propertySensor1);
            vbytes.add(propertySensor2);
            vbytes.add(propertySensor3);
            vbytes.add(propertySensor4);
            vbytes.add(propertySensor5);
            vbytes.add(propertySensor6);
            vbytes.add(propertySensor7);
            vbytes.add(propertySensor8);
           
           
            Expression collection = new BasicCollectionExpression(vbytes,null);
           
            v.add(collection);
            Expression es1 = new Sum(v,true);
            v.clear();
            assertTrue(((Number)es1.evaluate()).floatValue()==(float)79.560005);

           
        } catch (SPLException e) {
            fail("Received evaluation exception " + e.getMessage());
        } catch (Exception e) {
            fail("Received expression exception " + e.getMessage());
        }
    }
   
    public void testInCollection() {
      propertySensor1 = new FloatConstant((float)1.11);
      propertySensor2 = new FloatConstant((float)2.22);
      propertySensor3 = new FloatConstant((float)3.33);
      propertySensor4 = new FloatConstant((float)4.44);
      propertySensor5 = new FloatConstant((float)-5.55);
      propertySensor6 = new FloatConstant((float)-6.66);
      propertySensor7 = new FloatConstant((float)-7.77);
      propertySensor8 = new FloatConstant((float)88.44);
     
     
     
        try {
            Vector v = new Vector();
            Vector vbytes = new Vector();
           
            vbytes.add(propertySensor1);
            vbytes.add(propertySensor2);
            vbytes.add(propertySensor3);
            vbytes.add(propertySensor4);
            vbytes.add(propertySensor5);
            vbytes.add(propertySensor6);
            vbytes.add(propertySensor7);
           
           
            Expression collection = new BasicCollectionExpression(vbytes,null);
           
            v.add(propertySensor3);
            v.add(collection);
            Expression es1 = new InCollection(v,true);
            v.clear();
            assertTrue(((Boolean)es1.evaluate()).booleanValue());
           
            v.add(propertySensor8);
            v.add(collection);
            Expression es2 = new InCollection(v,true);
            v.clear();
            assertFalse(((Boolean)es2.evaluate()).booleanValue());

           
        } catch (SPLException e) {
          e.printStackTrace();
            fail("Received evaluation exception " + e.getMessage());
        } catch (Exception e) {
          e.printStackTrace();
           
            fail("Received expression exception " + e.getMessage());
        }
    }
   
    public void testSubCollection() {
      propertySensor1 = new FloatConstant((float)1.11);
      propertySensor2 = new FloatConstant((float)2.22);
      propertySensor3 = new FloatConstant((float)3.33);
      propertySensor4 = new FloatConstant((float)4.44);
      propertySensor5 = new FloatConstant((float)-5.55);
      propertySensor6 = new FloatConstant((float)-6.66);
      propertySensor7 = new FloatConstant((float)-7.77);
      propertySensor8 = new FloatConstant((float)88.44);
     
     
     
        try {
            Vector v = new Vector();
            Vector vbytes = new Vector();
           
            vbytes.add(propertySensor1);
            vbytes.add(propertySensor2);
            vbytes.add(propertySensor3);
            vbytes.add(propertySensor4);
            Expression collection = new BasicCollectionExpression(vbytes,null);
           
            vbytes.add(propertySensor5);
            vbytes.add(propertySensor6);
            vbytes.add(propertySensor7);
            vbytes.add(propertySensor8);
           
           
            Expression collection1 = new BasicCollectionExpression(vbytes,null);
           
            v.add(collection);
            v.add(collection1);
            Expression es1 = new SubCollection(v,true);
            v.clear();
            assertTrue(((Boolean)es1.evaluate()).booleanValue());

           
        } catch (SPLException e) {
          e.printStackTrace();
            fail("Received evaluation exception " + e.getMessage());
        } catch (Exception e) {
          e.printStackTrace();
            fail("Received expression exception " + e.getMessage());
        }
    }
   
    public void testUnion() {
      propertySensor1 = new FloatConstant((float)1.11);
      propertySensor2 = new FloatConstant((float)2.22);
      propertySensor3 = new FloatConstant((float)3.33);
      propertySensor4 = new FloatConstant((float)4.44);
      propertySensor5 = new FloatConstant((float)-5.55);
      propertySensor6 = new FloatConstant((float)-6.66);
      propertySensor7 = new FloatConstant((float)-7.77);
      propertySensor8 = new FloatConstant((float)88.44);
     
     
     
        try {
            Vector v = new Vector();
            Vector vbytes = new Vector();
            Vector vbytes1 = new Vector();
           
           
            vbytes.add(propertySensor1);
            vbytes.add(propertySensor2);
            vbytes.add(propertySensor3);
            vbytes.add(propertySensor4);
            Expression collection = new BasicCollectionExpression(vbytes,null);
            vbytes1.add(propertySensor5);
            vbytes1.add(propertySensor6);
            vbytes1.add(propertySensor7);
            vbytes1.add(propertySensor8);
           
           
            Expression collection1 = new BasicCollectionExpression(vbytes1,null);
           
            v.add(collection);
            v.add(collection1);
            Expression es1 = new Union(v,true);
            v.clear();
            List resultList=(List)es1.evaluate();
//            System.out.println("list "+ resultList.toString());
            assertTrue(((Number)resultList.get(0)).floatValue()==(float)1.11);
            assertTrue(((Number)resultList.get(1)).floatValue()==(float)2.22);
            assertTrue(((Number)resultList.get(2)).floatValue()==(float)3.33);
            assertTrue(((Number)resultList.get(3)).floatValue()==(float)4.44);
            assertTrue(((Number)resultList.get(4)).floatValue()==(float)-5.55);
            assertTrue(((Number)resultList.get(5)).floatValue()==(float)-6.66);
            assertTrue(((Number)resultList.get(6)).floatValue()==(float)-7.77);
            assertTrue(((Number)resultList.get(7)).floatValue()==(float)88.44);
           
           
        } catch (SPLException e) {
          e.printStackTrace();
            fail("Received evaluation exception " + e.getMessage());
        } catch (Exception e) {
          e.printStackTrace();
            fail("Received expression exception " + e.getMessage());
        }
    }
   
    public void testCollectionSize() {
      propertySensor1 = new FloatConstant((float)1.11);
      propertySensor2 = new FloatConstant((float)2.22);
      propertySensor3 = new FloatConstant((float)3.33);
      propertySensor4 = new FloatConstant((float)4.44);
      propertySensor5 = new FloatConstant((float)-5.55);
      propertySensor6 = new FloatConstant((float)-6.66);
      propertySensor7 = new FloatConstant((float)-7.77);
      propertySensor8 = new FloatConstant((float)88.44);
     
     
     
        try {
            Vector v = new Vector();
            Vector vbytes = new Vector();
           
            vbytes.add(propertySensor1);
            vbytes.add(propertySensor2);
            vbytes.add(propertySensor3);
            vbytes.add(propertySensor4);
            vbytes.add(propertySensor5);
            vbytes.add(propertySensor6);
            vbytes.add(propertySensor7);
           
           
            Expression collection = new BasicCollectionExpression(vbytes,null);
           
            v.add(collection);
            Expression es1 = new CollectionSize(v,true);
            v.clear();
            assertTrue(((Number)es1.evaluate()).intValue()==7);
           
           
           
        } catch (SPLException e) {
            fail("Received evaluation exception " + e.getMessage());
        } catch (Exception e) {
            fail("Received expression exception " + e.getMessage());
        }
    }
   
    public void testMedianInCollection() {
      propertySensor1 = new FloatConstant((float)6);
      propertySensor2 = new FloatConstant((float)9.7);
      propertySensor3 = new FloatConstant((float)14.8);
      propertySensor4 = new FloatConstant((float)22.4);
      propertySensor5 = new FloatConstant((float)-9.8);
     
     
     
        try {
            Vector v = new Vector();
            Vector vbytes = new Vector();
           
            vbytes.add(propertySensor1);
            vbytes.add(propertySensor2);
            vbytes.add(propertySensor3);
            vbytes.add(propertySensor4);
            vbytes.add(propertySensor5);
            
           
            Expression collection = new BasicCollectionExpression(vbytes,null);
           
            v.add(collection);
            Expression es1 = new MedianInCollection(v,true);
            v.clear();
            assertTrue(((Number)es1.evaluate()).floatValue()==(float)9.7);
           
           
           
        } catch (SPLException e) {
            fail("Received evaluation exception " + e.getMessage());
        } catch (Exception e) {
            fail("Received expression exception " + e.getMessage());
        }
    }
   
    public void testSdInCollection() {
      propertySensor1 = new FloatConstant((float)2);
      propertySensor2 = new FloatConstant((float)4);
      propertySensor3 = new FloatConstant((float)1);
      propertySensor4 = new FloatConstant((float)6);
      propertySensor5 = new FloatConstant((float)7);
     
     
     
        try {
            Vector v = new Vector();
            Vector vbytes = new Vector();
           
            vbytes.add(propertySensor1);
            vbytes.add(propertySensor2);
            vbytes.add(propertySensor3);
            vbytes.add(propertySensor4);
            vbytes.add(propertySensor5);
            
           
            Expression collection = new BasicCollectionExpression(vbytes,null);
           
            v.add(collection);
            Expression es1 = new SdInCollection(v,true);
            v.clear();
           //System.out.println(((Number)es1.evaluate()).floatValue());
            assertTrue(((Number)es1.evaluate()).floatValue()==(float)2.2803508501982757e+000);
           
           
           
        } catch (SPLException e) {
            fail("Received evaluation exception " + e.getMessage());
        } catch (Exception e) {
            fail("Received expression exception " + e.getMessage());
        }
    }
}


TOP

Related Classes of org.apache.imperius.spl.tests.CollectionExpressionsTest

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.