@Test public void inspectFunctions(){ PMML pmml = createPMML(); assertVersionRange(pmml, Version.PMML_3_0, Version.PMML_4_3); Apply apply = new Apply() .setFunction("lowercase"); DefineFunction defineFunction = new DefineFunction("convert_case", OpType.CATEGORICAL, null) .addParameterFields(new ParameterField(FieldName.create("string"))) .setExpression(apply); TransformationDictionary transformationDictionary = new TransformationDictionary() .addDefineFunctions(defineFunction); pmml.setTransformationDictionary(transformationDictionary); assertVersionRange(pmml, Version.PMML_4_1, Version.PMML_4_3); apply.setFunction("uppercase"); assertVersionRange(pmml, Version.PMML_3_0, Version.PMML_4_3); apply.setFunction(null); assertVersionRange(pmml, Version.PMML_3_0, Version.PMML_3_0); }