private void calculateDynamics() { for (int c : tupleExpressionMap.keySet()) { TupleExpression tupleExpr = tupleExpressionMap.get(c); Object rtResult = tupleExpr.calculate(oneTuple, filterCodeSystem); next.setValue(c, rtResult); } } };
@Override public Object calculate(IEvaluatableTuple tuple, IFilterCodeSystem<?> cs) { for (Pair<TupleFilter, TupleExpression> entry : whenList) { if (entry.getFirst().evaluate(tuple, cs)) { return entry.getSecond().calculate(tuple, cs); } } if (elseExpr != null) { return elseExpr.calculate(tuple, cs); } return null; }
@Override public BigDecimal calculate(IEvaluatableTuple tuple, IFilterCodeSystem<?> cs) { assert children.size() == 2; BigDecimal left = DecimalUtil.toBigDecimal(getLeft().calculate(tuple, cs)); if (left == null) return null; BigDecimal right = DecimalUtil.toBigDecimal(getRight().calculate(tuple, cs)); if (right == null) return null; switch (operator) { case PLUS: return left.add(right); case MINUS: return left.subtract(right); case MULTIPLE: return left.multiply(right); case DIVIDE: return left.divide(right); default: throw new UnsupportedOperationException(); } }
IFilterCodeSystem filterCodeSystem = PowerMockito.mock(IFilterCodeSystem.class); t5 = PowerMockito.spy(t5); PowerMockito.when(t5.calculate(evaluatableTuple, filterCodeSystem)).thenReturn(new BigDecimal(3)); assertEquals(new BigDecimal(223), ret.calculate(evaluatableTuple, filterCodeSystem)); assertEquals(new BigDecimal(481), ret.calculate(evaluatableTuple, filterCodeSystem)); assertEquals(new BigDecimal(196), ret.calculate(evaluatableTuple, filterCodeSystem));
IFilterCodeSystem filterCodeSystem = PowerMockito.mock(IFilterCodeSystem.class); t3 = PowerMockito.spy(t3); PowerMockito.when(t3.calculate(evaluatableTuple, filterCodeSystem)).thenReturn(new BigDecimal(3)); assertTrue(cntDistributor.ifCntSet()); assertEquals(new BigDecimal(1363), ret.calculate(evaluatableTuple, filterCodeSystem));
private void calculateDynamics() { for (int c : tupleExpressionMap.keySet()) { TupleExpression tupleExpr = tupleExpressionMap.get(c); Object rtResult = tupleExpr.calculate(oneTuple, filterCodeSystem); next.setValue(c, rtResult); } } };
@Override public Object calculate(IEvaluatableTuple tuple, IFilterCodeSystem<?> cs) { for (Pair<TupleFilter, TupleExpression> entry : whenList) { if (entry.getFirst().evaluate(tuple, cs)) { return entry.getSecond().calculate(tuple, cs); } } if (elseExpr != null) { return elseExpr.calculate(tuple, cs); } return null; }
@Override public BigDecimal calculate(IEvaluatableTuple tuple, IFilterCodeSystem<?> cs) { assert children.size() == 2; BigDecimal left = DecimalUtil.toBigDecimal(getLeft().calculate(tuple, cs)); if (left == null) return null; BigDecimal right = DecimalUtil.toBigDecimal(getRight().calculate(tuple, cs)); if (right == null) return null; switch (operator) { case PLUS: return left.add(right); case MINUS: return left.subtract(right); case MULTIPLE: return left.multiply(right); case DIVIDE: return left.divide(right); default: throw new UnsupportedOperationException(); } }