Represent a RL function
In addition to the usual getters and setters for designing the function,
there is also Function.isTestEnabled() and Function.test(java.lang.StringBuilder) methods for providing
a "Test" button in the UI that when pressed, actually invokes the defined function
in a RuleSession and returns the result for the UI to display.
See details for each method.

getAssertedTypeIDs

isTestEnabled

public boolean isTestEnabled()

Should the UI enable the "Test" button?
The "Test" button is used to actually invoke the function in a
new RuleSession and return whether it passed or failed.
To be enabled, the function must take no parameters and return boolean,
and the containing RuleDictionary must be valid.

test

Execute this function in a new RuleSession, and return its result.
The UI should call this when the user presses the "Test" button.
The "Test" button should be enabled when Function.isTestEnabled() is true.
The UI should invoke test() as follows: