Package org.apache.poi.ss.formula.eval

Examples of org.apache.poi.ss.formula.eval.AreaEval


        new NumberEval(25),
        BoolEval.TRUE,
        new StringEval("Ed"),
    };

    AreaEval ae = EvalFactory.createAreaEval("A1:A13", values);

    assertEquals(ErrorEval.NA, invokeMatch(new StringEval("Aaron"), ae, MATCH_LARGEST_LTE));

    confirmInt(5, invokeMatch(BoolEval.FALSE, ae, MATCH_LARGEST_LTE));
    confirmInt(2, invokeMatch(BoolEval.FALSE, ae, MATCH_EXACT));
View Full Code Here


      new NumberEval(10),
      new NumberEval(10),
      new NumberEval(25),
    };

    AreaEval ae = EvalFactory.createAreaEval("A1:A5", values);

    AreaEval matchAE = EvalFactory.createAreaEval("C1:C1", new ValueEval[] { MATCH_LARGEST_LTE, });

    try {
      confirmInt(4, invokeMatch(new NumberEval(10), ae, matchAE));
    } catch (RuntimeException e) {
      if(e.getMessage().startsWith("Unexpected match_type type")) {
View Full Code Here

  public void testBasic() {
    ValueEval[] arg0values = new ValueEval[] { _30, _30, _40, _40, _50, _50  };
    ValueEval[] arg2values = new ValueEval[] { _30, _40, _50, _60, _60, _60 };

    AreaEval arg0;
    AreaEval arg2;

    arg0 = EvalFactory.createAreaEval("A3:B5", arg0values);
    arg2 = EvalFactory.createAreaEval("D1:E3", arg2values);

    confirm(60.0, arg0, new NumberEval(30.0));
View Full Code Here

   */
  public void testCriteriaArgRange() {
    ValueEval[] arg0values = new ValueEval[] { _50, _60, _50, _50, _50, _30,  };
    ValueEval[] arg1values = new ValueEval[] { _30, _40, _50, _60,  };

    AreaEval arg0;
    AreaEval arg1;
    ValueEval ve;

    arg0 = EvalFactory.createAreaEval("A3:B5", arg0values);
    arg1 = EvalFactory.createAreaEval("A2:D2", arg1values); // single row range

View Full Code Here

*/
public class Rank extends Var2or3ArgFunction {

  public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1) {

    AreaEval aeRange;
    double result;
    try {
      ValueEval ve = OperandResolver.getSingleValue(arg0, srcRowIndex, srcColumnIndex);
      result = OperandResolver.coerceValueToDouble(ve);
      if (Double.isNaN(result) || Double.isInfinite(result)) {
View Full Code Here

    return eval(srcRowIndex, srcColumnIndex, result, aeRange, true);
  }

  public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1, ValueEval arg2) {

    AreaEval aeRange;
    double result;
    boolean order=false;
    try {
      ValueEval ve = OperandResolver.getSingleValue(arg0, srcRowIndex, srcColumnIndex);
      result = OperandResolver.coerceValueToDouble(ve);
View Full Code Here

    if (eval == null) {
      throw new RuntimeException("parameter may not be null");
    }
    if (eval instanceof AreaEval) {
      AreaEval ae = (AreaEval) eval;
      // an area ref can work as a scalar value if it is 1x1
      if(!ae.isColumn() || !ae.isRow()) {
        throw new EvaluationException(ErrorEval.VALUE_INVALID);
      }
      eval = ae.getRelativeValue(0, 0);
    }

    return getProductTerm(eval, true);
  }
View Full Code Here

  public void testAreaArg() {
    ValueEval[] areaValues = new ValueEval[] {
      new StringEval("abc"), new StringEval("def"),
      new StringEval("ghi"), new StringEval("jkl"),
    };
    AreaEval ae = EvalFactory.createAreaEval("C10:D11", areaValues);

    ValueEval ve;
    ve = invokeT(ae);
    confirmString(ve, "abc");
View Full Code Here

    ValueEval[] values = new ValueEval[TEST_VALUES0.length];
    for (int i = 0; i < TEST_VALUES0.length; i++) {
      values[i] = new NumberEval(TEST_VALUES0[i]);
    }

    AreaEval arg1 = EvalFactory.createAreaEval("C1:D5", values);
    ValueEval args[] = { new NumberEval(function), arg1 };

    ValueEval result = new Subtotal().evaluate(args, 0, 0);

    assertEquals(NumberEval.class, result.getClass());
View Full Code Here

      int rowNum, int colNum, double expectedResult) {
    ValueEval[] values = new ValueEval[dValues.length];
    for (int i = 0; i < values.length; i++) {
      values[i] = new NumberEval(dValues[i]);
    }
    AreaEval arg0 = EvalFactory.createAreaEval(areaRefString, values);

    ValueEval[] args;
    if (colNum > 0) {
      args = new ValueEval[] { arg0, new NumberEval(rowNum), new NumberEval(colNum), };
    } else {
View Full Code Here

TOP

Related Classes of org.apache.poi.ss.formula.eval.AreaEval

Copyright © 2018 www.massapicom. 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.