public FEELFnResult<BigDecimal> invoke(@ParameterName( "n" ) BigDecimal number) {
        if ( number == null ) {
            return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "number", "cannot be null"));
        }
        return FEELFnResult.ofResult( number.abs() );
    }
@Test
    void absFunctionPeriod() {
        FunctionTestUtil.assertResult(absFunction.invoke(Period.of( 100, 50, 0 ) ),
                Period.of(100, 50, 0));
        FunctionTestUtil.assertResult(absFunction.invoke(Period.of( -100, 50, 0 ) ),
                Period.of(100, -50, 0));
        FunctionTestUtil.assertResult(absFunction.invoke(Period.of( 100, -50, 0 ) ),
                Period.of(100, -50, 0));
        FunctionTestUtil.assertResult(absFunction.invoke(Period.of( -100, -50, 0 ) ),
                Period.of(100, 50, 0));
        FunctionTestUtil.assertResult(absFunction.invoke(Period.of( -1, 30, 0 ) ),
                Period.of(-1, 30, 0));
        FunctionTestUtil.assertResultError(absFunction.invoke((Period) null ),
                InvalidParametersEvent.class);
    }