EndsWithFunction extends BaseFEELFunction { public FEELFnResult<Boolean> invoke(@ParameterName( "string" ) String string, @ParameterName( "match" ) String match) { if ( string == null ) { return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "string", "cannot be null")); } if ( match == null ) { return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "match", "cannot be null")); } return FEELFnResult.ofResult( string.endsWith( match ) ); } EndsWithFunction(); FEELFnResult<Boolean> invoke(@ParameterName( "string" ) String string, @ParameterName( "match" ) String match);  }
@Test public void invokeParamsNull() { FunctionTestUtil.assertResultError(endsWithFunction.invoke((String) null, null), InvalidParametersEvent.class); FunctionTestUtil.assertResultError(endsWithFunction.invoke(null, "test"), InvalidParametersEvent.class); FunctionTestUtil.assertResultError(endsWithFunction.invoke("test", null), InvalidParametersEvent.class); }
@Test public void invokeEndsWith() { FunctionTestUtil.assertResult(endsWithFunction.invoke("test", "t"), true); FunctionTestUtil.assertResult(endsWithFunction.invoke("test", "st"), true); FunctionTestUtil.assertResult(endsWithFunction.invoke("test", "est"), true); FunctionTestUtil.assertResult(endsWithFunction.invoke("test", "test"), true); }
@Test public void invokeNotEndsWith() { FunctionTestUtil.assertResult(endsWithFunction.invoke("test", "es"), false); FunctionTestUtil.assertResult(endsWithFunction.invoke("test", "ttttt"), false); FunctionTestUtil.assertResult(endsWithFunction.invoke("test", "estt"), false); FunctionTestUtil.assertResult(endsWithFunction.invoke("test", "tt"), false); }