public static Object coerceNumber(Object value) { return EvalHelper.coerceNumber(value); }
private static List<Object> l(final Object... args) { final List<Object> coerced = new ArrayList<>(); for ( final Object a : args ) { coerced.add(EvalHelper.coerceNumber(a)); } return coerced; } }
@Override public void setValue(String name, Object value) { peek().setValue( name, EvalHelper.coerceNumber( value ) ); }
@Test public void testManualUnaryTests() { Object left = EvalHelper.coerceNumber(7); CompiledFEELUnaryTests compiledUnaryTests = new ManualImpl1(); LOG.debug("{}", compiledUnaryTests); EvaluationContext emptyContext = CodegenTestUtil.newEmptyEvaluationContext(); List<Boolean> result = compiledUnaryTests.getUnaryTests().stream().map(ut -> ut.apply(emptyContext, left)).collect(Collectors.toList()); LOG.debug("{}", result); assertThat(result, is(Arrays.asList(true, false))); }
public FEELFnResult<Object> invoke(@ParameterName("ctx") EvaluationContext ctx) { return FEELFnResult.ofResult(EvalHelper.coerceNumber(47)); }
private List<Boolean> parseCompileEvaluate(String feelLiteralExpression, Object l) { Object left = EvalHelper.coerceNumber(l); FEELEventListenersManager mgr = new FEELEventListenersManager(); CompiledFEELSupport.SyntaxErrorListener listener = new CompiledFEELSupport.SyntaxErrorListener(); mgr.addListener(listener); EvaluationContext emptyContext = CodegenTestUtil.newEmptyEvaluationContext(mgr); CompiledFEELUnaryTests compiledUnaryTests = parse(feelLiteralExpression, mgr, listener); LOG.debug("{}", compiledUnaryTests); List<Boolean> result = compiledUnaryTests.getUnaryTests() .stream() .map(ut -> ut.apply(emptyContext, left)) .collect(Collectors.toList()); if (listener.isError()) { LOG.debug("{}", listener.event()); return Collections.emptyList(); } LOG.debug("{}", result); return result; }
result = coerceNumber(result);
@Test public void testTypeInferenceForNestedContextAnonymousEntry() { // DROOLS-1585 final DMNRuntime runtime = DMNRuntimeUtil.createRuntime("PersonListHelloBKM2.dmn", this.getClass() ); final DMNModel dmnModel = runtime.getModel( "http://www.trisotech.com/definitions/_7e41a76e-2df6-4899-bf81-ae098757a3b6", "PersonListHelloBKM2" ); assertThat( dmnModel, notNullValue() ); assertThat( DMNRuntimeUtil.formatMessages( dmnModel.getMessages() ), dmnModel.hasErrors(), is( false ) ); final DMNContext context = runtime.newContext(); final Map<String, Object> p1 = prototype(entry("Full Name", "John Doe"), entry("Age", 33) ); final Map<String, Object> p2 = prototype(entry("Full Name", "47"), entry("Age", 47) ); context.set("My Input Data", Arrays.asList(p1, p2)); final DMNResult dmnResult = runtime.evaluateAll(dmnModel, context ); final DMNContext result = dmnResult.getContext(); assertThat( DMNRuntimeUtil.formatMessages( dmnResult.getMessages() ), dmnResult.hasErrors(), is( false ) ); assertThat( (List<?>)result.get("My Decision"), contains( prototype( entry("Full Name", "Prof. John Doe"), entry("Age", EvalHelper.coerceNumber(33)) ), prototype( entry("Full Name", "Prof. 47"), entry("Age", EvalHelper.coerceNumber(47)) ) ) ); }