From 1e6036bf3acf34c4f2125be0e450bc687d45fb7b Mon Sep 17 00:00:00 2001 From: Gabriele Cardosi Date: Tue, 5 Oct 2021 15:43:21 +0200 Subject: [PATCH] [DROOLS-6635] Move testing sources in specific files (#3868) * [DROOLS-6625] Managing missing "required" input data * [DROOLS-6625] Managing best-effort conversion of input data * [DROOLS-6625] Managing invalid values - TODO: integration tests * [DROOLS-6625] Managing invalid values * [DROOLS-6625] Managing missing values * [DROOLS-6625] Validate input data * [DROOLS-6635] Move testing sources in specific files * [DROOLS-6625] Fix merge with base branch * [DROOLS-6625] Fix as per PR suggestion * [DROOLS-6635] Fix merge * [DROOLS-6635] Fix merge with 7.x --- .../KiePMMLModelCodegenUtilsTest.java | 88 +---- .../KiePMMLApplyFactoryTest.java | 108 ++---- .../KiePMMLCompoundPredicateFactoryTest.java | 45 +-- .../KiePMMLConstantFactoryTest.java | 14 +- .../KiePMMLDefineFunctionFactoryTest.java | 44 +-- .../KiePMMLDerivedFieldFactoryTest.java | 46 +-- .../KiePMMLDiscretizeBinFactoryTest.java | 25 +- .../KiePMMLDiscretizeFactoryTest.java | 44 +-- .../KiePMMLFalsePredicateFactoryTest.java | 18 +- .../KiePMMLFieldColumnPairFactoryTest.java | 13 +- .../KiePMMLFieldRefFactoryTest.java | 13 +- .../KiePMMLInlineTableFactoryTest.java | 78 +--- .../KiePMMLIntervalFactoryTest.java | 17 +- ...ePMMLLocalTransformationsFactoryTest.java} | 32 +- .../KiePMMLMapValuesFactoryTest.java | 82 +--- .../KiePMMLModelFactoryUtilsTest.java | 353 +----------------- .../KiePMMLNormContinuousFactoryTest.java | 34 +- .../KiePMMLNormDiscreteFactoryTest.java | 16 +- .../KiePMMLParameterFieldFactoryTest.java | 18 +- .../KiePMMLRowFactoryTest.java | 37 +- .../KiePMMLSimplePredicateFactoryTest.java | 14 +- .../KiePMMLSimpleSetPredicateFactoryTest.java | 27 +- .../KiePMMLTextIndexFactoryTest.java | 102 +---- ...PMMLTextIndexNormalizationFactoryTest.java | 58 +-- ...MLTransformationDictionaryFactoryTest.java | 75 +--- .../KiePMMLTruePredicateFactoryTest.java | 14 +- .../resources/KiePMMLApplyFactoryTest_01.txt | 9 + .../resources/KiePMMLApplyFactoryTest_02.txt | 9 + .../resources/KiePMMLApplyFactoryTest_03.txt | 16 + ...KiePMMLCompoundPredicateFactoryTest_01.txt | 15 + .../KiePMMLConstantFactoryTest_01.txt | 3 + .../KiePMMLDefineFunctionFactoryTest_01.txt | 22 ++ .../KiePMMLDerivedFieldFactoryTest_01.txt | 6 + .../KiePMMLDerivedFieldFactoryTest_02.txt | 6 + .../KiePMMLDerivedFieldFactoryTest_03.txt | 13 + .../KiePMMLDiscretizeBinFactoryTest_01.txt | 4 + .../KiePMMLDiscretizeFactoryTest_01.txt | 8 + .../KiePMMLFalsePredicateFactoryTest_01.txt | 3 + .../KiePMMLFieldColumnPairFactoryTest_01.txt | 3 + .../KiePMMLFieldRefFactoryTest_01.txt | 3 + .../KiePMMLInlineTableFactoryTest_01.txt | 28 ++ .../KiePMMLIntervalFactoryTest_01.txt | 3 + ...PMMLLocalTransformationsFactoryTest_01.txt | 21 ++ .../KiePMMLMapValuesFactoryTest_01.txt | 36 ++ .../KiePMMLModelCodegenUtilsTest_01.txt | 23 ++ .../KiePMMLModelFactoryUtilsTest_01.txt | 69 ++++ .../KiePMMLModelFactoryUtilsTest_02.txt | 10 + .../KiePMMLNormContinuousFactoryTest_01.txt | 7 + .../KiePMMLNormContinuousFactoryTest_02.txt | 1 + .../KiePMMLNormDiscreteFactoryTest_01.txt | 3 + .../KiePMMLParameterFieldFactoryTest_01.txt | 7 + .../resources/KiePMMLRowFactoryTest_01.txt | 6 + .../resources/KiePMMLRowFactoryTest_02.txt | 6 + .../KiePMMLSimplePredicateFactoryTest_01.txt | 5 + ...iePMMLSimpleSetPredicateFactoryTest_01.txt | 5 + .../KiePMMLTextIndexFactoryTest_01.txt | 54 +++ ...MLTextIndexNormalizationFactoryTest_01.txt | 27 ++ ...TransformationDictionaryFactoryTest_01.txt | 61 +++ .../KiePMMLTruePredicateFactoryTest_01.txt | 3 + ...LRegressionTableRegressionFactoryTest.java | 112 +++--- ...egressionTableRegressionFactoryTest_01.txt | 6 + ...egressionTableRegressionFactoryTest_02.txt | 5 + ...egressionTableRegressionFactoryTest_03.txt | 6 + ...egressionTableRegressionFactoryTest_04.txt | 5 + ...egressionTableRegressionFactoryTest_05.txt | 10 + ...egressionTableRegressionFactoryTest_06.txt | 11 + .../KiePMMLAttributeFactoryTest.java | 48 +-- .../KiePMMLCharacteristicFactoryTest.java | 100 +---- .../KiePMMLCharacteristicsFactoryTest.java | 50 +-- ...KiePMMLComplexPartialScoreFactoryTest.java | 73 ++-- .../KiePMMLAttributeFactoryTest_01.txt | 28 ++ .../KiePMMLCharacteristicFactoryTest_01.txt | 58 +++ .../KiePMMLCharacteristicsFactoryTest_01.txt | 12 + ...ePMMLComplexPartialScoreFactoryTest_01.txt | 4 + ...ePMMLComplexPartialScoreFactoryTest_02.txt | 4 + ...ePMMLComplexPartialScoreFactoryTest_03.txt | 11 + .../tests/SimpleScorecardCategoricalTest.java | 1 - .../factories/KiePMMLNodeFactoryTest.java | 80 ++-- .../resources/KiePMMLNodeFactoryTest_01.txt | 26 ++ .../kie/test/util/filesystem/FileUtils.java | 19 + 80 files changed, 1089 insertions(+), 1490 deletions(-) rename kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/{KiePMMLLocalTranformationsFactoryTest.java => KiePMMLLocalTransformationsFactoryTest.java} (60%) create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLApplyFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLApplyFactoryTest_02.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLApplyFactoryTest_03.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLCompoundPredicateFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLConstantFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDefineFunctionFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDerivedFieldFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDerivedFieldFactoryTest_02.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDerivedFieldFactoryTest_03.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDiscretizeBinFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDiscretizeFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLFalsePredicateFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLFieldColumnPairFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLFieldRefFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLInlineTableFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLIntervalFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLLocalTransformationsFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLMapValuesFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLModelCodegenUtilsTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLModelFactoryUtilsTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLModelFactoryUtilsTest_02.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLNormContinuousFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLNormContinuousFactoryTest_02.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLNormDiscreteFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLParameterFieldFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLRowFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLRowFactoryTest_02.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLSimplePredicateFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLSimpleSetPredicateFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLTextIndexFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLTextIndexNormalizationFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLTransformationDictionaryFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLTruePredicateFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_02.txt create mode 100644 kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_03.txt create mode 100644 kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_04.txt create mode 100644 kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_05.txt create mode 100644 kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_06.txt create mode 100644 kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLAttributeFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLCharacteristicFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLCharacteristicsFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLComplexPartialScoreFactoryTest_01.txt create mode 100644 kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLComplexPartialScoreFactoryTest_02.txt create mode 100644 kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLComplexPartialScoreFactoryTest_03.txt create mode 100644 kie-pmml-trusty/kie-pmml-models/kie-pmml-models-tree/kie-pmml-models-tree-compiler/src/test/resources/KiePMMLNodeFactoryTest_01.txt diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/builders/KiePMMLModelCodegenUtilsTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/builders/KiePMMLModelCodegenUtilsTest.java index bed6f913303..e9e249a16bc 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/builders/KiePMMLModelCodegenUtilsTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/builders/KiePMMLModelCodegenUtilsTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.builders; +import java.io.IOException; import java.util.List; import com.github.javaparser.ast.CompilationUnit; @@ -33,17 +34,18 @@ import org.kie.pmml.compiler.commons.utils.JavaParserUtils; import org.kie.pmml.compiler.commons.utils.KiePMMLUtil; -import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.mocks.TestingModelImplementationProvider.KIE_PMML_TEST_MODEL_TEMPLATE; import static org.kie.pmml.compiler.commons.mocks.TestingModelImplementationProvider.KIE_PMML_TEST_MODEL_TEMPLATE_JAVA; import static org.kie.pmml.compiler.commons.utils.JavaParserUtils.MAIN_CLASS_NOT_FOUND; import static org.kie.pmml.compiler.commons.utils.ModelUtils.getFieldsFromDataDictionaryTransformationDictionaryAndModel; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; import static org.kie.test.util.filesystem.FileUtils.getFileInputStream; public class KiePMMLModelCodegenUtilsTest { private static final String MODEL_FILE = "TreeSample.pmml"; + private static final String TEST_01_SOURCE = "KiePMMLModelCodegenUtilsTest_01.txt"; private static TransformationDictionary transformationDictionary; private static Model model; private static List> fields; @@ -65,90 +67,12 @@ public static void setup() throws Exception { } @Test - public void init() { + public void init() throws IOException { ConstructorDeclaration constructorDeclaration = modelTemplate.getDefaultConstructor().get(); KiePMMLModelCodegenUtils.init(modelTemplate, fields, transformationDictionary, model); BlockStmt body = constructorDeclaration.getBody(); - Statement expected = JavaParserUtils.parseConstructorBlock("{\n" + - "super(\"golfing\", Collections.emptyList" + - "());\n" + - " pmmlMODEL = org.kie.pmml.api.enums" + - ".PMML_MODEL" + - ".TREE_MODEL;\n" + - " transformationDictionary = this" + - ".createTransformationDictionary();\n" + - " localTransformations = this" + - ".createLocalTransformations();\n" + - " miningFunction = org.kie.pmml.api" + - ".enums" + - ".MINING_FUNCTION.CLASSIFICATION;\n" + - " targetField = \"whatIdo\";\n" + - " miningFields.add(new org.kie.pmml.api" + - ".models" + - ".MiningField(\"temperature\", org.kie" + - ".pmml.api.enums" + - ".FIELD_USAGE_TYPE.ACTIVE, null, org.kie" + - ".pmml.api" + - ".enums.DATA_TYPE.DOUBLE, null, org.kie" + - ".pmml.api" + - ".enums.INVALID_VALUE_TREATMENT_METHOD" + - ".RETURN_INVALID, null, null, java.util" + - ".Arrays.asList" + - "(), java.util.Arrays.asList()));\n" + - " miningFields.add(new org.kie.pmml.api" + - ".models" + - ".MiningField(\"humidity\", org.kie.pmml" + - ".api.enums" + - ".FIELD_USAGE_TYPE.ACTIVE, null, org.kie" + - ".pmml.api" + - ".enums.DATA_TYPE.DOUBLE, null, org.kie" + - ".pmml.api" + - ".enums.INVALID_VALUE_TREATMENT_METHOD" + - ".RETURN_INVALID, null, null, java.util" + - ".Arrays.asList" + - "(), java.util.Arrays.asList()));\n" + - " miningFields.add(new org.kie.pmml.api" + - ".models" + - ".MiningField(\"windy\", org.kie.pmml.api" + - ".enums" + - ".FIELD_USAGE_TYPE.ACTIVE, null, org.kie" + - ".pmml.api" + - ".enums.DATA_TYPE.STRING, null, org.kie" + - ".pmml.api" + - ".enums.INVALID_VALUE_TREATMENT_METHOD" + - ".RETURN_INVALID, null, null, java.util" + - ".Arrays.asList" + - "(\"true\", \"false\"), java.util.Arrays" + - ".asList()));" + - "\n" + - " miningFields.add(new org.kie.pmml.api" + - ".models" + - ".MiningField(\"outlook\", org.kie.pmml" + - ".api.enums" + - ".FIELD_USAGE_TYPE.ACTIVE, null, org.kie" + - ".pmml.api" + - ".enums.DATA_TYPE.STRING, null, org.kie" + - ".pmml.api" + - ".enums.INVALID_VALUE_TREATMENT_METHOD" + - ".RETURN_INVALID, null, null, java.util" + - ".Arrays.asList" + - "(\"sunny\", \"overcast\", \"rain\"), java" + - ".util" + - ".Arrays.asList()));\n" + - " miningFields.add(new org.kie.pmml.api" + - ".models" + - ".MiningField(\"whatIdo\", org.kie.pmml" + - ".api.enums" + - ".FIELD_USAGE_TYPE.TARGET, null, org.kie" + - ".pmml.api" + - ".enums.DATA_TYPE.STRING, null, org.kie" + - ".pmml.api" + - ".enums.INVALID_VALUE_TREATMENT_METHOD" + - ".RETURN_INVALID, null, null, java.util.Arrays.asList" + - "(\"will play\", \"may play\", \"no play\"), java" + - ".util.Arrays.asList()));\n" + - "}"); - assertEquals(expected.toString(), body.toString()); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseConstructorBlock(text); assertTrue(JavaParserUtils.equalsNode(expected, body)); } } diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLApplyFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLApplyFactoryTest.java index 536ca757342..6ba5b96e77f 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLApplyFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLApplyFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -35,6 +36,7 @@ import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLApplyFactoryTest { @@ -43,9 +45,12 @@ public class KiePMMLApplyFactoryTest { private static final Double value2 = 5.0; private static final String PARAM_1 = "PARAM_1"; private static final String PARAM_2 = "PARAM_2"; + private static final String TEST_01_SOURCE = "KiePMMLApplyFactoryTest_01.txt"; + private static final String TEST_02_SOURCE = "KiePMMLApplyFactoryTest_02.txt"; + private static final String TEST_03_SOURCE = "KiePMMLApplyFactoryTest_03.txt"; @Test - public void getApplyVariableDeclarationWithConstants() { + public void getApplyVariableDeclarationWithConstants() throws IOException { String variableName = "variableName"; Apply apply = new Apply(); apply.setFunction(function); @@ -61,35 +66,18 @@ public void getApplyVariableDeclarationWithConstants() { constant2.setValue(value2); apply.addExpressions(constant1, constant2); BlockStmt retrieved = KiePMMLApplyFactory.getApplyVariableDeclaration(variableName, apply); - Statement expected = JavaParserUtils.parseBlock(String.format("{\n" + - " KiePMMLConstant variableName_0 = " + - "new KiePMMLConstant" + - "(\"variableName_0\", Collections" + - ".emptyList(), %1$s, null);\n" + - " KiePMMLConstant variableName_1 = " + - "new KiePMMLConstant" + - "(\"variableName_1\", Collections" + - ".emptyList(), %2$s, null);\n" + - " KiePMMLApply %3$s = " + - "KiePMMLApply.builder(\"%3$s\"," + - " Collections.emptyList(), " + - "\"%4$s\").withDefaultValue" + - "(\"%5$s\").withMapMissingTo" + - "(\"%6$s\")" + - ".withInvalidValueTreatmentMethod" + - "(\"%7$s\")" + - ".withKiePMMLExpressions(Arrays.asList" + - "(variableName_0, variableName_1))" + - ".build();\n" + - "}", value1, value2, variableName, function, - defaultValue, mapMissingTo, invalidValueTreatmentMethod.value())); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, value1, value2, variableName, function, + defaultValue, mapMissingTo, + invalidValueTreatmentMethod.value())); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); - List> imports = Arrays.asList(KiePMMLConstant.class, KiePMMLApply.class, Collections.class, Arrays.class); + List> imports = Arrays.asList(KiePMMLConstant.class, KiePMMLApply.class, Collections.class, + Arrays.class); commonValidateCompilationWithImports(retrieved, imports); } @Test - public void getApplyVariableDeclarationWithFieldRefs() { + public void getApplyVariableDeclarationWithFieldRefs() throws IOException { String variableName = "variableName"; Apply apply = new Apply(); apply.setFunction(function); @@ -105,35 +93,18 @@ public void getApplyVariableDeclarationWithFieldRefs() { fieldRef2.setField(FieldName.create(PARAM_2)); apply.addExpressions(fieldRef1, fieldRef2); BlockStmt retrieved = KiePMMLApplyFactory.getApplyVariableDeclaration(variableName, apply); - Statement expected = JavaParserUtils.parseBlock(String.format("{\n" + - " KiePMMLFieldRef variableName_0 = " + - "new KiePMMLFieldRef" + - "(\"%1$s\", Collections" + - ".emptyList(), null);\n" + - " KiePMMLFieldRef variableName_1 = " + - "new KiePMMLFieldRef" + - "(\"%2$s\", Collections" + - ".emptyList(), null);\n" + - " KiePMMLApply %3$s = " + - "KiePMMLApply.builder(\"%3$s\"," + - " Collections.emptyList(), " + - "\"%4$s\").withDefaultValue" + - "(\"%5$s\").withMapMissingTo" + - "(\"%6$s\")" + - ".withInvalidValueTreatmentMethod" + - "(\"%7$s\")" + - ".withKiePMMLExpressions(Arrays.asList" + - "(variableName_0, variableName_1))" + - ".build();\n" + - "}", PARAM_1, PARAM_2, variableName, function, - defaultValue, mapMissingTo, invalidValueTreatmentMethod.value())); + String text = getFileContent(TEST_02_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, PARAM_1, PARAM_2, variableName, function, + defaultValue, mapMissingTo, + invalidValueTreatmentMethod.value())); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); - List> imports = Arrays.asList(KiePMMLFieldRef.class, KiePMMLApply.class, Collections.class, Arrays.class); + List> imports = Arrays.asList(KiePMMLFieldRef.class, KiePMMLApply.class, Collections.class, + Arrays.class); commonValidateCompilationWithImports(retrieved, imports); } @Test - public void getApplyVariableDeclarationWithApply() { + public void getApplyVariableDeclarationWithApply() throws IOException { String variableName = "variableName"; Apply nestedApply = new Apply(); nestedApply.setFunction("nested_function"); @@ -154,38 +125,15 @@ public void getApplyVariableDeclarationWithApply() { apply.setInvalidValueTreatment(invalidValueTreatmentMethod); apply.addExpressions(nestedApply); BlockStmt retrieved = KiePMMLApplyFactory.getApplyVariableDeclaration(variableName, apply); - Statement expected = JavaParserUtils.parseBlock(String.format("{\n" + - " KiePMMLFieldRef variableName_0_0 =" + - " new KiePMMLFieldRef(\"%1$s\", Collections.emptyList(), null);\n" + - " KiePMMLFieldRef variableName_0_1 =" + - " new KiePMMLFieldRef(\"%2$s\", " + - "Collections.emptyList(), null);\n" + - " KiePMMLApply variableName_0 = " + - "KiePMMLApply.builder" + - "(\"variableName_0\", Collections" + - ".emptyList(), \"nested_function\")" + - ".withDefaultValue(\"%3$s\")" + - ".withMapMissingTo(\"%4$s\")" + - ".withInvalidValueTreatmentMethod" + - "(\"%5$s\").withKiePMMLExpressions" + - "(Arrays.asList(variableName_0_0, " + - "variableName_0_1)).build();\n" + - " KiePMMLApply %6$s = " + - "KiePMMLApply.builder(\"variableName\"," + - " Collections.emptyList(), " + - "\"function\").withDefaultValue(null)" + - ".withMapMissingTo(null)" + - ".withInvalidValueTreatmentMethod" + - "(\"%7$s\")" + - ".withKiePMMLExpressions(Arrays.asList" + - "(variableName_0)).build();\n" + - "}", PARAM_1, PARAM_2, - defaultValue, mapMissingTo, nestedInvalidValueTreatmentMethod.value(), - variableName, invalidValueTreatmentMethod.value())); + String text = getFileContent(TEST_03_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, PARAM_1, PARAM_2, + defaultValue, mapMissingTo, + nestedInvalidValueTreatmentMethod.value(), + variableName, + invalidValueTreatmentMethod.value())); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); - List> imports = Arrays.asList(KiePMMLFieldRef.class, KiePMMLApply.class, Collections.class, Arrays.class); + List> imports = Arrays.asList(KiePMMLFieldRef.class, KiePMMLApply.class, Collections.class, + Arrays.class); commonValidateCompilationWithImports(retrieved, imports); } - - } \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLCompoundPredicateFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLCompoundPredicateFactoryTest.java index 1a3424bcd89..8577705b784 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLCompoundPredicateFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLCompoundPredicateFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -44,6 +45,7 @@ import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; import static org.kie.pmml.compiler.commons.testutils.PMMLModelTestUtils.getSimplePredicate; import static org.kie.pmml.compiler.commons.testutils.PMMLModelTestUtils.getStringObjects; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLCompoundPredicateFactoryTest { @@ -53,9 +55,10 @@ public class KiePMMLCompoundPredicateFactoryTest { private static final Double value2 = 5.0; private static final SimplePredicate.Operator operator1 = SimplePredicate.Operator.EQUAL; private static final SimplePredicate.Operator operator2 = SimplePredicate.Operator.GREATER_THAN; + private static final String TEST_01_SOURCE = "KiePMMLCompoundPredicateFactoryTest_01.txt"; @Test - public void getCompoundPredicateVariableDeclaration() { + public void getCompoundPredicateVariableDeclaration() throws IOException { String variableName = "variableName"; SimplePredicate simplePredicate1 = getSimplePredicate(PARAM_1, value1, operator1); SimplePredicate simplePredicate2 = getSimplePredicate(PARAM_2, value2, operator2); @@ -82,8 +85,6 @@ public void getCompoundPredicateVariableDeclaration() { DataDictionary dataDictionary = new DataDictionary(); dataDictionary.addDataFields(dataField1, dataField2, dataField3); - - String booleanOperatorString = BOOLEAN_OPERATOR.class.getName() + "." + BOOLEAN_OPERATOR.byName(compoundPredicate.getBooleanOperator().value()).name(); String valuesString = values.stream() @@ -93,43 +94,13 @@ public void getCompoundPredicateVariableDeclaration() { final List> fields = getFieldsFromDataDictionary(dataDictionary); BlockStmt retrieved = KiePMMLCompoundPredicateFactory.getCompoundPredicateVariableDeclaration(variableName, compoundPredicate, fields); - Statement expected = JavaParserUtils.parseBlock(String.format("{\n" + - " KiePMMLSimplePredicate " + - "%1$s_0 = " + - "KiePMMLSimplePredicate.builder" + - "(\"PARAM_1\", Collections.emptyList()," + - " org.kie.pmml.api.enums.OPERATOR" + - ".EQUAL).withValue(100.0).build();\n" + - " KiePMMLSimplePredicate " + - "%1$s_1 = " + - "KiePMMLSimplePredicate.builder" + - "(\"PARAM_2\", Collections.emptyList()," + - " org.kie.pmml.api.enums.OPERATOR" + - ".GREATER_THAN).withValue(5.0).build();" + - "\n" + - " KiePMMLSimpleSetPredicate " + - "%1$s_2 = " + - "KiePMMLSimpleSetPredicate.builder" + - "(\"SIMPLESETPREDICATENAME\", " + - "Collections.emptyList(), org.kie.pmml" + - ".api.enums.ARRAY_TYPE.STRING, org.kie" + - ".pmml.api.enums.IN_NOTIN.IN)" + - ".withValues(Arrays.asList(%2$s))" + - ".build();\n" + - " KiePMMLCompoundPredicate " + - "%1$s = " + - "KiePMMLCompoundPredicate.builder" + - "(Collections.emptyList(), %3$s)" + - ".withKiePMMLPredicates(Arrays.asList" + - "(%1$s_0, %1$s_1, " + - "%1$s_2)).build();\n" + - "}", variableName, + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName, valuesString, booleanOperatorString)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); - List> imports = Arrays.asList(KiePMMLCompoundPredicate.class, KiePMMLSimplePredicate.class, KiePMMLSimpleSetPredicate.class, Arrays.class, Collections.class); + List> imports = Arrays.asList(KiePMMLCompoundPredicate.class, KiePMMLSimplePredicate.class, + KiePMMLSimpleSetPredicate.class, Arrays.class, Collections.class); commonValidateCompilationWithImports(retrieved, imports); } - - } \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLConstantFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLConstantFactoryTest.java index a15ae6da13a..f292edb067a 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLConstantFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLConstantFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -29,22 +30,21 @@ import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLConstantFactoryTest { + private static final String TEST_01_SOURCE = "KiePMMLConstantFactoryTest_01.txt"; + @Test - public void getConstantVariableDeclaration() { + public void getConstantVariableDeclaration() throws IOException { String variableName = "variableName"; Object value = 2342.21; Constant constant = new Constant(); constant.setValue(value); BlockStmt retrieved = KiePMMLConstantFactory.getConstantVariableDeclaration(variableName, constant); - Statement expected = JavaParserUtils.parseBlock(String.format("{" + - "KiePMMLConstant %1$s = new " + - "KiePMMLConstant(\"%1$s\", " + - "Collections" + - ".emptyList(), %2$s, null);" + - "}", variableName, value)); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName, value)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(KiePMMLConstant.class, Collections.class); commonValidateCompilationWithImports(retrieved, imports); diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLDefineFunctionFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLDefineFunctionFactoryTest.java index 282d932d40d..692e5e09f6f 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLDefineFunctionFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLDefineFunctionFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -42,6 +43,7 @@ import static org.kie.pmml.compiler.commons.CommonTestingUtils.getDATA_TYPEString; import static org.kie.pmml.compiler.commons.CommonTestingUtils.getOP_TYPEString; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLDefineFunctionFactoryTest { @@ -49,9 +51,10 @@ public class KiePMMLDefineFunctionFactoryTest { private static final String PARAM_1 = "PARAM_1"; private static final String PARAM_2 = "PARAM_2"; private static final Double value1 = 100.0; + private static final String TEST_01_SOURCE = "KiePMMLDefineFunctionFactoryTest_01.txt"; @Test - public void getDefineFunctionVariableDeclaration() { + public void getDefineFunctionVariableDeclaration() throws IOException { ParameterField parameterField1 = new ParameterField(FieldName.create(PARAM_1)); parameterField1.setDataType(DataType.DOUBLE); parameterField1.setOpType(OpType.CONTINUOUS); @@ -80,44 +83,9 @@ public void getDefineFunctionVariableDeclaration() { String opType2 = getOP_TYPEString(parameterField2.getOpType()); String opType3 = getOP_TYPEString(defineFunction.getOpType()); BlockStmt retrieved = KiePMMLDefineFunctionFactory.getDefineFunctionVariableDeclaration(defineFunction); + String text = getFileContent(TEST_01_SOURCE); Statement expected = JavaParserUtils - .parseBlock(String.format("{\n" + - " KiePMMLParameterField CUSTOM_FUNCTION_0 = " + - "KiePMMLParameterField.builder(\"%s\", Collections" + - ".emptyList())" + - ".withDataType(%s)" + - ".withOpType(%s)" + - ".withDisplayName(\"%s\")" + - ".build();\n" + - " KiePMMLParameterField CUSTOM_FUNCTION_1 = " + - "KiePMMLParameterField.builder(\"%s\", Collections" + - ".emptyList()).withDataType(%s)" + - ".withOpType(%s)" + - ".withDisplayName(\"%s\")" + - ".build();\n" + - " KiePMMLConstant CUSTOM_FUNCTION_Expression_0 = " + - "new KiePMMLConstant(\"CUSTOM_FUNCTION_Expression_0\", " + - "Collections.emptyList(), %s, null);\n" + - " KiePMMLFieldRef CUSTOM_FUNCTION_Expression_1 = " + - "new KiePMMLFieldRef(\"%s\", Collections.emptyList(), null);" + - "\n" + - " KiePMMLApply CUSTOM_FUNCTION_Expression = " + - "KiePMMLApply.builder(\"CUSTOM_FUNCTION_Expression\", Collections" + - ".emptyList(), \"%s\")" + - ".withDefaultValue(null)" + - ".withMapMissingTo(null)" + - ".withInvalidValueTreatmentMethod" + - "(\"%s\")" + - ".withKiePMMLExpressions(Arrays.asList" + - "(CUSTOM_FUNCTION_Expression_0, CUSTOM_FUNCTION_Expression_1))" + - ".build()" + - ";\n" + - " KiePMMLDefineFunction CUSTOM_FUNCTION = " + - "new KiePMMLDefineFunction(\"CUSTOM_FUNCTION\", Collections" + - ".emptyList(), %s, %s, Arrays" + - ".asList(CUSTOM_FUNCTION_0, CUSTOM_FUNCTION_1), " + - "CUSTOM_FUNCTION_Expression);\n" + - "}", + .parseBlock(String.format(text, parameterField1.getName().getValue(), dataType1, opType1, diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLDerivedFieldFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLDerivedFieldFactoryTest.java index 7fb7edcc540..f5fbeb4ed66 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLDerivedFieldFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLDerivedFieldFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -40,6 +41,7 @@ import static org.kie.pmml.compiler.commons.CommonTestingUtils.getDATA_TYPEString; import static org.kie.pmml.compiler.commons.CommonTestingUtils.getOP_TYPEString; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLDerivedFieldFactoryTest { @@ -47,9 +49,12 @@ public class KiePMMLDerivedFieldFactoryTest { private static final String PARAM_1 = "PARAM_1"; private static final String PARAM_2 = "PARAM_2"; private static final Double value1 = 100.0; + private static final String TEST_01_SOURCE = "KiePMMLDerivedFieldFactoryTest_01.txt"; + private static final String TEST_02_SOURCE = "KiePMMLDerivedFieldFactoryTest_02.txt"; + private static final String TEST_03_SOURCE = "KiePMMLDerivedFieldFactoryTest_03.txt"; @Test - public void getDerivedFieldVariableDeclarationWithConstant() { + public void getDerivedFieldVariableDeclarationWithConstant() throws IOException { final String variableName = "variableName"; Constant constant = new Constant(); constant.setValue(value1); @@ -61,14 +66,9 @@ public void getDerivedFieldVariableDeclarationWithConstant() { String dataType = getDATA_TYPEString(derivedField.getDataType()); String opType = getOP_TYPEString(derivedField.getOpType()); BlockStmt retrieved = KiePMMLDerivedFieldFactory.getDerivedFieldVariableDeclaration(variableName, derivedField); + String text = getFileContent(TEST_01_SOURCE); Statement expected = JavaParserUtils - .parseBlock(String.format("{\n" + - " KiePMMLConstant variableName_0 = new KiePMMLConstant" + - "(\"variableName_0\", Collections.emptyList(), %s, null);\n" + - " KiePMMLDerivedField %s = KiePMMLDerivedField.builder" + - "(\"%s\", Collections.emptyList(), %s, %s," + - " variableName_0).withDisplayName(null).build();\n" + - "}", constant.getValue(), + .parseBlock(String.format(text, constant.getValue(), variableName, derivedField.getName().getValue(), dataType, @@ -81,7 +81,7 @@ public void getDerivedFieldVariableDeclarationWithConstant() { } @Test - public void getDerivedFieldVariableDeclarationWithFieldRef() { + public void getDerivedFieldVariableDeclarationWithFieldRef() throws IOException { final String variableName = "variableName"; FieldRef fieldRef = new FieldRef(); fieldRef.setField(FieldName.create("FIELD_REF")); @@ -93,14 +93,9 @@ public void getDerivedFieldVariableDeclarationWithFieldRef() { String dataType = getDATA_TYPEString(derivedField.getDataType()); String opType = getOP_TYPEString(derivedField.getOpType()); BlockStmt retrieved = KiePMMLDerivedFieldFactory.getDerivedFieldVariableDeclaration(variableName, derivedField); + String text = getFileContent(TEST_02_SOURCE); Statement expected = JavaParserUtils - .parseBlock(String.format("{\n" + - " KiePMMLFieldRef variableName_0 = new KiePMMLFieldRef" + - "(\"%s\", Collections.emptyList(), null);\n" + - " KiePMMLDerivedField %s = KiePMMLDerivedField.builder" + - "(\"%s\", Collections.emptyList(), %s, %s," + - " variableName_0).withDisplayName(null).build();\n" + - "}", fieldRef.getField().getValue(), + .parseBlock(String.format(text, fieldRef.getField().getValue(), variableName, derivedField.getName().getValue(), dataType, @@ -113,7 +108,7 @@ public void getDerivedFieldVariableDeclarationWithFieldRef() { } @Test - public void getDerivedFieldVariableDeclarationWithApply() { + public void getDerivedFieldVariableDeclarationWithApply() throws IOException { final String variableName = "variableName"; Constant constant = new Constant(); constant.setValue(value1); @@ -130,22 +125,9 @@ public void getDerivedFieldVariableDeclarationWithApply() { String dataType = getDATA_TYPEString(derivedField.getDataType()); String opType = getOP_TYPEString(derivedField.getOpType()); BlockStmt retrieved = KiePMMLDerivedFieldFactory.getDerivedFieldVariableDeclaration(variableName, derivedField); + String text = getFileContent(TEST_03_SOURCE); Statement expected = JavaParserUtils - .parseBlock(String.format("{\n" + - " KiePMMLConstant variableName_0_0 = new KiePMMLConstant" + - "(\"variableName_0_0\", Collections.emptyList(), %s, null);\n" + - " KiePMMLFieldRef variableName_0_1 = new KiePMMLFieldRef" + - "(\"%s\", Collections.emptyList(), null);\n" + - " KiePMMLApply variableName_0 = KiePMMLApply.builder" + - "(\"variableName_0\", Collections.emptyList(), \"%s\")" + - ".withDefaultValue(null).withMapMissingTo(null)" + - ".withInvalidValueTreatmentMethod(\"%s\")" + - ".withKiePMMLExpressions(Arrays.asList(variableName_0_0, " + - "variableName_0_1)).build();\n" + - " KiePMMLDerivedField %s = KiePMMLDerivedField.builder" + - "(\"%s\", Collections.emptyList(), %s, %s," + - " variableName_0).withDisplayName(null).build();\n" + - "}", + .parseBlock(String.format(text, constant.getValue(), fieldRef.getField().getValue(), apply.getFunction(), diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLDiscretizeBinFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLDiscretizeBinFactoryTest.java index ce77a686be0..659d8436158 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLDiscretizeBinFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLDiscretizeBinFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -32,11 +33,14 @@ import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLDiscretizeBinFactoryTest { + private static final String TEST_01_SOURCE = "KiePMMLDiscretizeBinFactoryTest_01.txt"; + @Test - public void getDiscretizeBinVariableDeclaration() { + public void getDiscretizeBinVariableDeclaration() throws IOException { String variableName = "variableName"; double leftMargin = 45.32; @@ -52,25 +56,14 @@ public void getDiscretizeBinVariableDeclaration() { discretizeBin.setInterval(interval); BlockStmt retrieved = KiePMMLDiscretizeBinFactory.getDiscretizeBinVariableDeclaration(variableName, - discretizeBin); + discretizeBin); String closureString = CLOSURE.class.getName() + "." + CLOSURE.byName(interval.getClosure().value()).name(); - - Statement expected = JavaParserUtils.parseBlock(String.format("{\n" + - " KiePMMLInterval " + - "%1$s_Interval = new " + - "KiePMMLInterval(%2$s, " + - "null, " + - "%3$s);\n" + - " KiePMMLDiscretizeBin " + - "%1$s = new " + - "KiePMMLDiscretizeBin(\"%1$s\", " + - "Collections.emptyList(), " + - "\"%4$s\", %1$s_Interval);\n" + - "}", variableName, leftMargin, closureString, binValue)); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName, leftMargin, closureString, + binValue)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(Collections.class, KiePMMLDiscretizeBin.class, KiePMMLInterval.class); commonValidateCompilationWithImports(retrieved, imports); } - } \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLDiscretizeFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLDiscretizeFactoryTest.java index e8038d6fe89..276d118f3fe 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLDiscretizeFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLDiscretizeFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -37,6 +38,7 @@ import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.CommonTestingUtils.getDATA_TYPEString; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLDiscretizeFactoryTest { @@ -44,6 +46,7 @@ public class KiePMMLDiscretizeFactoryTest { private static final String MAP_MISSING_TO = "mapMissingTo"; private static final String DEFAULTVALUE = "defaultValue"; private static final DataType dataType = DataType.INTEGER; + private static final String TEST_01_SOURCE = "KiePMMLDiscretizeFactoryTest_01.txt"; private static DiscretizeBin discretizeBin1; private static DiscretizeBin discretizeBin2; @@ -58,7 +61,7 @@ public static void setup() { } @Test - public void getDiscretizeBinVariableDeclaration() { + public void getDiscretizeVariableDeclaration() throws IOException { String variableName = "variableName"; Discretize discretize = new Discretize(); discretize.setField(FieldName.create(NAME)); @@ -68,40 +71,14 @@ public void getDiscretizeBinVariableDeclaration() { discretize.addDiscretizeBins(discretizeBins.toArray(new DiscretizeBin[0])); BlockStmt retrieved = KiePMMLDiscretizeFactory.getDiscretizeVariableDeclaration(variableName, - discretize); + discretize); String dataTypeString = getDATA_TYPEString(discretize.getDataType()); - - Statement expected = JavaParserUtils.parseBlock(String.format("{\n" + - " KiePMMLInterval " + - "%1$s_0_Interval = new " + - "KiePMMLInterval(null, 20, org.kie.pmml" + - ".api.enums.CLOSURE.OPEN_OPEN);\n" + - " KiePMMLDiscretizeBin " + - "variableName_0 = new " + - "KiePMMLDiscretizeBin" + - "(\"%1$s_0\", Collections" + - ".emptyList(), \"discretizeBin1\", " + - "%1$s_0_Interval);\n" + - " KiePMMLInterval " + - "%1$s_1_Interval = new " + - "KiePMMLInterval(21, 30, org.kie.pmml" + - ".api.enums.CLOSURE.OPEN_CLOSED);\n" + - " KiePMMLDiscretizeBin " + - "%1$s_1 = new " + - "KiePMMLDiscretizeBin" + - "(\"%1$s_1\", Collections" + - ".emptyList(), \"discretizeBin2\", " + - "%1$s_1_Interval);\n" + - " KiePMMLDiscretize %1$s = " + - "new KiePMMLDiscretize" + - "(\"%2$s\", Collections" + - ".emptyList(), Arrays.asList" + - "(%1$s_0, %1$s_1), " + - "\"%3$s\", \"%4$s\", " + - "%5$s);\n" + - "}", variableName, NAME, MAP_MISSING_TO, DEFAULTVALUE, dataTypeString)); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName, NAME, MAP_MISSING_TO, + DEFAULTVALUE, dataTypeString)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); - List> imports = Arrays.asList(Arrays.class, Collections.class, KiePMMLDiscretize.class, KiePMMLDiscretizeBin.class, KiePMMLInterval.class); + List> imports = Arrays.asList(Arrays.class, Collections.class, KiePMMLDiscretize.class, + KiePMMLDiscretizeBin.class, KiePMMLInterval.class); commonValidateCompilationWithImports(retrieved, imports); } @@ -119,5 +96,4 @@ private static DiscretizeBin getDiscretizeBin(Interval interval, String binValue toReturn.setInterval(interval); return toReturn; } - } \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLFalsePredicateFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLFalsePredicateFactoryTest.java index 9d8ed67a570..2ff055cf901 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLFalsePredicateFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLFalsePredicateFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -27,22 +28,21 @@ import org.kie.pmml.commons.model.predicates.KiePMMLFalsePredicate; import org.kie.pmml.compiler.commons.utils.JavaParserUtils; -import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLFalsePredicateFactoryTest { + private static final String TEST_01_SOURCE = "KiePMMLFalsePredicateFactoryTest_01.txt"; + @Test - public void getFalsePredicateVariableDeclaration() { + public void getFalsePredicateVariableDeclaration() throws IOException { String variableName = "variableName"; - BlockStmt retrieved = KiePMMLFalsePredicateFactory.getFalsePredicateVariableDeclaration(variableName, new False()); - Statement expected = JavaParserUtils.parseBlock(String.format("{" + - "KiePMMLFalsePredicate %1$s = new " + - "KiePMMLFalsePredicate(\"%1$s\", " + - "Collections" + - ".emptyList());" + - "}", variableName)); + BlockStmt retrieved = KiePMMLFalsePredicateFactory.getFalsePredicateVariableDeclaration(variableName, + new False()); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(KiePMMLFalsePredicate.class, Collections.class); commonValidateCompilationWithImports(retrieved, imports); diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLFieldColumnPairFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLFieldColumnPairFactoryTest.java index 19b503ceb30..a894e12a1cc 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLFieldColumnPairFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLFieldColumnPairFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -40,12 +41,15 @@ import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; import static org.kie.test.util.filesystem.FileUtils.getFileInputStream; public class KiePMMLFieldColumnPairFactoryTest { + private static final String TEST_01_SOURCE = "KiePMMLFieldColumnPairFactoryTest_01.txt"; + @Test - public void getRowVariableDeclaration() { + public void getRowVariableDeclaration() throws IOException { String variableName = "variableName"; String fieldName = "fieldName"; String column = "column"; @@ -55,11 +59,8 @@ public void getRowVariableDeclaration() { BlockStmt retrieved = KiePMMLFieldColumnPairFactory.getFieldColumnPairVariableDeclaration(variableName, fieldColumnPair); - Statement expected = JavaParserUtils.parseBlock(String.format("{\n" + - " KiePMMLFieldColumnPair %s = " + - "new KiePMMLFieldColumnPair(\"%s\", Collections.emptyList(), \"%s\");" + - "\n" + - "}", variableName, fieldName, column)); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName, fieldName, column)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(Collections.class, KiePMMLFieldColumnPair.class); commonValidateCompilationWithImports(retrieved, imports); diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLFieldRefFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLFieldRefFactoryTest.java index 29fea7cac7a..26e1d6c547d 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLFieldRefFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLFieldRefFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -31,11 +32,14 @@ import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLFieldRefFactoryTest { + private static final String TEST_01_SOURCE = "KiePMMLFieldRefFactoryTest_01.txt"; + @Test - public void getFieldRefVariableDeclaration() { + public void getFieldRefVariableDeclaration() throws IOException { String variableName = "variableName"; String fieldName = "fieldName"; String mapMissingTo = "mapMissingTo"; @@ -43,11 +47,8 @@ public void getFieldRefVariableDeclaration() { fieldRef.setField(FieldName.create(fieldName)); fieldRef.setMapMissingTo(mapMissingTo); BlockStmt retrieved = KiePMMLFieldRefFactory.getFieldRefVariableDeclaration(variableName, fieldRef); - Statement expected = JavaParserUtils.parseBlock(String.format("{" + - "KiePMMLFieldRef %1$s = new " + - "KiePMMLFieldRef(\"%2$s\", Collections" + - ".emptyList(),\"%3$s\");" + - "}", variableName, fieldName, mapMissingTo)); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName, fieldName, mapMissingTo)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(KiePMMLFieldRef.class, Collections.class); commonValidateCompilationWithImports(retrieved, imports); diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLInlineTableFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLInlineTableFactoryTest.java index 13b1f074397..89426be44e2 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLInlineTableFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLInlineTableFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -38,12 +39,14 @@ import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; import static org.kie.test.util.filesystem.FileUtils.getFileInputStream; public class KiePMMLInlineTableFactoryTest { private static final String TRANSFORMATIONS_SAMPLE = "TransformationsSample.pmml"; private static final String MAPVALUED = "mapvalued"; + private static final String TEST_01_SOURCE = "KiePMMLInlineTableFactoryTest_01.txt"; private static InlineTable INLINETABLE; @BeforeClass @@ -59,80 +62,15 @@ public static void setup() throws Exception { } @Test - public void getInlineTableVariableDeclaration() { + public void getInlineTableVariableDeclaration() throws IOException { String variableName = "variableName"; BlockStmt retrieved = KiePMMLInlineTableFactory.getInlineTableVariableDeclaration(variableName, INLINETABLE); - Statement expected = JavaParserUtils.parseBlock(String.format("{\n" + - " Map " + - "%1$s_0_columnValues = Stream" + - ".of(new Object[][] { { \"band\", \"1\"" + - " }, { \"state\", \"MN\" }, { \"out\", " + - "\"10000\" } }).collect(Collectors" + - ".toMap(data -> (String) data[0], data " + - "-> data[1]));\n" + - " KiePMMLRow %1$s_0 = new " + - "KiePMMLRow" + - "(%1$s_0_columnValues);\n" + - " Map " + - "%1$s_1_columnValues = Stream" + - ".of(new Object[][] { { \"band\", \"1\"" + - " }, { \"state\", \"IL\" }, { \"out\", " + - "\"12000\" } }).collect(Collectors" + - ".toMap(data -> (String) data[0], data " + - "-> data[1]));\n" + - " KiePMMLRow %1$s_1 = new " + - "KiePMMLRow" + - "(%1$s_1_columnValues);\n" + - " Map " + - "%1$s_2_columnValues = Stream" + - ".of(new Object[][] { { \"band\", \"1\"" + - " }, { \"state\", \"NY\" }, { \"out\", " + - "\"20000\" } }).collect(Collectors" + - ".toMap(data -> (String) data[0], data " + - "-> data[1]));\n" + - " KiePMMLRow %1$s_2 = new " + - "KiePMMLRow" + - "(%1$s_2_columnValues);\n" + - " Map " + - "%1$s_3_columnValues = Stream" + - ".of(new Object[][] { { \"band\", \"2\"" + - " }, { \"state\", \"MN\" }, { \"out\", " + - "\"20000\" } }).collect(Collectors" + - ".toMap(data -> (String) data[0], data " + - "-> data[1]));\n" + - " KiePMMLRow %1$s_3 = new " + - "KiePMMLRow" + - "(%1$s_3_columnValues);\n" + - " Map " + - "%1$s_4_columnValues = Stream" + - ".of(new Object[][] { { \"band\", \"2\"" + - " }, { \"state\", \"IL\" }, { \"out\", " + - "\"23000\" } }).collect(Collectors" + - ".toMap(data -> (String) data[0], data " + - "-> data[1]));\n" + - " KiePMMLRow %1$s_4 = new " + - "KiePMMLRow" + - "(%1$s_4_columnValues);\n" + - " Map " + - "%1$s_5_columnValues = Stream" + - ".of(new Object[][] { { \"band\", \"2\"" + - " }, { \"state\", \"NY\" }, { \"out\", " + - "\"30000\" } }).collect(Collectors" + - ".toMap(data -> (String) data[0], data " + - "-> data[1]));\n" + - " KiePMMLRow %1$s_5 = new " + - "KiePMMLRow" + - "(%1$s_5_columnValues);\n" + - " KiePMMLInlineTable %1$s = " + - "new KiePMMLInlineTable(\"%1$s\", " + - "Collections.emptyList(), Arrays.asList" + - "(%1$s_0, %1$s_1, " + - "%1$s_2, %1$s_3, " + - "%1$s_4, %1$s_5));\n" + - "}", variableName)); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); - List> imports = Arrays.asList(Arrays.class, Collections.class, Collectors.class, KiePMMLInlineTable.class, KiePMMLRow.class, Map.class, Stream.class); + List> imports = Arrays.asList(Arrays.class, Collections.class, Collectors.class, + KiePMMLInlineTable.class, KiePMMLRow.class, Map.class, Stream.class); commonValidateCompilationWithImports(retrieved, imports); } } \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLIntervalFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLIntervalFactoryTest.java index 6a25ddc2d19..55696cacacc 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLIntervalFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLIntervalFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -30,11 +31,14 @@ import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLIntervalFactoryTest { + private static final String TEST_01_SOURCE = "KiePMMLIntervalFactoryTest_01.txt"; + @Test - public void getIntervalVariableDeclaration() { + public void getIntervalVariableDeclaration() throws IOException { String variableName = "variableName"; double leftMargin = 45.32; @@ -47,17 +51,10 @@ public void getIntervalVariableDeclaration() { interval); String closureString = CLOSURE.class.getName() + "." + CLOSURE.byName(interval.getClosure().value()).name(); - - Statement expected = JavaParserUtils.parseBlock(String.format("{\n" + - " KiePMMLInterval " + - "%s = new " + - "KiePMMLInterval(%s, " + - "null, " + - "%s);\n" + - "}", variableName, leftMargin, closureString)); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName, leftMargin, closureString)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(Collections.class, KiePMMLInterval.class); commonValidateCompilationWithImports(retrieved, imports); } - } \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLLocalTranformationsFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLLocalTransformationsFactoryTest.java similarity index 60% rename from kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLLocalTranformationsFactoryTest.java rename to kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLLocalTransformationsFactoryTest.java index bc3e2bde485..e3241d56bcc 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLLocalTranformationsFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLLocalTransformationsFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -34,43 +35,30 @@ import org.kie.pmml.commons.model.expressions.KiePMMLConstant; import org.kie.pmml.commons.transformations.KiePMMLDerivedField; import org.kie.pmml.commons.transformations.KiePMMLLocalTransformations; -import org.kie.pmml.compiler.commons.codegenfactories.KiePMMLLocalTransformationsFactory; import org.kie.pmml.compiler.commons.utils.JavaParserUtils; import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; -public class KiePMMLLocalTranformationsFactoryTest { +public class KiePMMLLocalTransformationsFactoryTest { private static final String CUSTOM_FUNCTION = "CUSTOM_FUNCTION"; private static final String PARAM_1 = "PARAM_1"; private static final String PARAM_2 = "PARAM_2"; private static final Double value1 = 100.0; + private static final String TEST_01_SOURCE = "KiePMMLLocalTransformationsFactoryTest_01.txt"; @Test - public void getKiePMMLTransformationDictionaryVariableDeclaration() { + public void getKiePMMLTransformationDictionaryVariableDeclaration() throws IOException { LocalTransformations localTransformations = new LocalTransformations(); localTransformations.addDerivedFields(getDerivedFields()); - BlockStmt retrieved = KiePMMLLocalTransformationsFactory.getKiePMMLLocalTransformationsVariableDeclaration(localTransformations); - Statement expected = JavaParserUtils - .parseBlock("{\n" + - " KiePMMLConstant localTransformationsDerivedField_0_0 = new KiePMMLConstant" + - "(\"localTransformationsDerivedField_0_0\", Collections.emptyList(), 100.0);\n" + - " KiePMMLDerivedField localTransformationsDerivedField_0 = KiePMMLDerivedField" + - ".builder(\"PARAM_20\", Collections.emptyList(), \"double\", \"continuous\", " + - "localTransformationsDerivedField_0_0).withDisplayName(null).build();\n" + - " KiePMMLConstant localTransformationsDerivedField_1_0 = new KiePMMLConstant" + - "(\"localTransformationsDerivedField_1_0\", Collections.emptyList(), 100.0);\n" + - " KiePMMLDerivedField localTransformationsDerivedField_1 = KiePMMLDerivedField" + - ".builder(\"PARAM_21\", Collections.emptyList(), \"double\", \"continuous\", " + - "localTransformationsDerivedField_1_0).withDisplayName(null).build();\n" + - " KiePMMLLocalTransformations localTransformations = " + - "KiePMMLLocalTransformations.builder(\"localTransformations\", Collections" + - ".emptyList()).withDerivedFields(Arrays.asList" + - "(localTransformationsDerivedField_0, localTransformationsDerivedField_1)).build" + - "();\n" + - "}"); + BlockStmt retrieved = + KiePMMLLocalTransformationsFactory.getKiePMMLLocalTransformationsVariableDeclaration(localTransformations); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(text); + assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(KiePMMLConstant.class, KiePMMLApply.class, KiePMMLDerivedField.class, diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLMapValuesFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLMapValuesFactoryTest.java index 1d7771b46d0..c26017c4166 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLMapValuesFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLMapValuesFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -39,12 +40,14 @@ import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; import static org.kie.test.util.filesystem.FileUtils.getFileInputStream; public class KiePMMLMapValuesFactoryTest { private static final String TRANSFORMATIONS_SAMPLE = "TransformationsSample.pmml"; private static final String MAPVALUED = "mapvalued"; + private static final String TEST_01_SOURCE = "KiePMMLMapValuesFactoryTest_01.txt"; private static MapValues MAPVALUES; @BeforeClass @@ -60,81 +63,16 @@ public static void setup() throws Exception { } @Test - public void getMapValuesVariableDeclaration() { + public void getMapValuesVariableDeclaration() throws IOException { String variableName = "variableName"; BlockStmt retrieved = KiePMMLMapValuesFactory.getMapValuesVariableDeclaration(variableName, - MAPVALUES); - Statement expected = JavaParserUtils.parseBlock(String.format("{\n" + - " KiePMMLFieldColumnPair " + - "%1$s_0 = new " + - "KiePMMLFieldColumnPair(\"BAND\", " + - "Collections.emptyList(), \"band\");\n" + - " KiePMMLFieldColumnPair " + - "%1$s_1 = new " + - "KiePMMLFieldColumnPair(\"STATE\", " + - "Collections.emptyList(), \"state\");\n" + - " Map " + - "%1$s_InlineTable_0_columnValues = Stream.of(new Object[][] { { \"band\", \"1\" }, { \"state\", \"MN\" }, { \"out\", \"10000\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "%1$s_InlineTable_0 = new " + - "KiePMMLRow" + - "(%1$s_InlineTable_0_columnValues);\n" + - " Map " + - "%1$s_InlineTable_1_columnValues = Stream.of(new Object[][] { { \"band\", \"1\" }, { \"state\", \"IL\" }, { \"out\", \"12000\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "%1$s_InlineTable_1 = new " + - "KiePMMLRow" + - "(%1$s_InlineTable_1_columnValues);\n" + - " Map " + - "%1$s_InlineTable_2_columnValues = Stream.of(new Object[][] { { \"band\", \"1\" }, { \"state\", \"NY\" }, { \"out\", \"20000\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "%1$s_InlineTable_2 = new " + - "KiePMMLRow" + - "(%1$s_InlineTable_2_columnValues);\n" + - " Map " + - "%1$s_InlineTable_3_columnValues = Stream.of(new Object[][] { { \"band\", \"2\" }, { \"state\", \"MN\" }, { \"out\", \"20000\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "%1$s_InlineTable_3 = new " + - "KiePMMLRow" + - "(%1$s_InlineTable_3_columnValues);\n" + - " Map " + - "%1$s_InlineTable_4_columnValues = Stream.of(new Object[][] { { \"band\", \"2\" }, { \"state\", \"IL\" }, { \"out\", \"23000\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "%1$s_InlineTable_4 = new " + - "KiePMMLRow" + - "(%1$s_InlineTable_4_columnValues);\n" + - " Map " + - "%1$s_InlineTable_5_columnValues = Stream.of(new Object[][] { { \"band\", \"2\" }, { \"state\", \"NY\" }, { \"out\", \"30000\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "%1$s_InlineTable_5 = new " + - "KiePMMLRow" + - "(%1$s_InlineTable_5_columnValues);\n" + - " KiePMMLInlineTable " + - "%1$s_InlineTable = new " + - "KiePMMLInlineTable" + - "(\"%1$s_InlineTable\", " + - "Collections.emptyList(), Arrays.asList" + - "(%1$s_InlineTable_0, " + - "%1$s_InlineTable_1, " + - "%1$s_InlineTable_2, " + - "%1$s_InlineTable_3, " + - "%1$s_InlineTable_4, " + - "%1$s_InlineTable_5));\n" + - " KiePMMLMapValues %1$s = " + - "KiePMMLMapValues.builder" + - "(\"%1$s\", Collections" + - ".emptyList(), \"out\")" + - ".withDefaultValue(null)" + - ".withMapMissingTo(null).withDataType" + - "(org.kie.pmml.api.enums.DATA_TYPE" + - ".INTEGER).withKiePMMLInlineTable" + - "(%1$s_InlineTable)" + - ".withKiePMMLFieldColumnPairs(Arrays" + - ".asList(%1$s_0, " + - "%1$s_1)).build();\n" + - "}", variableName)); + MAPVALUES); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); - List> imports = Arrays.asList(Arrays.class, Collections.class, Collectors.class, KiePMMLFieldColumnPair.class, KiePMMLInlineTable.class, KiePMMLMapValues.class, KiePMMLRow.class, Map.class, Stream.class); + List> imports = Arrays.asList(Arrays.class, Collections.class, Collectors.class, + KiePMMLFieldColumnPair.class, KiePMMLInlineTable.class, + KiePMMLMapValues.class, KiePMMLRow.class, Map.class, Stream.class); commonValidateCompilationWithImports(retrieved, imports); } } \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLModelFactoryUtilsTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLModelFactoryUtilsTest.java index 3b49e3eaff1..57f341c6d40 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLModelFactoryUtilsTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLModelFactoryUtilsTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.List; import java.util.Optional; import java.util.Random; @@ -66,6 +67,7 @@ import static org.kie.pmml.compiler.commons.testutils.PMMLModelTestUtils.getRandomMiningField; import static org.kie.pmml.compiler.commons.testutils.PMMLModelTestUtils.getRandomOutputField; import static org.kie.pmml.compiler.commons.utils.JavaParserUtils.getFromFileName; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; import static org.kie.test.util.filesystem.FileUtils.getFileInputStream; public class KiePMMLModelFactoryUtilsTest { @@ -73,6 +75,8 @@ public class KiePMMLModelFactoryUtilsTest { private static final String SOURCE = "TransformationsSample.pmml"; private static final String TEMPLATE_SOURCE = "Template.tmpl"; private static final String TEMPLATE_CLASS_NAME = "Template"; + private static final String TEST_01_SOURCE = "KiePMMLModelFactoryUtilsTest_01.txt"; + private static final String TEST_02_SOURCE = "KiePMMLModelFactoryUtilsTest_02.txt"; private static CompilationUnit compilationUnit; private static PMML pmmlModel; private static TreeModel model; @@ -151,7 +155,7 @@ public void setKiePMMLModelConstructor() { } @Test - public void addTransformationsInClassOrInterfaceDeclaration() { + public void addTransformationsInClassOrInterfaceDeclaration() throws IOException { assertTrue(classOrInterfaceDeclaration.getMethodsByName("createTransformationDictionary").isEmpty()); assertTrue(classOrInterfaceDeclaration.getMethodsByName("createLocalTransformations").isEmpty()); KiePMMLModelFactoryUtils.addTransformationsInClassOrInterfaceDeclaration(classOrInterfaceDeclaration, @@ -159,352 +163,13 @@ public void addTransformationsInClassOrInterfaceDeclaration() { model.getLocalTransformations()); assertEquals(1, classOrInterfaceDeclaration.getMethodsByName("createTransformationDictionary").size()); assertEquals(1, classOrInterfaceDeclaration.getMethodsByName("createLocalTransformations").size()); - MethodDeclaration expected = JavaParserUtils.parseMethod("private org.kie.pmml.commons.transformations" + - ".KiePMMLTransformationDictionary " + - "createTransformationDictionary() {\n" + - " KiePMMLParameterField " + - "CONSTANT_FUNCTION_0 = KiePMMLParameterField" + - ".builder(\"empty\", Collections.emptyList()" + - ").withDataType(null).withOpType(null)" + - ".withDisplayName(null).build();\n" + - " KiePMMLConstant " + - "CONSTANT_FUNCTION_Expression = new " + - "KiePMMLConstant" + - "(\"CONSTANT_FUNCTION_Expression\", " + - "Collections.emptyList(), " + - "\"CONSTANT_FUNCTION_VALUE\", null);\n" + - " KiePMMLDefineFunction CONSTANT_FUNCTION" + - " = new KiePMMLDefineFunction" + - "(\"CONSTANT_FUNCTION\", Collections" + - ".emptyList(), org.kie.pmml.api.enums" + - ".DATA_TYPE.STRING, org.kie.pmml.api.enums" + - ".OP_TYPE.CATEGORICAL, Arrays.asList" + - "(CONSTANT_FUNCTION_0), " + - "CONSTANT_FUNCTION_Expression);\n" + - " KiePMMLParameterField " + - "FIELDREF_FUNCTION_0 = KiePMMLParameterField" + - ".builder(\"fieldRed\", Collections" + - ".emptyList()).withDataType(null).withOpType" + - "(null).withDisplayName(null).build();\n" + - " KiePMMLFieldRef " + - "FIELDREF_FUNCTION_Expression = new " + - "KiePMMLFieldRef(\"Petal.Length\", " + - "Collections.emptyList(), null);\n" + - " KiePMMLDefineFunction FIELDREF_FUNCTION" + - " = new KiePMMLDefineFunction" + - "(\"FIELDREF_FUNCTION\", Collections" + - ".emptyList(), org.kie.pmml.api.enums" + - ".DATA_TYPE.DOUBLE, org.kie.pmml.api.enums" + - ".OP_TYPE.CONTINUOUS, Arrays.asList" + - "(FIELDREF_FUNCTION_0), " + - "FIELDREF_FUNCTION_Expression);\n" + - " KiePMMLParameterField APPLY_FUNCTION_0 " + - "= KiePMMLParameterField.builder" + - "(\"fieldRed\", Collections.emptyList())" + - ".withDataType(null).withOpType(null)" + - ".withDisplayName(null).build();\n" + - " KiePMMLFieldRef " + - "APPLY_FUNCTION_Expression_0 = new " + - "KiePMMLFieldRef(\"Petal.Length\", " + - "Collections.emptyList(), null);\n" + - " KiePMMLApply APPLY_FUNCTION_Expression " + - "= KiePMMLApply.builder" + - "(\"APPLY_FUNCTION_Expression\", Collections" + - ".emptyList(), \"FIELDREF_FUNCTION\")" + - ".withDefaultValue(null).withMapMissingTo" + - "(null).withInvalidValueTreatmentMethod" + - "(\"returnInvalid\").withKiePMMLExpressions" + - "(Arrays.asList(APPLY_FUNCTION_Expression_0)" + - ").build();\n" + - " KiePMMLDefineFunction APPLY_FUNCTION = " + - "new KiePMMLDefineFunction" + - "(\"APPLY_FUNCTION\", Collections.emptyList" + - "(), org.kie.pmml.api.enums.DATA_TYPE" + - ".DOUBLE, org.kie.pmml.api.enums.OP_TYPE" + - ".CONTINUOUS, Arrays.asList" + - "(APPLY_FUNCTION_0), " + - "APPLY_FUNCTION_Expression);\n" + - " KiePMMLParameterField " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_0 = " + - "KiePMMLParameterField.builder" + - "(\"reviewText\", Collections.emptyList())" + - ".withDataType(null).withOpType(null)" + - ".withDisplayName(null).build();\n" + - " KiePMMLParameterField " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_1 = " + - "KiePMMLParameterField.builder(\"term\", " + - "Collections.emptyList()).withDataType(null)" + - ".withOpType(null).withDisplayName(null)" + - ".build();\n" + - " KiePMMLFieldRef " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_Expression = new KiePMMLFieldRef(\"term\", Collections.emptyList(), null);\n" + - " Map " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_0_columnValues = Stream.of(new Object[][] { { \"regex\", \"true\" }, { \"string\", \"interfaces?\" }, { \"stem\", \"interface\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_0 = new KiePMMLRow(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_0_columnValues);\n" + - " Map " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_1_columnValues = Stream.of(new Object[][] { { \"regex\", \"true\" }, { \"string\", \"is|are|seem(ed|s?)|were\" }, { \"stem\", \"be\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_1 = new KiePMMLRow(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_1_columnValues);\n" + - " Map " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_2_columnValues = Stream.of(new Object[][] { { \"regex\", \"true\" }, { \"string\", \"user friendl(y|iness)\" }, { \"stem\", \"user_friendly\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_2 = new KiePMMLRow(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_2_columnValues);\n" + - " KiePMMLInlineTable " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable = new KiePMMLInlineTable(\"TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable\", Collections.emptyList(), Arrays.asList(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_0, TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_1, TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_2));\n" + - " KiePMMLTextIndexNormalization " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0 = KiePMMLTextIndexNormalization.builder(\"TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0\", Collections.emptyList()).withInField(\"string\").withOutField(\"stem\").withKiePMMLInlineTable(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable).withRegexField(\"regex\").withRecursive(false).withIsCaseSensitive(false).withMaxLevenshteinDistance(null).withWordSeparatorCharacterRE(null).withTokenize(false).build();\n" + - " Map " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1_InlineTable_0_columnValues = Stream.of(new Object[][] { { \"regex\", \"true\" }, { \"re\", \"interface be (user_friendly|well designed|excellent)\" }, { \"feature\", \"ui_good\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1_InlineTable_0 = new KiePMMLRow(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1_InlineTable_0_columnValues);\n" + - " KiePMMLInlineTable " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1_InlineTable = new KiePMMLInlineTable(\"TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1_InlineTable\", Collections.emptyList(), Arrays.asList(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1_InlineTable_0));\n" + - " KiePMMLTextIndexNormalization " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1 = KiePMMLTextIndexNormalization.builder(\"TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1\", Collections.emptyList()).withInField(\"re\").withOutField(\"feature\").withKiePMMLInlineTable(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1_InlineTable).withRegexField(\"regex\").withRecursive(false).withIsCaseSensitive(false).withMaxLevenshteinDistance(null).withWordSeparatorCharacterRE(null).withTokenize(false).build();\n" + - " KiePMMLTextIndex " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_Expression = KiePMMLTextIndex.builder(\"reviewText\", Collections.emptyList(), TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_Expression).withLocalTermWeights(org.kie.pmml.api.enums.LOCAL_TERM_WEIGHTS.BINARY).withIsCaseSensitive(false).withMaxLevenshteinDistance(0).withCountHits(org.kie.pmml.api.enums.COUNT_HITS.ALL_HITS).withWordSeparatorCharacterRE(\"\\\\s+\").withTokenize(true).withTextIndexNormalizations(Arrays.asList(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0, TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1)).build();\n" + - " KiePMMLDefineFunction " + - "TEXT_INDEX_NORMALIZATION_FUNCTION = new " + - "KiePMMLDefineFunction" + - "(\"TEXT_INDEX_NORMALIZATION_FUNCTION\", " + - "Collections.emptyList(), null, org.kie.pmml" + - ".api.enums.OP_TYPE.CONTINUOUS, Arrays" + - ".asList" + - "(TEXT_INDEX_NORMALIZATION_FUNCTION_0, " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_1), " + - "TEXT_INDEX_NORMALIZATION_FUNCTION_Expression);\n" + - " KiePMMLConstant " + - "transformationDictionaryDerivedField_0_0 = " + - "new KiePMMLConstant" + - "(\"transformationDictionaryDerivedField_0_0" + - "\", Collections.emptyList(), " + - "\"CONSTANT_DERIVEDFIELD_VALUE\", null);\n" + - " KiePMMLDerivedField " + - "transformationDictionaryDerivedField_0 = " + - "KiePMMLDerivedField.builder" + - "(\"CONSTANT_DERIVEDFIELD\", Collections" + - ".emptyList(), org.kie.pmml.api.enums" + - ".DATA_TYPE.STRING, org.kie.pmml.api.enums" + - ".OP_TYPE.CATEGORICAL, " + - "transformationDictionaryDerivedField_0_0)" + - ".withDisplayName(null).build();\n" + - " KiePMMLFieldRef " + - "transformationDictionaryDerivedField_1_0_0 " + - "= new KiePMMLFieldRef(\"Petal.Length\", " + - "Collections.emptyList(), null);\n" + - " KiePMMLApply " + - "transformationDictionaryDerivedField_1_0 = " + - "KiePMMLApply.builder" + - "(\"transformationDictionaryDerivedField_1_0" + - "\", Collections.emptyList(), " + - "\"APPLY_FUNCTION\").withDefaultValue(null)" + - ".withMapMissingTo(null)" + - ".withInvalidValueTreatmentMethod" + - "(\"returnInvalid\").withKiePMMLExpressions" + - "(Arrays.asList" + - "(transformationDictionaryDerivedField_1_0_0)).build();\n" + - " KiePMMLDerivedField " + - "transformationDictionaryDerivedField_1 = " + - "KiePMMLDerivedField.builder" + - "(\"APPLY_DERIVEDFIELD\", Collections" + - ".emptyList(), org.kie.pmml.api.enums" + - ".DATA_TYPE.DOUBLE, org.kie.pmml.api.enums" + - ".OP_TYPE.CONTINUOUS, " + - "transformationDictionaryDerivedField_1_0)" + - ".withDisplayName(null).build();\n" + - " KiePMMLFieldRef " + - "transformationDictionaryDerivedField_2_0 = " + - "new KiePMMLFieldRef(\"Ref\", Collections" + - ".emptyList(), null);\n" + - " KiePMMLDerivedField " + - "transformationDictionaryDerivedField_2 = " + - "KiePMMLDerivedField.builder(\"BackRef\", " + - "Collections.emptyList(), org.kie.pmml.api" + - ".enums.DATA_TYPE.DOUBLE, org.kie.pmml.api" + - ".enums.OP_TYPE.CONTINUOUS, " + - "transformationDictionaryDerivedField_2_0)" + - ".withDisplayName(null).build();\n" + - " KiePMMLFieldRef " + - "transformationDictionaryDerivedField_3_0 = " + - "new KiePMMLFieldRef(\"Petal.Width\", " + - "Collections.emptyList(), null);\n" + - " KiePMMLDerivedField " + - "transformationDictionaryDerivedField_3 = " + - "KiePMMLDerivedField.builder(\"StageOne\", " + - "Collections.emptyList(), org.kie.pmml.api" + - ".enums.DATA_TYPE.DOUBLE, org.kie.pmml.api" + - ".enums.OP_TYPE.CONTINUOUS, " + - "transformationDictionaryDerivedField_3_0)" + - ".withDisplayName(null).build();\n" + - " KiePMMLFieldRef " + - "transformationDictionaryDerivedField_4_0 = " + - "new KiePMMLFieldRef(\"StageOne\", " + - "Collections.emptyList(), null);\n" + - " KiePMMLDerivedField " + - "transformationDictionaryDerivedField_4 = " + - "KiePMMLDerivedField.builder(\"StageTwo\", " + - "Collections.emptyList(), org.kie.pmml.api" + - ".enums.DATA_TYPE.DOUBLE, org.kie.pmml.api" + - ".enums.OP_TYPE.CONTINUOUS, " + - "transformationDictionaryDerivedField_4_0)" + - ".withDisplayName(null).build();\n" + - " KiePMMLFieldRef " + - "transformationDictionaryDerivedField_5_0 = " + - "new KiePMMLFieldRef(\"StageTwo\", " + - "Collections.emptyList(), null);\n" + - " KiePMMLDerivedField " + - "transformationDictionaryDerivedField_5 = " + - "KiePMMLDerivedField.builder(\"StageThree\"," + - " Collections.emptyList(), org.kie.pmml.api" + - ".enums.DATA_TYPE.DOUBLE, org.kie.pmml.api" + - ".enums.OP_TYPE.CONTINUOUS, " + - "transformationDictionaryDerivedField_5_0)" + - ".withDisplayName(null).build();\n" + - " KiePMMLFieldColumnPair " + - "transformationDictionaryDerivedField_6_0_0 " + - "= new KiePMMLFieldColumnPair(\"BAND\", " + - "Collections.emptyList(), \"band\");\n" + - " KiePMMLFieldColumnPair " + - "transformationDictionaryDerivedField_6_0_1 " + - "= new KiePMMLFieldColumnPair(\"STATE\", " + - "Collections.emptyList(), \"state\");\n" + - " Map " + - "transformationDictionaryDerivedField_6_0_InlineTable_0_columnValues = Stream.of(new Object[][] { { \"band\", \"1\" }, { \"state\", \"MN\" }, { \"out\", \"10000\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "transformationDictionaryDerivedField_6_0_InlineTable_0 = new KiePMMLRow(transformationDictionaryDerivedField_6_0_InlineTable_0_columnValues);\n" + - " Map " + - "transformationDictionaryDerivedField_6_0_InlineTable_1_columnValues = Stream.of(new Object[][] { { \"band\", \"1\" }, { \"state\", \"IL\" }, { \"out\", \"12000\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "transformationDictionaryDerivedField_6_0_InlineTable_1 = new KiePMMLRow(transformationDictionaryDerivedField_6_0_InlineTable_1_columnValues);\n" + - " Map " + - "transformationDictionaryDerivedField_6_0_InlineTable_2_columnValues = Stream.of(new Object[][] { { \"band\", \"1\" }, { \"state\", \"NY\" }, { \"out\", \"20000\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "transformationDictionaryDerivedField_6_0_InlineTable_2 = new KiePMMLRow(transformationDictionaryDerivedField_6_0_InlineTable_2_columnValues);\n" + - " Map " + - "transformationDictionaryDerivedField_6_0_InlineTable_3_columnValues = Stream.of(new Object[][] { { \"band\", \"2\" }, { \"state\", \"MN\" }, { \"out\", \"20000\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "transformationDictionaryDerivedField_6_0_InlineTable_3 = new KiePMMLRow(transformationDictionaryDerivedField_6_0_InlineTable_3_columnValues);\n" + - " Map " + - "transformationDictionaryDerivedField_6_0_InlineTable_4_columnValues = Stream.of(new Object[][] { { \"band\", \"2\" }, { \"state\", \"IL\" }, { \"out\", \"23000\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "transformationDictionaryDerivedField_6_0_InlineTable_4 = new KiePMMLRow(transformationDictionaryDerivedField_6_0_InlineTable_4_columnValues);\n" + - " Map " + - "transformationDictionaryDerivedField_6_0_InlineTable_5_columnValues = Stream.of(new Object[][] { { \"band\", \"2\" }, { \"state\", \"NY\" }, { \"out\", \"30000\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "transformationDictionaryDerivedField_6_0_InlineTable_5 = new KiePMMLRow(transformationDictionaryDerivedField_6_0_InlineTable_5_columnValues);\n" + - " KiePMMLInlineTable " + - "transformationDictionaryDerivedField_6_0_InlineTable = new KiePMMLInlineTable(\"transformationDictionaryDerivedField_6_0_InlineTable\", Collections.emptyList(), Arrays.asList(transformationDictionaryDerivedField_6_0_InlineTable_0, transformationDictionaryDerivedField_6_0_InlineTable_1, transformationDictionaryDerivedField_6_0_InlineTable_2, transformationDictionaryDerivedField_6_0_InlineTable_3, transformationDictionaryDerivedField_6_0_InlineTable_4, transformationDictionaryDerivedField_6_0_InlineTable_5));\n" + - " KiePMMLMapValues " + - "transformationDictionaryDerivedField_6_0 = " + - "KiePMMLMapValues.builder" + - "(\"transformationDictionaryDerivedField_6_0" + - "\", Collections.emptyList(), \"out\")" + - ".withDefaultValue(null).withMapMissingTo" + - "(null).withDataType(org.kie.pmml.api.enums" + - ".DATA_TYPE.INTEGER).withKiePMMLInlineTable" + - "(transformationDictionaryDerivedField_6_0_InlineTable).withKiePMMLFieldColumnPairs(Arrays.asList(transformationDictionaryDerivedField_6_0_0, transformationDictionaryDerivedField_6_0_1)).build();\n" + - " KiePMMLDerivedField " + - "transformationDictionaryDerivedField_6 = " + - "KiePMMLDerivedField.builder(\"mapvalued\", " + - "Collections.emptyList(), org.kie.pmml.api" + - ".enums.DATA_TYPE.DOUBLE, org.kie.pmml.api" + - ".enums.OP_TYPE.CONTINUOUS, " + - "transformationDictionaryDerivedField_6_0)" + - ".withDisplayName(null).build();\n" + - " KiePMMLFieldColumnPair " + - "transformationDictionaryDerivedField_7_0_0 " + - "= new KiePMMLFieldColumnPair" + - "(\"FLAG_OWN_CAR\", Collections.emptyList()," + - " \"data:input\");\n" + - " Map " + - "transformationDictionaryDerivedField_7_0_InlineTable_0_columnValues = Stream.of(new Object[][] { { \"data:output\", \"0.0\" }, { \"data:input\", \"0\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "transformationDictionaryDerivedField_7_0_InlineTable_0 = new KiePMMLRow(transformationDictionaryDerivedField_7_0_InlineTable_0_columnValues);\n" + - " Map " + - "transformationDictionaryDerivedField_7_0_InlineTable_1_columnValues = Stream.of(new Object[][] { { \"data:output\", \"1.0\" }, { \"data:input\", \"1\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "transformationDictionaryDerivedField_7_0_InlineTable_1 = new KiePMMLRow(transformationDictionaryDerivedField_7_0_InlineTable_1_columnValues);\n" + - " KiePMMLInlineTable " + - "transformationDictionaryDerivedField_7_0_InlineTable = new KiePMMLInlineTable(\"transformationDictionaryDerivedField_7_0_InlineTable\", Collections.emptyList(), Arrays.asList(transformationDictionaryDerivedField_7_0_InlineTable_0, transformationDictionaryDerivedField_7_0_InlineTable_1));\n" + - " KiePMMLMapValues " + - "transformationDictionaryDerivedField_7_0 = " + - "KiePMMLMapValues.builder" + - "(\"transformationDictionaryDerivedField_7_0" + - "\", Collections.emptyList(), " + - "\"data:output\").withDefaultValue(null)" + - ".withMapMissingTo(null).withDataType(null)" + - ".withKiePMMLInlineTable" + - "(transformationDictionaryDerivedField_7_0_InlineTable).withKiePMMLFieldColumnPairs(Arrays.asList(transformationDictionaryDerivedField_7_0_0)).build();\n" + - " KiePMMLDerivedField " + - "transformationDictionaryDerivedField_7 = " + - "KiePMMLDerivedField.builder" + - "(\"dataencoded\", Collections.emptyList(), " + - "org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, " + - "org.kie.pmml.api.enums.OP_TYPE.CATEGORICAL," + - " transformationDictionaryDerivedField_7_0)" + - ".withDisplayName(null).build();\n" + - " KiePMMLTransformationDictionary " + - "transformationDictionary = " + - "KiePMMLTransformationDictionary.builder" + - "(\"transformationDictionary\", Collections" + - ".emptyList()).withDefineFunctions(Arrays" + - ".asList(CONSTANT_FUNCTION, " + - "FIELDREF_FUNCTION, APPLY_FUNCTION, " + - "TEXT_INDEX_NORMALIZATION_FUNCTION))" + - ".withDerivedFields(Arrays.asList" + - "(transformationDictionaryDerivedField_0, " + - "transformationDictionaryDerivedField_1, " + - "transformationDictionaryDerivedField_2, " + - "transformationDictionaryDerivedField_3, " + - "transformationDictionaryDerivedField_4, " + - "transformationDictionaryDerivedField_5, " + - "transformationDictionaryDerivedField_6, " + - "transformationDictionaryDerivedField_7))" + - ".build();\n" + - " return transformationDictionary;\n" + - "}"); + String text = getFileContent(TEST_01_SOURCE); + MethodDeclaration expected = JavaParserUtils.parseMethod(text); MethodDeclaration retrieved = classOrInterfaceDeclaration.getMethodsByName("createTransformationDictionary").get(0); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); - expected = JavaParserUtils.parseMethod("private org.kie.pmml.commons.transformations" + - ".KiePMMLLocalTransformations createLocalTransformations() {\n" + - " KiePMMLConstant localTransformationsDerivedField_0_0 = " + - "new KiePMMLConstant(\"localTransformationsDerivedField_0_0\"," + - " Collections.emptyList(), " + - "\"LOCAL_CONSTANT_DERIVEDFIELD_VALUE\", null);\n" + - " KiePMMLDerivedField localTransformationsDerivedField_0 = " + - "KiePMMLDerivedField.builder(\"LOCAL_CONSTANT_DERIVEDFIELD\", " + - "Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE" + - ".STRING, org.kie.pmml.api.enums.OP_TYPE.CATEGORICAL, " + - "localTransformationsDerivedField_0_0).withDisplayName(null)" + - ".build();\n" + - " KiePMMLFieldRef localTransformationsDerivedField_1_0 = " + - "new KiePMMLFieldRef(\"Ref\", Collections.emptyList(), null);" + - "\n" + - " KiePMMLDerivedField localTransformationsDerivedField_1 = " + - "KiePMMLDerivedField.builder(\"LOCAL_Ref\", Collections" + - ".emptyList(), org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org" + - ".kie.pmml.api.enums.OP_TYPE.CONTINUOUS, " + - "localTransformationsDerivedField_1_0).withDisplayName(null)" + - ".build();\n" + - " KiePMMLFieldRef localTransformationsDerivedField_2_0 = " + - "new KiePMMLFieldRef(\"BackRef\", Collections.emptyList(), " + - "null);\n" + - " KiePMMLDerivedField localTransformationsDerivedField_2 = " + - "KiePMMLDerivedField.builder(\"LOCAL_BackRef\", Collections" + - ".emptyList(), org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org" + - ".kie.pmml.api.enums.OP_TYPE.CONTINUOUS, " + - "localTransformationsDerivedField_2_0).withDisplayName(null)" + - ".build();\n" + - " KiePMMLLocalTransformations localTransformations = " + - "KiePMMLLocalTransformations.builder(\"localTransformations\"," + - " Collections.emptyList()).withDerivedFields(Arrays.asList" + - "(localTransformationsDerivedField_0, " + - "localTransformationsDerivedField_1, " + - "localTransformationsDerivedField_2)).build();\n" + - " return localTransformations;\n" + - "}"); + text = getFileContent(TEST_02_SOURCE); + expected = JavaParserUtils.parseMethod(text); retrieved = classOrInterfaceDeclaration.getMethodsByName("createLocalTransformations").get(0); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); } diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLNormContinuousFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLNormContinuousFactoryTest.java index 3afebee5757..fb7f3b792e6 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLNormContinuousFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLNormContinuousFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -33,14 +34,17 @@ import org.kie.pmml.commons.model.expressions.KiePMMLNormContinuous; import org.kie.pmml.compiler.commons.utils.JavaParserUtils; -import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLNormContinuousFactoryTest { + private static final String TEST_01_SOURCE = "KiePMMLNormContinuousFactoryTest_01.txt"; + private static final String TEST_02_SOURCE = "KiePMMLNormContinuousFactoryTest_02.txt"; + @Test - public void getNormContinuousVariableDeclaration() { + public void getNormContinuousVariableDeclaration() throws IOException { String variableName = "variableName"; String fieldName = "fieldName"; double mapMissingTo = 45.32; @@ -58,23 +62,8 @@ public void getNormContinuousVariableDeclaration() { normContinuous); String outlierString = OUTLIER_TREATMENT_METHOD.class.getName() + "." + OUTLIER_TREATMENT_METHOD.byName(normContinuous.getOutliers().value()).name(); - Statement expected = JavaParserUtils.parseBlock(String.format("{\n" + - " KiePMMLNormContinuous " + - "%s = new " + - "KiePMMLNormContinuous(\"%s\", " + - "Collections.emptyList(), Arrays" + - ".asList(new KiePMMLLinearNorm" + - "(\"LinearNorm-0\", Collections" + - ".emptyList(), 24, 26), new " + - "KiePMMLLinearNorm(\"LinearNorm-0\", " + - "Collections.emptyList(), 30, 32), new" + - " KiePMMLLinearNorm(\"LinearNorm-0\", " + - "Collections.emptyList(), 36, 34), new" + - " KiePMMLLinearNorm(\"LinearNorm-0\", " + - "Collections.emptyList(), 40, 39)), " + - "%s, " + - "%s);\n" + - "}", variableName, fieldName, + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName, fieldName, outlierString, mapMissingTo)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(Arrays.class, Collections.class, KiePMMLLinearNorm.class, @@ -83,15 +72,14 @@ public void getNormContinuousVariableDeclaration() { } @Test - public void getNewKiePMMLLinearNormExpression() { + public void getNewKiePMMLLinearNormExpression() throws IOException { double orig = 324.3; double norm = 325; String name = "name"; LinearNorm linearNorm = new LinearNorm(orig, norm); Expression retrieved = KiePMMLNormContinuousFactory.getNewKiePMMLLinearNormExpression(linearNorm, name); - Expression expected = JavaParserUtils.parseExpression(String.format("new KiePMMLLinearNorm(\"%s\", " + - "Collections" + - ".emptyList(), %s, %s)", name, + String text = getFileContent(TEST_02_SOURCE); + Expression expected = JavaParserUtils.parseExpression(String.format(text, name, orig, norm)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); } diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLNormDiscreteFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLNormDiscreteFactoryTest.java index ce1b204c22c..a66f1a6df5d 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLNormDiscreteFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLNormDiscreteFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -30,11 +31,14 @@ import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLNormDiscreteFactoryTest { + private static final String TEST_01_SOURCE = "KiePMMLNormDiscreteFactoryTest_01.txt"; + @Test - public void getNormDiscreteVariableDeclaration() { + public void getNormDiscreteVariableDeclaration() throws IOException { String variableName = "variableName"; String fieldName = "fieldName"; String fieldValue = "fieldValue"; @@ -47,14 +51,8 @@ public void getNormDiscreteVariableDeclaration() { BlockStmt retrieved = KiePMMLNormDiscreteFactory.getNormDiscreteVariableDeclaration(variableName, normDiscrete); - Statement expected = JavaParserUtils.parseBlock(String.format("{\n" + - " KiePMMLNormDiscrete " + - "%s = new " + - "KiePMMLNormDiscrete(\"%s\", " + - "Collections.emptyList(), " + - "\"%s\", " + - "%s);\n" + - "}", variableName, fieldName, fieldValue, mapMissingTo)); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName, fieldName, fieldValue, mapMissingTo)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(Collections.class, KiePMMLNormDiscrete.class); commonValidateCompilationWithImports(retrieved, imports); diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLParameterFieldFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLParameterFieldFactoryTest.java index ae77f7b82c3..5ab96ad2962 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLParameterFieldFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLParameterFieldFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -30,15 +31,19 @@ import org.kie.pmml.commons.transformations.KiePMMLParameterField; import org.kie.pmml.compiler.commons.utils.JavaParserUtils; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.CommonTestingUtils.getDATA_TYPEString; import static org.kie.pmml.compiler.commons.CommonTestingUtils.getOP_TYPEString; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLParameterFieldFactoryTest { + private static final String TEST_01_SOURCE = "KiePMMLParameterFieldFactoryTest_01.txt"; + @Test - public void getParameterFieldVariableDeclaration() { + public void getParameterFieldVariableDeclaration() throws IOException { String variableName = "variableName"; ParameterField parameterField = new ParameterField(FieldName.create(variableName)); parameterField.setDataType(DataType.DOUBLE); @@ -49,15 +54,8 @@ public void getParameterFieldVariableDeclaration() { BlockStmt retrieved = KiePMMLParameterFieldFactory.getParameterFieldVariableDeclaration(variableName, parameterField); - Statement expected = JavaParserUtils.parseBlock(String.format("{\n" + - " KiePMMLParameterField %1$s" + - " = KiePMMLParameterField.builder" + - "(\"%1$s\", Collections" + - ".emptyList()).withDataType(%2$s)" + - ".withOpType(%3$s)" + - ".withDisplayName(\"%4$s\")" + - ".build();\n" + - "}", variableName, + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName, dataType, opType, parameterField.getDisplayName())); diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLRowFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLRowFactoryTest.java index bbf65d5718e..ffc40e375d6 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLRowFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLRowFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -34,9 +35,9 @@ import org.kie.pmml.compiler.commons.utils.JavaParserUtils; import org.kie.pmml.compiler.commons.utils.KiePMMLUtil; -import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; import static org.kie.test.util.filesystem.FileUtils.getFileInputStream; public class KiePMMLRowFactoryTest { @@ -44,6 +45,8 @@ public class KiePMMLRowFactoryTest { private static final String TRANSFORMATIONS_SAMPLE = "TransformationsSample.pmml"; private static final String MAPVALUED = "mapvalued"; private static final String DATAENCODED = "dataencoded"; + private static final String TEST_01_SOURCE = "KiePMMLRowFactoryTest_01.txt"; + private static final String TEST_02_SOURCE = "KiePMMLRowFactoryTest_02.txt"; private static Row MAPVALUED_ROW; private static Row DATAENCODED_ROW; @@ -67,44 +70,24 @@ public static void setup() throws Exception { } @Test - public void getMappedValueRowVariableDeclaration() { + public void getMappedValueRowVariableDeclaration() throws IOException { String variableName = "variableName"; BlockStmt retrieved = KiePMMLRowFactory.getRowVariableDeclaration(variableName, MAPVALUED_ROW); - Statement expected = JavaParserUtils.parseBlock(String.format("{\n" + - " Map " + - "%1$s_columnValues = Stream.of" + - "(new Object[][] { { \"band\", \"1\" }," + - " { \"state\", \"MN\" }, { \"out\", " + - "\"10000\" } }).collect(Collectors" + - ".toMap(data -> (String) data[0], data " + - "-> data[1]));\n" + - " KiePMMLRow %1$s = new " + - "KiePMMLRow(%1$s_columnValues);" + - "\n" + - "}", variableName)); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(Collectors.class, KiePMMLRow.class, Map.class, Stream.class); commonValidateCompilationWithImports(retrieved, imports); } @Test - public void getDataEncodedRowVariableDeclaration() { + public void getDataEncodedRowVariableDeclaration() throws IOException { String variableName = "variableName"; BlockStmt retrieved = KiePMMLRowFactory.getRowVariableDeclaration(variableName, DATAENCODED_ROW); - Statement expected = JavaParserUtils.parseBlock(String.format("{\n" + - " Map " + - "%1$s_columnValues = Stream.of" + - "(new Object[][] { { \"data:output\", " + - "\"0.0\" }, { \"data:input\", \"0\" } }).collect(Collectors" + - ".toMap(data -> (String) data[0], data " + - "-> data[1]));\n" + - " KiePMMLRow %1$s = new " + - "KiePMMLRow(%1$s_columnValues);" + - "\n" + - "}", variableName)); - assertEquals(expected.toString(), retrieved.toString()); + String text = getFileContent(TEST_02_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(Collectors.class, KiePMMLRow.class, Map.class, Stream.class); commonValidateCompilationWithImports(retrieved, imports); diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLSimplePredicateFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLSimplePredicateFactoryTest.java index 7ce66bfeecc..3adba34ba68 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLSimplePredicateFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLSimplePredicateFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -35,11 +36,14 @@ import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.CommonTestingUtils.getFieldsFromDataDictionary; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLSimplePredicateFactoryTest { + private static final String TEST_01_SOURCE = "KiePMMLSimplePredicateFactoryTest_01.txt"; + @Test - public void getSimplePredicateVariableDeclaration() { + public void getSimplePredicateVariableDeclaration() throws IOException { String variableName = "variableName"; final SimplePredicate simplePredicate = new SimplePredicate(); simplePredicate.setField(FieldName.create("CUSTOM_FIELD")); @@ -53,12 +57,8 @@ public void getSimplePredicateVariableDeclaration() { dataDictionary.addDataFields(dataField); BlockStmt retrieved = KiePMMLSimplePredicateFactory.getSimplePredicateVariableDeclaration(variableName, simplePredicate, getFieldsFromDataDictionary(dataDictionary)); - Statement expected = JavaParserUtils.parseBlock(String.format("{" + - "KiePMMLSimplePredicate " + - "%1$s = KiePMMLSimplePredicate.builder(\"%2$s\", Collections.emptyList(), %3$s)\n" + - ".withValue(%4$s)\n" + - ".build();" + - "}", variableName, + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName, simplePredicate.getField().getValue(), operatorString, simplePredicate.getValue())); diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLSimpleSetPredicateFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLSimpleSetPredicateFactoryTest.java index 44029cf3dee..756b20ecc83 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLSimpleSetPredicateFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLSimpleSetPredicateFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -39,37 +40,38 @@ import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; import static org.kie.pmml.compiler.commons.testutils.PMMLModelTestUtils.getArray; import static org.kie.pmml.compiler.commons.testutils.PMMLModelTestUtils.getStringObjects; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLSimpleSetPredicateFactoryTest { private final static String SIMPLE_SET_PREDICATE_NAME = "SIMPLESETPREDICATENAME"; + private static final String TEST_01_SOURCE = "KiePMMLSimpleSetPredicateFactoryTest_01.txt"; @Test - public void getSimpleSetPredicateVariableDeclaration() { + public void getSimpleSetPredicateVariableDeclaration() throws IOException { String variableName = "variableName"; Array.Type arrayType = Array.Type.STRING; List values = getStringObjects(arrayType, 4); SimpleSetPredicate simpleSetPredicate = getSimpleSetPredicate(values, arrayType, SimpleSetPredicate.BooleanOperator.IS_IN); - String arrayTypeString = ARRAY_TYPE.class.getName() + "." + ARRAY_TYPE.byName(simpleSetPredicate.getArray().getType().value()); - String booleanOperatorString = IN_NOTIN.class.getName() + "." + IN_NOTIN.byName(simpleSetPredicate.getBooleanOperator().value()); + String arrayTypeString = + ARRAY_TYPE.class.getName() + "." + ARRAY_TYPE.byName(simpleSetPredicate.getArray().getType().value()); + String booleanOperatorString = + IN_NOTIN.class.getName() + "." + IN_NOTIN.byName(simpleSetPredicate.getBooleanOperator().value()); String valuesString = values.stream() - .map( valueString -> "\""+ valueString + "\"") - .collect(Collectors.joining("," )); + .map(valueString -> "\"" + valueString + "\"") + .collect(Collectors.joining(",")); DataField dataField = new DataField(); dataField.setName(simpleSetPredicate.getField()); dataField.setDataType(DataType.DOUBLE); DataDictionary dataDictionary = new DataDictionary(); dataDictionary.addDataFields(dataField); - BlockStmt retrieved = KiePMMLSimpleSetPredicateFactory.getSimpleSetPredicateVariableDeclaration(variableName, simpleSetPredicate); - Statement expected = JavaParserUtils.parseBlock(String.format("{" + - "KiePMMLSimpleSetPredicate " + - "%1$s = KiePMMLSimpleSetPredicate.builder(\"%2$s\", Collections.emptyList(), %3$s, %4$s)\n" + - ".withValues(Arrays.asList(%5$s))\n" + - ".build();" + - "}", variableName, + BlockStmt retrieved = KiePMMLSimpleSetPredicateFactory.getSimpleSetPredicateVariableDeclaration(variableName, + simpleSetPredicate); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName, simpleSetPredicate.getField().getValue(), arrayTypeString, booleanOperatorString, @@ -88,5 +90,4 @@ public static SimpleSetPredicate getSimpleSetPredicate(List values, fina toReturn.setArray(array); return toReturn; } - } \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLTextIndexFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLTextIndexFactoryTest.java index e8406597944..b43f850fa31 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLTextIndexFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLTextIndexFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -40,12 +41,14 @@ import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; import static org.kie.test.util.filesystem.FileUtils.getFileInputStream; public class KiePMMLTextIndexFactoryTest { private static final String TRANSFORMATIONS_SAMPLE = "TransformationsSample.pmml"; private static final String TEXT_INDEX_NORMALIZATION_FUNCTION = "TEXT_INDEX_NORMALIZATION_FUNCTION"; + private static final String TEST_01_SOURCE = "KiePMMLTextIndexFactoryTest_01.txt"; private static TextIndex TEXTINDEX; @BeforeClass @@ -61,99 +64,18 @@ public static void setup() throws Exception { } @Test - public void getTextIndexVariableDeclaration() { + public void getTextIndexVariableDeclaration() throws IOException { String variableName = "variableName"; BlockStmt retrieved = KiePMMLTextIndexFactory.getTextIndexVariableDeclaration(variableName, - TEXTINDEX); - Statement expected = JavaParserUtils.parseBlock(String.format("{\n" + - " KiePMMLFieldRef " + - "%1$s_Expression = new " + - "KiePMMLFieldRef(\"term\", Collections" + - ".emptyList(), null);\n" + - " Map " + - "%1$s_0_InlineTable_0_columnValues = Stream.of(new Object[][] { { \"regex\", \"true\" }, { \"string\", \"interfaces?\" }, { \"stem\", \"interface\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "%1$s_0_InlineTable_0 = new " + - "KiePMMLRow" + - "(%1$s_0_InlineTable_0_columnValues);\n" + - " Map " + - "%1$s_0_InlineTable_1_columnValues = Stream.of(new Object[][] { { \"regex\", \"true\" }, { \"string\", \"is|are|seem(ed|s?)|were\" }, { \"stem\", \"be\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "%1$s_0_InlineTable_1 = new " + - "KiePMMLRow" + - "(%1$s_0_InlineTable_1_columnValues);\n" + - " Map " + - "%1$s_0_InlineTable_2_columnValues = Stream.of(new Object[][] { { \"regex\", \"true\" }, { \"string\", \"user friendl(y|iness)\" }, { \"stem\", \"user_friendly\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "%1$s_0_InlineTable_2 = new " + - "KiePMMLRow" + - "(%1$s_0_InlineTable_2_columnValues);\n" + - " KiePMMLInlineTable " + - "%1$s_0_InlineTable = new " + - "KiePMMLInlineTable" + - "(\"%1$s_0_InlineTable\", " + - "Collections.emptyList(), Arrays.asList" + - "(%1$s_0_InlineTable_0, " + - "%1$s_0_InlineTable_1, " + - "%1$s_0_InlineTable_2));\n" + - " KiePMMLTextIndexNormalization " + - "%1$s_0 = " + - "KiePMMLTextIndexNormalization.builder" + - "(\"%1$s_0\", Collections" + - ".emptyList()).withInField(\"string\")" + - ".withOutField(\"stem\")" + - ".withKiePMMLInlineTable" + - "(%1$s_0_InlineTable)" + - ".withRegexField(\"regex\")" + - ".withRecursive(false)" + - ".withIsCaseSensitive(false)" + - ".withMaxLevenshteinDistance(null)" + - ".withWordSeparatorCharacterRE(null)" + - ".withTokenize(false).build();\n" + - " Map " + - "%1$s_1_InlineTable_0_columnValues = Stream.of(new Object[][] { { \"regex\", \"true\" }, { \"re\", \"interface be (user_friendly|well designed|excellent)\" }, { \"feature\", \"ui_good\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "%1$s_1_InlineTable_0 = new " + - "KiePMMLRow" + - "(%1$s_1_InlineTable_0_columnValues);\n" + - " KiePMMLInlineTable " + - "%1$s_1_InlineTable = new " + - "KiePMMLInlineTable" + - "(\"%1$s_1_InlineTable\", " + - "Collections.emptyList(), Arrays.asList" + - "(%1$s_1_InlineTable_0));\n" + - " KiePMMLTextIndexNormalization " + - "%1$s_1 = " + - "KiePMMLTextIndexNormalization.builder" + - "(\"%1$s_1\", Collections" + - ".emptyList()).withInField(\"re\")" + - ".withOutField(\"feature\")" + - ".withKiePMMLInlineTable" + - "(%1$s_1_InlineTable)" + - ".withRegexField(\"regex\")" + - ".withRecursive(false)" + - ".withIsCaseSensitive(false)" + - ".withMaxLevenshteinDistance(null)" + - ".withWordSeparatorCharacterRE(null)" + - ".withTokenize(false).build();\n" + - " KiePMMLTextIndex %1$s = " + - "KiePMMLTextIndex.builder" + - "(\"%2$s\", Collections" + - ".emptyList(), %1$s_Expression)" + - ".withLocalTermWeights(org.kie.pmml.api" + - ".enums.LOCAL_TERM_WEIGHTS.BINARY)" + - ".withIsCaseSensitive(false)" + - ".withMaxLevenshteinDistance(0)" + - ".withCountHits(org.kie.pmml.api.enums" + - ".COUNT_HITS.ALL_HITS)" + - ".withWordSeparatorCharacterRE" + - "(\"\\\\s+\").withTokenize(true)" + - ".withTextIndexNormalizations(Arrays" + - ".asList(%1$s_0, " + - "%1$s_1)).build();\n" + - "}", variableName, TEXTINDEX.getTextField().getValue())); + TEXTINDEX); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName, + TEXTINDEX.getTextField().getValue())); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); - List> imports = Arrays.asList(Arrays.class, Collections.class, Collectors.class, KiePMMLFieldRef.class, KiePMMLInlineTable.class, KiePMMLTextIndex.class, KiePMMLTextIndexNormalization.class, KiePMMLRow.class, Map.class, Stream.class); + List> imports = Arrays.asList(Arrays.class, Collections.class, Collectors.class, + KiePMMLFieldRef.class, KiePMMLInlineTable.class, + KiePMMLTextIndex.class, KiePMMLTextIndexNormalization.class, + KiePMMLRow.class, Map.class, Stream.class); commonValidateCompilationWithImports(retrieved, imports); } } \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLTextIndexNormalizationFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLTextIndexNormalizationFactoryTest.java index 32152aefdef..142d3b2ce0e 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLTextIndexNormalizationFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLTextIndexNormalizationFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -39,12 +40,14 @@ import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; import static org.kie.test.util.filesystem.FileUtils.getFileInputStream; public class KiePMMLTextIndexNormalizationFactoryTest { private static final String TRANSFORMATIONS_SAMPLE = "TransformationsSample.pmml"; private static final String TEXT_INDEX_NORMALIZATION_FUNCTION = "TEXT_INDEX_NORMALIZATION_FUNCTION"; + private static final String TEST_01_SOURCE = "KiePMMLTextIndexNormalizationFactoryTest_01.txt"; private static TextIndexNormalization TEXTINDEXNORMALIZATION; @BeforeClass @@ -61,54 +64,17 @@ public static void setup() throws Exception { } @Test - public void getTextIndexNormalizationVariableDeclaration() { + public void getTextIndexNormalizationVariableDeclaration() throws IOException { String variableName = "variableName"; - BlockStmt retrieved = KiePMMLTextIndexNormalizationFactory.getTextIndexNormalizationVariableDeclaration(variableName, - TEXTINDEXNORMALIZATION); - Statement expected = JavaParserUtils.parseBlock(String.format("{\n" + - " Map " + - "%1$s_InlineTable_0_columnValues = Stream.of(new Object[][] { { \"regex\", \"true\" }, { \"string\", \"interfaces?\" }, { \"stem\", \"interface\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "%1$s_InlineTable_0 = new " + - "KiePMMLRow" + - "(%1$s_InlineTable_0_columnValues);\n" + - " Map " + - "%1$s_InlineTable_1_columnValues = Stream.of(new Object[][] { { \"regex\", \"true\" }, { \"string\", \"is|are|seem(ed|s?)|were\" }, { \"stem\", \"be\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "%1$s_InlineTable_1 = new " + - "KiePMMLRow" + - "(%1$s_InlineTable_1_columnValues);\n" + - " Map " + - "%1$s_InlineTable_2_columnValues = Stream.of(new Object[][] { { \"regex\", \"true\" }, { \"string\", \"user friendl(y|iness)\" }, { \"stem\", \"user_friendly\" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1]));\n" + - " KiePMMLRow " + - "%1$s_InlineTable_2 = new " + - "KiePMMLRow" + - "(%1$s_InlineTable_2_columnValues);\n" + - " KiePMMLInlineTable " + - "%1$s_InlineTable = new " + - "KiePMMLInlineTable" + - "(\"%1$s_InlineTable\", " + - "Collections.emptyList(), Arrays.asList" + - "(%1$s_InlineTable_0, " + - "%1$s_InlineTable_1, " + - "%1$s_InlineTable_2));\n" + - " KiePMMLTextIndexNormalization " + - "%1$s = " + - "KiePMMLTextIndexNormalization.builder" + - "(\"%1$s\", Collections" + - ".emptyList()).withInField(\"string\")" + - ".withOutField(\"stem\")" + - ".withKiePMMLInlineTable" + - "(%1$s_InlineTable)" + - ".withRegexField(\"regex\")" + - ".withRecursive(false)" + - ".withIsCaseSensitive(false)" + - ".withMaxLevenshteinDistance(null)" + - ".withWordSeparatorCharacterRE(null)" + - ".withTokenize(false).build();\n" + - "}", variableName)); + BlockStmt retrieved = + KiePMMLTextIndexNormalizationFactory.getTextIndexNormalizationVariableDeclaration(variableName, + TEXTINDEXNORMALIZATION); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); - List> imports = Arrays.asList(Arrays.class, Collections.class, Collectors.class, KiePMMLInlineTable.class, KiePMMLTextIndexNormalization.class, KiePMMLRow.class, Map.class, Stream.class); + List> imports = Arrays.asList(Arrays.class, Collections.class, Collectors.class, + KiePMMLInlineTable.class, KiePMMLTextIndexNormalization.class, + KiePMMLRow.class, Map.class, Stream.class); commonValidateCompilationWithImports(retrieved, imports); } } \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLTransformationDictionaryFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLTransformationDictionaryFactoryTest.java index c91d6814743..10b89833e96 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLTransformationDictionaryFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLTransformationDictionaryFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -45,6 +46,7 @@ import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLTransformationDictionaryFactoryTest { @@ -52,79 +54,18 @@ public class KiePMMLTransformationDictionaryFactoryTest { private static final String PARAM_1 = "PARAM_1"; private static final String PARAM_2 = "PARAM_2"; private static final Double value1 = 100.0; + private static final String TEST_01_SOURCE = "KiePMMLTransformationDictionaryFactoryTest_01.txt"; @Test - public void getKiePMMLTransformationDictionaryVariableDeclaration() { + public void getKiePMMLTransformationDictionaryVariableDeclaration() throws IOException { TransformationDictionary transformationDictionary = new TransformationDictionary(); transformationDictionary.addDefineFunctions(getDefineFunctions()); transformationDictionary.addDerivedFields(getDerivedFields()); - BlockStmt retrieved = KiePMMLTransformationDictionaryFactory.getKiePMMLTransformationDictionaryVariableDeclaration(transformationDictionary); - Statement expected = JavaParserUtils - .parseBlock("{\n" + - " KiePMMLParameterField CUSTOM_FUNCTION0_0 = KiePMMLParameterField.builder" + - "(\"PARAM_10\", Collections.emptyList()).withDataType(org.kie.pmml.api.enums" + - ".DATA_TYPE.DOUBLE).withOpType(org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS)" + - ".withDisplayName(\"displayName10\").build();\n" + - " KiePMMLParameterField CUSTOM_FUNCTION0_1 = KiePMMLParameterField.builder" + - "(\"PARAM_20\", Collections.emptyList()).withDataType(org.kie.pmml.api.enums" + - ".DATA_TYPE.DOUBLE).withOpType(org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS)" + - ".withDisplayName(\"displayName20\").build();\n" + - " KiePMMLConstant CUSTOM_FUNCTION0_Expression_0 = new KiePMMLConstant" + - "(\"CUSTOM_FUNCTION0_Expression_0\", Collections.emptyList(), 100.0, null);\n" + - " KiePMMLFieldRef CUSTOM_FUNCTION0_Expression_1 = new KiePMMLFieldRef" + - "(\"FIELD_REF0\", Collections.emptyList(), null);\n" + - " KiePMMLApply CUSTOM_FUNCTION0_Expression = KiePMMLApply.builder" + - "(\"CUSTOM_FUNCTION0_Expression\", Collections.emptyList(), \"/\")" + - ".withDefaultValue(null).withMapMissingTo(null).withInvalidValueTreatmentMethod" + - "(\"returnInvalid\").withKiePMMLExpressions(Arrays.asList" + - "(CUSTOM_FUNCTION0_Expression_0, CUSTOM_FUNCTION0_Expression_1)).build();\n" + - " KiePMMLDefineFunction CUSTOM_FUNCTION0 = new KiePMMLDefineFunction" + - "(\"CUSTOM_FUNCTION0\", Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE" + - ".DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, Arrays.asList" + - "(CUSTOM_FUNCTION0_0, CUSTOM_FUNCTION0_1), CUSTOM_FUNCTION0_Expression);\n" + - " KiePMMLParameterField CUSTOM_FUNCTION1_0 = KiePMMLParameterField.builder" + - "(\"PARAM_11\", Collections.emptyList()).withDataType(org.kie.pmml.api.enums" + - ".DATA_TYPE.DOUBLE).withOpType(org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS)" + - ".withDisplayName(\"displayName11\").build();\n" + - " KiePMMLParameterField CUSTOM_FUNCTION1_1 = KiePMMLParameterField.builder" + - "(\"PARAM_21\", Collections.emptyList()).withDataType(org.kie.pmml.api.enums" + - ".DATA_TYPE.DOUBLE).withOpType(org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS)" + - ".withDisplayName(\"displayName21\").build();\n" + - " KiePMMLConstant CUSTOM_FUNCTION1_Expression_0 = new KiePMMLConstant" + - "(\"CUSTOM_FUNCTION1_Expression_0\", Collections.emptyList(), 100.0, null);\n" + - " KiePMMLFieldRef CUSTOM_FUNCTION1_Expression_1 = new KiePMMLFieldRef" + - "(\"FIELD_REF1\", Collections.emptyList(), null);\n" + - " KiePMMLApply CUSTOM_FUNCTION1_Expression = KiePMMLApply.builder" + - "(\"CUSTOM_FUNCTION1_Expression\", Collections.emptyList(), \"/\")" + - ".withDefaultValue(null).withMapMissingTo(null).withInvalidValueTreatmentMethod" + - "(\"returnInvalid\").withKiePMMLExpressions(Arrays.asList" + - "(CUSTOM_FUNCTION1_Expression_0, CUSTOM_FUNCTION1_Expression_1)).build();\n" + - " KiePMMLDefineFunction CUSTOM_FUNCTION1 = new KiePMMLDefineFunction" + - "(\"CUSTOM_FUNCTION1\", Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE" + - ".DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, Arrays.asList" + - "(CUSTOM_FUNCTION1_0, CUSTOM_FUNCTION1_1), CUSTOM_FUNCTION1_Expression);\n" + - " KiePMMLConstant transformationDictionaryDerivedField_0_0 = new " + - "KiePMMLConstant(\"transformationDictionaryDerivedField_0_0\", Collections" + - ".emptyList(), 100.0, null);\n" + - " KiePMMLDerivedField transformationDictionaryDerivedField_0 = " + - "KiePMMLDerivedField.builder(\"PARAM_20\", Collections.emptyList(), org.kie.pmml" + - ".api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, " + - "transformationDictionaryDerivedField_0_0).withDisplayName(null).build();\n" + - " KiePMMLConstant transformationDictionaryDerivedField_1_0 = new " + - "KiePMMLConstant(\"transformationDictionaryDerivedField_1_0\", Collections" + - ".emptyList(), 100.0, null);\n" + - " KiePMMLDerivedField transformationDictionaryDerivedField_1 = " + - "KiePMMLDerivedField.builder(\"PARAM_21\", Collections.emptyList(), org.kie.pmml" + - ".api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, " + - "transformationDictionaryDerivedField_1_0).withDisplayName(null).build();\n" + - " KiePMMLTransformationDictionary transformationDictionary = " + - "KiePMMLTransformationDictionary.builder(\"transformationDictionary\", " + - "Collections.emptyList()).withDefineFunctions(Arrays.asList(CUSTOM_FUNCTION0, " + - "CUSTOM_FUNCTION1)).withDerivedFields(Arrays.asList" + - "(transformationDictionaryDerivedField_0, transformationDictionaryDerivedField_1)" + - ").build();\n" + - "}"); + BlockStmt retrieved = + KiePMMLTransformationDictionaryFactory.getKiePMMLTransformationDictionaryVariableDeclaration(transformationDictionary); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(text); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(KiePMMLParameterField.class, KiePMMLConstant.class, diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLTruePredicateFactoryTest.java b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLTruePredicateFactoryTest.java index fab06c22c22..2747f6115dd 100644 --- a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLTruePredicateFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/java/org/kie/pmml/compiler/commons/codegenfactories/KiePMMLTruePredicateFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.compiler.commons.codegenfactories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -29,19 +30,18 @@ import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLTruePredicateFactoryTest { + private static final String TEST_01_SOURCE = "KiePMMLTruePredicateFactoryTest_01.txt"; + @Test - public void getTruePredicateVariableDeclaration() { + public void getTruePredicateVariableDeclaration() throws IOException { String variableName = "variableName"; BlockStmt retrieved = KiePMMLTruePredicateFactory.getTruePredicateVariableDeclaration(variableName, new True()); - Statement expected = JavaParserUtils.parseBlock(String.format("{" + - "KiePMMLTruePredicate %1$s = new " + - "KiePMMLTruePredicate(\"%1$s\", " + - "Collections" + - ".emptyList());" + - "}", variableName)); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(KiePMMLTruePredicate.class, Collections.class); commonValidateCompilationWithImports(retrieved, imports); diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLApplyFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLApplyFactoryTest_01.txt new file mode 100644 index 00000000000..b860253f29e --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLApplyFactoryTest_01.txt @@ -0,0 +1,9 @@ +{ + KiePMMLConstant %3$s_0 = new KiePMMLConstant("%3$s_0", Collections.emptyList(), %1$s, null); + KiePMMLConstant %3$s_1 = new KiePMMLConstant("%3$s_1", Collections.emptyList(), %2$s, null); + KiePMMLApply %3$s = KiePMMLApply.builder("%3$s", Collections.emptyList(), "%4$s") + .withDefaultValue("%5$s") + .withMapMissingTo("%6$s") + .withInvalidValueTreatmentMethod("%7$s") + .withKiePMMLExpressions(Arrays.asList(%3$s_0, %3$s_1)).build(); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLApplyFactoryTest_02.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLApplyFactoryTest_02.txt new file mode 100644 index 00000000000..5335a249319 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLApplyFactoryTest_02.txt @@ -0,0 +1,9 @@ +{ + KiePMMLFieldRef %3$s_0 = new KiePMMLFieldRef("%1$s", Collections.emptyList(), null); + KiePMMLFieldRef %3$s_1 = new KiePMMLFieldRef("%2$s", Collections.emptyList(), null); + KiePMMLApply %3$s = KiePMMLApply.builder("%3$s", Collections.emptyList(), "%4$s") + .withDefaultValue("%5$s") + .withMapMissingTo("%6$s") + .withInvalidValueTreatmentMethod("%7$s") + .withKiePMMLExpressions(Arrays.asList(%3$s_0, %3$s_1)).build(); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLApplyFactoryTest_03.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLApplyFactoryTest_03.txt new file mode 100644 index 00000000000..e4939d39328 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLApplyFactoryTest_03.txt @@ -0,0 +1,16 @@ +{ + KiePMMLFieldRef %6$s_0_0 = new KiePMMLFieldRef("%1$s", Collections.emptyList(), null); + KiePMMLFieldRef %6$s_0_1 = new KiePMMLFieldRef("%2$s", Collections.emptyList(), null); + KiePMMLApply %6$s_0 = KiePMMLApply.builder("%6$s_0", Collections.emptyList(), "nested_function") + .withDefaultValue("%3$s") + .withMapMissingTo("%4$s") + .withInvalidValueTreatmentMethod("%5$s") + .withKiePMMLExpressions(Arrays.asList(%6$s_0_0, %6$s_0_1)) + .build(); + KiePMMLApply %6$s = KiePMMLApply.builder("%6$s", Collections.emptyList(), "function") + .withDefaultValue(null) + .withMapMissingTo(null) + .withInvalidValueTreatmentMethod("%7$s") + .withKiePMMLExpressions(Arrays.asList(%6$s_0)) + .build(); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLCompoundPredicateFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLCompoundPredicateFactoryTest_01.txt new file mode 100644 index 00000000000..74b6884baa1 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLCompoundPredicateFactoryTest_01.txt @@ -0,0 +1,15 @@ +{ + KiePMMLSimplePredicate %1$s_0 = KiePMMLSimplePredicate.builder("PARAM_1", Collections.emptyList(), org.kie.pmml.api.enums.OPERATOR.EQUAL) + .withValue(100.0) + .build(); + KiePMMLSimplePredicate %1$s_1 = KiePMMLSimplePredicate.builder("PARAM_2", Collections.emptyList(), org.kie.pmml.api.enums.OPERATOR.GREATER_THAN) + .withValue(5.0) + .build(); + KiePMMLSimpleSetPredicate %1$s_2 = KiePMMLSimpleSetPredicate.builder("SIMPLESETPREDICATENAME", Collections.emptyList(), + org.kie.pmml.api.enums.ARRAY_TYPE.STRING, org.kie.pmml.api.enums.IN_NOTIN.IN) + .withValues(Arrays.asList(%2$s)) + .build(); + KiePMMLCompoundPredicate %1$s = KiePMMLCompoundPredicate.builder(Collections.emptyList(), %3$s) + .withKiePMMLPredicates(Arrays.asList(%1$s_0, %1$s_1, %1$s_2)) + .build(); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLConstantFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLConstantFactoryTest_01.txt new file mode 100644 index 00000000000..c193ac07898 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLConstantFactoryTest_01.txt @@ -0,0 +1,3 @@ +{ + KiePMMLConstant %1$s = new KiePMMLConstant("%1$s", Collections.emptyList(), %2$s, null); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDefineFunctionFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDefineFunctionFactoryTest_01.txt new file mode 100644 index 00000000000..da0a8d6570e --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDefineFunctionFactoryTest_01.txt @@ -0,0 +1,22 @@ +{ + KiePMMLParameterField CUSTOM_FUNCTION_0 = KiePMMLParameterField.builder("%s", Collections.emptyList()) + .withDataType(%s) + .withOpType(%s) + .withDisplayName("%s") + .build(); + KiePMMLParameterField CUSTOM_FUNCTION_1 = KiePMMLParameterField.builder("%s", Collections.emptyList()) + .withDataType(%s) + .withOpType(%s) + .withDisplayName("%s") + .build(); + KiePMMLConstant CUSTOM_FUNCTION_Expression_0 = new KiePMMLConstant("CUSTOM_FUNCTION_Expression_0", Collections.emptyList(), %s, null); + KiePMMLFieldRef CUSTOM_FUNCTION_Expression_1 = new KiePMMLFieldRef("%s", Collections.emptyList(), null); + KiePMMLApply CUSTOM_FUNCTION_Expression = KiePMMLApply.builder("CUSTOM_FUNCTION_Expression", Collections.emptyList(), "%s") + .withDefaultValue(null) + .withMapMissingTo(null) + .withInvalidValueTreatmentMethod("%s") + .withKiePMMLExpressions(Arrays.asList(CUSTOM_FUNCTION_Expression_0, CUSTOM_FUNCTION_Expression_1)) + .build(); + KiePMMLDefineFunction CUSTOM_FUNCTION = new KiePMMLDefineFunction("CUSTOM_FUNCTION", Collections.emptyList(), %s, %s, + Arrays.asList(CUSTOM_FUNCTION_0, CUSTOM_FUNCTION_1), CUSTOM_FUNCTION_Expression); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDerivedFieldFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDerivedFieldFactoryTest_01.txt new file mode 100644 index 00000000000..e6c8a6eff6e --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDerivedFieldFactoryTest_01.txt @@ -0,0 +1,6 @@ +{ + KiePMMLConstant variableName_0 = new KiePMMLConstant("variableName_0", Collections.emptyList(), %s, null); + KiePMMLDerivedField %s = KiePMMLDerivedField.builder("%s", Collections.emptyList(), %s, %s, variableName_0) + .withDisplayName(null) + .build(); +} diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDerivedFieldFactoryTest_02.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDerivedFieldFactoryTest_02.txt new file mode 100644 index 00000000000..8fac75d65b1 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDerivedFieldFactoryTest_02.txt @@ -0,0 +1,6 @@ +{ + KiePMMLFieldRef variableName_0 = new KiePMMLFieldRef("%s", Collections.emptyList(), null); + KiePMMLDerivedField %s = KiePMMLDerivedField.builder("%s", Collections.emptyList(), %s, %s, variableName_0) + .withDisplayName(null) + .build(); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDerivedFieldFactoryTest_03.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDerivedFieldFactoryTest_03.txt new file mode 100644 index 00000000000..b4e23c0d058 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDerivedFieldFactoryTest_03.txt @@ -0,0 +1,13 @@ +{ + KiePMMLConstant variableName_0_0 = new KiePMMLConstant("variableName_0_0", Collections.emptyList(), %s, null); + KiePMMLFieldRef variableName_0_1 = new KiePMMLFieldRef("%s", Collections.emptyList(), null); + KiePMMLApply variableName_0 = KiePMMLApply.builder("variableName_0", Collections.emptyList(), "%s") + .withDefaultValue(null) + .withMapMissingTo(null) + .withInvalidValueTreatmentMethod("%s") + .withKiePMMLExpressions(Arrays.asList(variableName_0_0, variableName_0_1)) + .build(); + KiePMMLDerivedField %s = KiePMMLDerivedField.builder("%s", Collections.emptyList(), %s, %s, variableName_0) + .withDisplayName(null) + .build(); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDiscretizeBinFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDiscretizeBinFactoryTest_01.txt new file mode 100644 index 00000000000..e5a820cf143 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDiscretizeBinFactoryTest_01.txt @@ -0,0 +1,4 @@ +{ + KiePMMLInterval %1$s_Interval = new KiePMMLInterval(%2$s, null, %3$s); + KiePMMLDiscretizeBin %1$s = new KiePMMLDiscretizeBin("%1$s", Collections.emptyList(), "%4$s", %1$s_Interval); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDiscretizeFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDiscretizeFactoryTest_01.txt new file mode 100644 index 00000000000..8dd20b28d48 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLDiscretizeFactoryTest_01.txt @@ -0,0 +1,8 @@ +{ + KiePMMLInterval %1$s_0_Interval = new KiePMMLInterval(null, 20, org.kie.pmml.api.enums.CLOSURE.OPEN_OPEN); + KiePMMLDiscretizeBin %1$s_0 = new KiePMMLDiscretizeBin("%1$s_0", Collections.emptyList(), "discretizeBin1", %1$s_0_Interval); + KiePMMLInterval %1$s_1_Interval = new KiePMMLInterval(21, 30, org.kie.pmml.api.enums.CLOSURE.OPEN_CLOSED); + KiePMMLDiscretizeBin %1$s_1 = new KiePMMLDiscretizeBin("%1$s_1", Collections.emptyList(), "discretizeBin2", %1$s_1_Interval); + KiePMMLDiscretize %1$s = new KiePMMLDiscretize("%2$s", Collections.emptyList(), + Arrays.asList(%1$s_0, %1$s_1), "%3$s", "%4$s", %5$s); +} diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLFalsePredicateFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLFalsePredicateFactoryTest_01.txt new file mode 100644 index 00000000000..a806b2c1d5b --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLFalsePredicateFactoryTest_01.txt @@ -0,0 +1,3 @@ +{ + KiePMMLFalsePredicate %1$s = new KiePMMLFalsePredicate("%1$s", Collections.emptyList()); +} diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLFieldColumnPairFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLFieldColumnPairFactoryTest_01.txt new file mode 100644 index 00000000000..fea3540e3c8 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLFieldColumnPairFactoryTest_01.txt @@ -0,0 +1,3 @@ +{ + KiePMMLFieldColumnPair %s = new KiePMMLFieldColumnPair("%s", Collections.emptyList(), "%s"); +} diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLFieldRefFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLFieldRefFactoryTest_01.txt new file mode 100644 index 00000000000..be86fa6f2d8 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLFieldRefFactoryTest_01.txt @@ -0,0 +1,3 @@ +{ + KiePMMLFieldRef %1$s = new KiePMMLFieldRef("%2$s", Collections.emptyList(), "%3$s"); +} diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLInlineTableFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLInlineTableFactoryTest_01.txt new file mode 100644 index 00000000000..7d544009c15 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLInlineTableFactoryTest_01.txt @@ -0,0 +1,28 @@ +{ + Map %1$s_0_columnValues = Stream + .of(new Object[][] { { "band", "1" }, { "state", "MN" }, { "out", "10000" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_0 = new KiePMMLRow(%1$s_0_columnValues); + Map %1$s_1_columnValues = Stream + .of(new Object[][] { { "band", "1" }, { "state", "IL" }, { "out", "12000" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_1 = new KiePMMLRow(%1$s_1_columnValues); + Map %1$s_2_columnValues = Stream + .of(new Object[][] { { "band", "1" }, { "state", "NY" }, { "out", "20000" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_2 = new KiePMMLRow(%1$s_2_columnValues); + Map %1$s_3_columnValues = Stream + .of(new Object[][] { { "band", "2" }, { "state", "MN" }, { "out", "20000" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_3 = new KiePMMLRow(%1$s_3_columnValues); + Map %1$s_4_columnValues = Stream + .of(new Object[][] { { "band", "2" }, { "state", "IL" }, { "out", "23000" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_4 = new KiePMMLRow(%1$s_4_columnValues); + Map %1$s_5_columnValues = Stream + .of(new Object[][] { { "band", "2" }, { "state", "NY" }, { "out", "30000" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_5 = new KiePMMLRow(%1$s_5_columnValues); + KiePMMLInlineTable %1$s = new KiePMMLInlineTable("%1$s", Collections.emptyList(), + Arrays.asList(%1$s_0, %1$s_1, %1$s_2, %1$s_3, %1$s_4, %1$s_5)); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLIntervalFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLIntervalFactoryTest_01.txt new file mode 100644 index 00000000000..3ac4381095c --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLIntervalFactoryTest_01.txt @@ -0,0 +1,3 @@ +{ + KiePMMLInterval %s = new KiePMMLInterval(%s, null, %s); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLLocalTransformationsFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLLocalTransformationsFactoryTest_01.txt new file mode 100644 index 00000000000..f69de198d29 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLLocalTransformationsFactoryTest_01.txt @@ -0,0 +1,21 @@ +{ + KiePMMLConstant localTransformationsDerivedField_0_0 = new KiePMMLConstant("localTransformationsDerivedField_0_0", + Collections.emptyList(), 100.0, null); + KiePMMLDerivedField localTransformationsDerivedField_0 = KiePMMLDerivedField + .builder("PARAM_20", Collections.emptyList(), + org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, + localTransformationsDerivedField_0_0) + .withDisplayName(null) + .build(); + KiePMMLConstant localTransformationsDerivedField_1_0 = new KiePMMLConstant("localTransformationsDerivedField_1_0", + Collections.emptyList(), 100.0, null); + KiePMMLDerivedField localTransformationsDerivedField_1 = KiePMMLDerivedField + .builder("PARAM_21", Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, + localTransformationsDerivedField_1_0) + .withDisplayName(null) + .build(); + KiePMMLLocalTransformations localTransformations = KiePMMLLocalTransformations + .builder("localTransformations", Collections.emptyList()) + .withDerivedFields(Arrays.asList(localTransformationsDerivedField_0, localTransformationsDerivedField_1)) + .build(); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLMapValuesFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLMapValuesFactoryTest_01.txt new file mode 100644 index 00000000000..e7e9ba3f178 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLMapValuesFactoryTest_01.txt @@ -0,0 +1,36 @@ +{ + KiePMMLFieldColumnPair %1$s_0 = new KiePMMLFieldColumnPair("BAND", Collections.emptyList(), "band"); + KiePMMLFieldColumnPair %1$s_1 = new KiePMMLFieldColumnPair("STATE", Collections.emptyList(), "state"); + Map %1$s_InlineTable_0_columnValues = Stream + .of(new Object[][] { { "band", "1" }, { "state", "MN" }, { "out", "10000" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_InlineTable_0 = new KiePMMLRow(%1$s_InlineTable_0_columnValues); + Map %1$s_InlineTable_1_columnValues = Stream + .of(new Object[][] { { "band", "1" }, { "state", "IL" }, { "out", "12000" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_InlineTable_1 = new KiePMMLRow(%1$s_InlineTable_1_columnValues); + Map %1$s_InlineTable_2_columnValues = Stream + .of(new Object[][] { { "band", "1" }, { "state", "NY" }, { "out", "20000" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_InlineTable_2 = new KiePMMLRow(%1$s_InlineTable_2_columnValues); + Map %1$s_InlineTable_3_columnValues = Stream + .of(new Object[][] { { "band", "2" }, { "state", "MN" }, { "out", "20000" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_InlineTable_3 = new KiePMMLRow(%1$s_InlineTable_3_columnValues); + Map %1$s_InlineTable_4_columnValues = Stream + .of(new Object[][] { { "band", "2" }, { "state", "IL" }, { "out", "23000" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_InlineTable_4 = new KiePMMLRow(%1$s_InlineTable_4_columnValues); + Map %1$s_InlineTable_5_columnValues = Stream + .of(new Object[][] { { "band", "2" }, { "state", "NY" }, { "out", "30000" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_InlineTable_5 = new KiePMMLRow(%1$s_InlineTable_5_columnValues); + KiePMMLInlineTable %1$s_InlineTable = new KiePMMLInlineTable("%1$s_InlineTable", Collections.emptyList(), + Arrays.asList(%1$s_InlineTable_0, %1$s_InlineTable_1, %1$s_InlineTable_2, %1$s_InlineTable_3, %1$s_InlineTable_4, %1$s_InlineTable_5)); + KiePMMLMapValues %1$s = KiePMMLMapValues.builder("%1$s", Collections.emptyList(), "out") + .withDefaultValue(null).withMapMissingTo(null) + .withDataType(org.kie.pmml.api.enums.DATA_TYPE.INTEGER) + .withKiePMMLInlineTable(%1$s_InlineTable) + .withKiePMMLFieldColumnPairs(Arrays.asList(%1$s_0, %1$s_1)) + .build(); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLModelCodegenUtilsTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLModelCodegenUtilsTest_01.txt new file mode 100644 index 00000000000..4d6fa62548a --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLModelCodegenUtilsTest_01.txt @@ -0,0 +1,23 @@ +{ + super("golfing", Collections.emptyList()); + pmmlMODEL = org.kie.pmml.api.enums.PMML_MODEL.TREE_MODEL; + transformationDictionary = this.createTransformationDictionary(); + localTransformations = this.createLocalTransformations(); + miningFunction = org.kie.pmml.api.enums.MINING_FUNCTION.CLASSIFICATION; + targetField = "whatIdo"; + miningFields.add(new org.kie.pmml.api.models.MiningField("temperature", org.kie.pmml.api.enums.FIELD_USAGE_TYPE.ACTIVE, + null, org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, null, org.kie.pmml.api.enums.INVALID_VALUE_TREATMENT_METHOD.RETURN_INVALID, + null, null, java.util.Arrays.asList(), java.util.Arrays.asList())); + miningFields.add(new org.kie.pmml.api.models.MiningField("humidity", org.kie.pmml.api.enums.FIELD_USAGE_TYPE.ACTIVE, + null, org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, null, org.kie.pmml.api.enums.INVALID_VALUE_TREATMENT_METHOD.RETURN_INVALID, + null, null, java.util.Arrays.asList(), java.util.Arrays.asList())); + miningFields.add(new org.kie.pmml.api.models.MiningField("windy", org.kie.pmml.api.enums.FIELD_USAGE_TYPE.ACTIVE, + null, org.kie.pmml.api.enums.DATA_TYPE.STRING, null, org.kie.pmml.api.enums.INVALID_VALUE_TREATMENT_METHOD.RETURN_INVALID, + null, null, java.util.Arrays.asList("true", "false"), java.util.Arrays.asList())); + miningFields.add(new org.kie.pmml.api.models.MiningField("outlook", org.kie.pmml.api.enums.FIELD_USAGE_TYPE.ACTIVE, + null, org.kie.pmml.api.enums.DATA_TYPE.STRING, null, org.kie.pmml.api.enums.INVALID_VALUE_TREATMENT_METHOD.RETURN_INVALID, + null, null, java.util.Arrays.asList("sunny", "overcast", "rain"), java.util.Arrays.asList())); + miningFields.add(new org.kie.pmml.api.models.MiningField("whatIdo", org.kie.pmml.api.enums.FIELD_USAGE_TYPE.TARGET, + null, org.kie.pmml.api.enums.DATA_TYPE.STRING, null, org.kie.pmml.api.enums.INVALID_VALUE_TREATMENT_METHOD.RETURN_INVALID, + null, null, java.util.Arrays.asList("will play", "may play", "no play"), java.util.Arrays.asList())); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLModelFactoryUtilsTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLModelFactoryUtilsTest_01.txt new file mode 100644 index 00000000000..7d2b5148391 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLModelFactoryUtilsTest_01.txt @@ -0,0 +1,69 @@ +private org.kie.pmml.commons.transformations.KiePMMLTransformationDictionary createTransformationDictionary() { + KiePMMLParameterField CONSTANT_FUNCTION_0 = KiePMMLParameterField.builder("empty", Collections.emptyList()).withDataType(null).withOpType(null).withDisplayName(null).build(); + KiePMMLConstant CONSTANT_FUNCTION_Expression = new KiePMMLConstant("CONSTANT_FUNCTION_Expression", Collections.emptyList(), "CONSTANT_FUNCTION_VALUE", null); + KiePMMLDefineFunction CONSTANT_FUNCTION = new KiePMMLDefineFunction("CONSTANT_FUNCTION", Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE.STRING, org.kie.pmml.api.enums.OP_TYPE.CATEGORICAL, Arrays.asList(CONSTANT_FUNCTION_0), CONSTANT_FUNCTION_Expression); + KiePMMLParameterField FIELDREF_FUNCTION_0 = KiePMMLParameterField.builder("fieldRed", Collections.emptyList()).withDataType(null).withOpType(null).withDisplayName(null).build(); + KiePMMLFieldRef FIELDREF_FUNCTION_Expression = new KiePMMLFieldRef("Petal.Length", Collections.emptyList(), null); + KiePMMLDefineFunction FIELDREF_FUNCTION = new KiePMMLDefineFunction("FIELDREF_FUNCTION", Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, Arrays.asList(FIELDREF_FUNCTION_0), FIELDREF_FUNCTION_Expression); + KiePMMLParameterField APPLY_FUNCTION_0 = KiePMMLParameterField.builder("fieldRed", Collections.emptyList()).withDataType(null).withOpType(null).withDisplayName(null).build(); + KiePMMLFieldRef APPLY_FUNCTION_Expression_0 = new KiePMMLFieldRef("Petal.Length", Collections.emptyList(), null); + KiePMMLApply APPLY_FUNCTION_Expression = KiePMMLApply.builder("APPLY_FUNCTION_Expression", Collections.emptyList(), "FIELDREF_FUNCTION").withDefaultValue(null).withMapMissingTo(null).withInvalidValueTreatmentMethod("returnInvalid").withKiePMMLExpressions(Arrays.asList(APPLY_FUNCTION_Expression_0)).build(); + KiePMMLDefineFunction APPLY_FUNCTION = new KiePMMLDefineFunction("APPLY_FUNCTION", Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, Arrays.asList(APPLY_FUNCTION_0), APPLY_FUNCTION_Expression); + KiePMMLParameterField TEXT_INDEX_NORMALIZATION_FUNCTION_0 = KiePMMLParameterField.builder("reviewText", Collections.emptyList()).withDataType(null).withOpType(null).withDisplayName(null).build(); + KiePMMLParameterField TEXT_INDEX_NORMALIZATION_FUNCTION_1 = KiePMMLParameterField.builder("term", Collections.emptyList()).withDataType(null).withOpType(null).withDisplayName(null).build(); + KiePMMLFieldRef TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_Expression = new KiePMMLFieldRef("term", Collections.emptyList(), null); + Map TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_0_columnValues = Stream.of(new Object[][] { { "regex", "true" }, { "string", "interfaces?" }, { "stem", "interface" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_0 = new KiePMMLRow(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_0_columnValues); + Map TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_1_columnValues = Stream.of(new Object[][] { { "regex", "true" }, { "string", "is|are|seem(ed|s?)|were" }, { "stem", "be" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_1 = new KiePMMLRow(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_1_columnValues); + Map TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_2_columnValues = Stream.of(new Object[][] { { "regex", "true" }, { "string", "user friendl(y|iness)" }, { "stem", "user_friendly" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_2 = new KiePMMLRow(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_2_columnValues); + KiePMMLInlineTable TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable = new KiePMMLInlineTable("TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable", Collections.emptyList(), Arrays.asList(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_0, TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_1, TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable_2)); + KiePMMLTextIndexNormalization TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0 = KiePMMLTextIndexNormalization.builder("TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0", Collections.emptyList()).withInField("string").withOutField("stem").withKiePMMLInlineTable(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0_InlineTable).withRegexField("regex").withRecursive(false).withIsCaseSensitive(false).withMaxLevenshteinDistance(null).withWordSeparatorCharacterRE(null).withTokenize(false).build(); + Map TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1_InlineTable_0_columnValues = Stream.of(new Object[][] { { "regex", "true" }, { "re", "interface be (user_friendly|well designed|excellent)" }, { "feature", "ui_good" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1_InlineTable_0 = new KiePMMLRow(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1_InlineTable_0_columnValues); + KiePMMLInlineTable TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1_InlineTable = new KiePMMLInlineTable("TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1_InlineTable", Collections.emptyList(), Arrays.asList(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1_InlineTable_0)); + KiePMMLTextIndexNormalization TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1 = KiePMMLTextIndexNormalization.builder("TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1", Collections.emptyList()).withInField("re").withOutField("feature").withKiePMMLInlineTable(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1_InlineTable).withRegexField("regex").withRecursive(false).withIsCaseSensitive(false).withMaxLevenshteinDistance(null).withWordSeparatorCharacterRE(null).withTokenize(false).build(); + KiePMMLTextIndex TEXT_INDEX_NORMALIZATION_FUNCTION_Expression = KiePMMLTextIndex.builder("reviewText", Collections.emptyList(), TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_Expression).withLocalTermWeights(org.kie.pmml.api.enums.LOCAL_TERM_WEIGHTS.BINARY).withIsCaseSensitive(false).withMaxLevenshteinDistance(0).withCountHits(org.kie.pmml.api.enums.COUNT_HITS.ALL_HITS).withWordSeparatorCharacterRE("\\s+").withTokenize(true).withTextIndexNormalizations(Arrays.asList(TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_0, TEXT_INDEX_NORMALIZATION_FUNCTION_Expression_1)).build(); + KiePMMLDefineFunction TEXT_INDEX_NORMALIZATION_FUNCTION = new KiePMMLDefineFunction("TEXT_INDEX_NORMALIZATION_FUNCTION", Collections.emptyList(), null, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, Arrays.asList(TEXT_INDEX_NORMALIZATION_FUNCTION_0, TEXT_INDEX_NORMALIZATION_FUNCTION_1), TEXT_INDEX_NORMALIZATION_FUNCTION_Expression); + KiePMMLConstant transformationDictionaryDerivedField_0_0 = new KiePMMLConstant("transformationDictionaryDerivedField_0_0", Collections.emptyList(), "CONSTANT_DERIVEDFIELD_VALUE", null); + KiePMMLDerivedField transformationDictionaryDerivedField_0 = KiePMMLDerivedField.builder("CONSTANT_DERIVEDFIELD", Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE.STRING, org.kie.pmml.api.enums.OP_TYPE.CATEGORICAL, transformationDictionaryDerivedField_0_0).withDisplayName(null).build(); + KiePMMLFieldRef transformationDictionaryDerivedField_1_0_0 = new KiePMMLFieldRef("Petal.Length", Collections.emptyList(), null); + KiePMMLApply transformationDictionaryDerivedField_1_0 = KiePMMLApply.builder("transformationDictionaryDerivedField_1_0", Collections.emptyList(), "APPLY_FUNCTION").withDefaultValue(null).withMapMissingTo(null).withInvalidValueTreatmentMethod("returnInvalid").withKiePMMLExpressions(Arrays.asList(transformationDictionaryDerivedField_1_0_0)).build(); + KiePMMLDerivedField transformationDictionaryDerivedField_1 = KiePMMLDerivedField.builder("APPLY_DERIVEDFIELD", Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, transformationDictionaryDerivedField_1_0).withDisplayName(null).build(); + KiePMMLFieldRef transformationDictionaryDerivedField_2_0 = new KiePMMLFieldRef("Ref", Collections.emptyList(), null); + KiePMMLDerivedField transformationDictionaryDerivedField_2 = KiePMMLDerivedField.builder("BackRef", Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, transformationDictionaryDerivedField_2_0).withDisplayName(null).build(); + KiePMMLFieldRef transformationDictionaryDerivedField_3_0 = new KiePMMLFieldRef("Petal.Width", Collections.emptyList(), null); + KiePMMLDerivedField transformationDictionaryDerivedField_3 = KiePMMLDerivedField.builder("StageOne", Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, transformationDictionaryDerivedField_3_0).withDisplayName(null).build(); + KiePMMLFieldRef transformationDictionaryDerivedField_4_0 = new KiePMMLFieldRef("StageOne", Collections.emptyList(), null); + KiePMMLDerivedField transformationDictionaryDerivedField_4 = KiePMMLDerivedField.builder("StageTwo", Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, transformationDictionaryDerivedField_4_0).withDisplayName(null).build(); + KiePMMLFieldRef transformationDictionaryDerivedField_5_0 = new KiePMMLFieldRef("StageTwo", Collections.emptyList(), null); + KiePMMLDerivedField transformationDictionaryDerivedField_5 = KiePMMLDerivedField.builder("StageThree", Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, transformationDictionaryDerivedField_5_0).withDisplayName(null).build(); + KiePMMLFieldColumnPair transformationDictionaryDerivedField_6_0_0 = new KiePMMLFieldColumnPair("BAND", Collections.emptyList(), "band"); + KiePMMLFieldColumnPair transformationDictionaryDerivedField_6_0_1 = new KiePMMLFieldColumnPair("STATE", Collections.emptyList(), "state"); + Map transformationDictionaryDerivedField_6_0_InlineTable_0_columnValues = Stream.of(new Object[][] { { "band", "1" }, { "state", "MN" }, { "out", "10000" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow transformationDictionaryDerivedField_6_0_InlineTable_0 = new KiePMMLRow(transformationDictionaryDerivedField_6_0_InlineTable_0_columnValues); + Map transformationDictionaryDerivedField_6_0_InlineTable_1_columnValues = Stream.of(new Object[][] { { "band", "1" }, { "state", "IL" }, { "out", "12000" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow transformationDictionaryDerivedField_6_0_InlineTable_1 = new KiePMMLRow(transformationDictionaryDerivedField_6_0_InlineTable_1_columnValues); + Map transformationDictionaryDerivedField_6_0_InlineTable_2_columnValues = Stream.of(new Object[][] { { "band", "1" }, { "state", "NY" }, { "out", "20000" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow transformationDictionaryDerivedField_6_0_InlineTable_2 = new KiePMMLRow(transformationDictionaryDerivedField_6_0_InlineTable_2_columnValues); + Map transformationDictionaryDerivedField_6_0_InlineTable_3_columnValues = Stream.of(new Object[][] { { "band", "2" }, { "state", "MN" }, { "out", "20000" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow transformationDictionaryDerivedField_6_0_InlineTable_3 = new KiePMMLRow(transformationDictionaryDerivedField_6_0_InlineTable_3_columnValues); + Map transformationDictionaryDerivedField_6_0_InlineTable_4_columnValues = Stream.of(new Object[][] { { "band", "2" }, { "state", "IL" }, { "out", "23000" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow transformationDictionaryDerivedField_6_0_InlineTable_4 = new KiePMMLRow(transformationDictionaryDerivedField_6_0_InlineTable_4_columnValues); + Map transformationDictionaryDerivedField_6_0_InlineTable_5_columnValues = Stream.of(new Object[][] { { "band", "2" }, { "state", "NY" }, { "out", "30000" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow transformationDictionaryDerivedField_6_0_InlineTable_5 = new KiePMMLRow(transformationDictionaryDerivedField_6_0_InlineTable_5_columnValues); + KiePMMLInlineTable transformationDictionaryDerivedField_6_0_InlineTable = new KiePMMLInlineTable("transformationDictionaryDerivedField_6_0_InlineTable", Collections.emptyList(), Arrays.asList(transformationDictionaryDerivedField_6_0_InlineTable_0, transformationDictionaryDerivedField_6_0_InlineTable_1, transformationDictionaryDerivedField_6_0_InlineTable_2, transformationDictionaryDerivedField_6_0_InlineTable_3, transformationDictionaryDerivedField_6_0_InlineTable_4, transformationDictionaryDerivedField_6_0_InlineTable_5)); + KiePMMLMapValues transformationDictionaryDerivedField_6_0 = KiePMMLMapValues.builder("transformationDictionaryDerivedField_6_0", Collections.emptyList(), "out").withDefaultValue(null).withMapMissingTo(null).withDataType(org.kie.pmml.api.enums.DATA_TYPE.INTEGER).withKiePMMLInlineTable(transformationDictionaryDerivedField_6_0_InlineTable).withKiePMMLFieldColumnPairs(Arrays.asList(transformationDictionaryDerivedField_6_0_0, transformationDictionaryDerivedField_6_0_1)).build(); + KiePMMLDerivedField transformationDictionaryDerivedField_6 = KiePMMLDerivedField.builder("mapvalued", Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, transformationDictionaryDerivedField_6_0).withDisplayName(null).build(); + KiePMMLFieldColumnPair transformationDictionaryDerivedField_7_0_0 = new KiePMMLFieldColumnPair("FLAG_OWN_CAR", Collections.emptyList(), "data:input"); + Map transformationDictionaryDerivedField_7_0_InlineTable_0_columnValues = Stream.of(new Object[][] { { "data:output", "0.0" }, { "data:input", "0" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow transformationDictionaryDerivedField_7_0_InlineTable_0 = new KiePMMLRow(transformationDictionaryDerivedField_7_0_InlineTable_0_columnValues); + Map transformationDictionaryDerivedField_7_0_InlineTable_1_columnValues = Stream.of(new Object[][] { { "data:output", "1.0" }, { "data:input", "1" } }).collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow transformationDictionaryDerivedField_7_0_InlineTable_1 = new KiePMMLRow(transformationDictionaryDerivedField_7_0_InlineTable_1_columnValues); + KiePMMLInlineTable transformationDictionaryDerivedField_7_0_InlineTable = new KiePMMLInlineTable("transformationDictionaryDerivedField_7_0_InlineTable", Collections.emptyList(), Arrays.asList(transformationDictionaryDerivedField_7_0_InlineTable_0, transformationDictionaryDerivedField_7_0_InlineTable_1)); + KiePMMLMapValues transformationDictionaryDerivedField_7_0 = KiePMMLMapValues.builder("transformationDictionaryDerivedField_7_0", Collections.emptyList(), "data:output").withDefaultValue(null).withMapMissingTo(null).withDataType(null).withKiePMMLInlineTable(transformationDictionaryDerivedField_7_0_InlineTable).withKiePMMLFieldColumnPairs(Arrays.asList(transformationDictionaryDerivedField_7_0_0)).build(); + KiePMMLDerivedField transformationDictionaryDerivedField_7 = KiePMMLDerivedField.builder("dataencoded", Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CATEGORICAL, transformationDictionaryDerivedField_7_0).withDisplayName(null).build(); + KiePMMLTransformationDictionary transformationDictionary = KiePMMLTransformationDictionary.builder("transformationDictionary", Collections.emptyList()).withDefineFunctions(Arrays.asList(CONSTANT_FUNCTION, FIELDREF_FUNCTION, APPLY_FUNCTION, TEXT_INDEX_NORMALIZATION_FUNCTION)).withDerivedFields(Arrays.asList(transformationDictionaryDerivedField_0, transformationDictionaryDerivedField_1, transformationDictionaryDerivedField_2, transformationDictionaryDerivedField_3, transformationDictionaryDerivedField_4, transformationDictionaryDerivedField_5, transformationDictionaryDerivedField_6, transformationDictionaryDerivedField_7)).build(); + return transformationDictionary; +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLModelFactoryUtilsTest_02.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLModelFactoryUtilsTest_02.txt new file mode 100644 index 00000000000..2c65b2be49b --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLModelFactoryUtilsTest_02.txt @@ -0,0 +1,10 @@ +private org.kie.pmml.commons.transformations.KiePMMLLocalTransformations createLocalTransformations() { + KiePMMLConstant localTransformationsDerivedField_0_0 = new KiePMMLConstant("localTransformationsDerivedField_0_0", Collections.emptyList(), "LOCAL_CONSTANT_DERIVEDFIELD_VALUE", null); + KiePMMLDerivedField localTransformationsDerivedField_0 = KiePMMLDerivedField.builder("LOCAL_CONSTANT_DERIVEDFIELD", Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE.STRING, org.kie.pmml.api.enums.OP_TYPE.CATEGORICAL, localTransformationsDerivedField_0_0).withDisplayName(null).build(); + KiePMMLFieldRef localTransformationsDerivedField_1_0 = new KiePMMLFieldRef("Ref", Collections.emptyList(), null); + KiePMMLDerivedField localTransformationsDerivedField_1 = KiePMMLDerivedField.builder("LOCAL_Ref", Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, localTransformationsDerivedField_1_0).withDisplayName(null).build(); + KiePMMLFieldRef localTransformationsDerivedField_2_0 = new KiePMMLFieldRef("BackRef", Collections.emptyList(), null); + KiePMMLDerivedField localTransformationsDerivedField_2 = KiePMMLDerivedField.builder("LOCAL_BackRef", Collections.emptyList(), org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, localTransformationsDerivedField_2_0).withDisplayName(null).build(); + KiePMMLLocalTransformations localTransformations = KiePMMLLocalTransformations.builder("localTransformations", Collections.emptyList()).withDerivedFields(Arrays.asList(localTransformationsDerivedField_0, localTransformationsDerivedField_1, localTransformationsDerivedField_2)).build(); + return localTransformations; +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLNormContinuousFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLNormContinuousFactoryTest_01.txt new file mode 100644 index 00000000000..d37eca1fd49 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLNormContinuousFactoryTest_01.txt @@ -0,0 +1,7 @@ +{ + KiePMMLNormContinuous %s = new KiePMMLNormContinuous("%s", Collections.emptyList(), + Arrays.asList(new KiePMMLLinearNorm("LinearNorm-0", Collections.emptyList(), 24, 26), + new KiePMMLLinearNorm("LinearNorm-0", Collections.emptyList(), 30, 32), + new KiePMMLLinearNorm("LinearNorm-0", Collections.emptyList(), 36, 34), + new KiePMMLLinearNorm("LinearNorm-0", Collections.emptyList(), 40, 39)), %s, %s); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLNormContinuousFactoryTest_02.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLNormContinuousFactoryTest_02.txt new file mode 100644 index 00000000000..7ed3881f4b1 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLNormContinuousFactoryTest_02.txt @@ -0,0 +1 @@ +new KiePMMLLinearNorm("%s", Collections.emptyList(), %s, %s) \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLNormDiscreteFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLNormDiscreteFactoryTest_01.txt new file mode 100644 index 00000000000..0771f692a7c --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLNormDiscreteFactoryTest_01.txt @@ -0,0 +1,3 @@ +{ + KiePMMLNormDiscrete %s = new KiePMMLNormDiscrete("%s", Collections.emptyList(), "%s", %s); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLParameterFieldFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLParameterFieldFactoryTest_01.txt new file mode 100644 index 00000000000..a7f14c4cb26 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLParameterFieldFactoryTest_01.txt @@ -0,0 +1,7 @@ +{ + KiePMMLParameterField %1$s = KiePMMLParameterField.builder("%1$s", Collections.emptyList()) + .withDataType(%2$s) + .withOpType(%3$s) + .withDisplayName("%4$s") + .build(); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLRowFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLRowFactoryTest_01.txt new file mode 100644 index 00000000000..8a1f00c34e4 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLRowFactoryTest_01.txt @@ -0,0 +1,6 @@ +{ + Map %1$s_columnValues = Stream + .of(new Object[][] { { "band", "1" }, { "state", "MN" }, { "out", "10000" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s = new KiePMMLRow(%1$s_columnValues); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLRowFactoryTest_02.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLRowFactoryTest_02.txt new file mode 100644 index 00000000000..1c66ea5668f --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLRowFactoryTest_02.txt @@ -0,0 +1,6 @@ +{ + Map %1$s_columnValues = Stream + .of(new Object[][] { { "data:output", "0.0" }, { "data:input", "0" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s = new KiePMMLRow(%1$s_columnValues); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLSimplePredicateFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLSimplePredicateFactoryTest_01.txt new file mode 100644 index 00000000000..068913b79c2 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLSimplePredicateFactoryTest_01.txt @@ -0,0 +1,5 @@ +{ + KiePMMLSimplePredicate %1$s = KiePMMLSimplePredicate.builder("%2$s", Collections.emptyList(), %3$s) + .withValue(%4$s) + .build(); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLSimpleSetPredicateFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLSimpleSetPredicateFactoryTest_01.txt new file mode 100644 index 00000000000..321d1704334 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLSimpleSetPredicateFactoryTest_01.txt @@ -0,0 +1,5 @@ +{ + KiePMMLSimpleSetPredicate %1$s = KiePMMLSimpleSetPredicate.builder("%2$s", Collections.emptyList(), %3$s, %4$s) + .withValues(Arrays.asList(%5$s)) + .build(); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLTextIndexFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLTextIndexFactoryTest_01.txt new file mode 100644 index 00000000000..06001c4ea86 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLTextIndexFactoryTest_01.txt @@ -0,0 +1,54 @@ +{ + KiePMMLFieldRef %1$s_Expression = new KiePMMLFieldRef("term", Collections.emptyList(), null); + Map %1$s_0_InlineTable_0_columnValues = Stream + .of(new Object[][] { { "regex", "true" }, { "string", "interfaces?" }, { "stem", "interface" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_0_InlineTable_0 = new KiePMMLRow(%1$s_0_InlineTable_0_columnValues); + Map %1$s_0_InlineTable_1_columnValues = Stream + .of(new Object[][] { { "regex", "true" }, { "string", "is|are|seem(ed|s?)|were" }, { "stem", "be" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_0_InlineTable_1 = new KiePMMLRow(%1$s_0_InlineTable_1_columnValues); + Map %1$s_0_InlineTable_2_columnValues = Stream + .of(new Object[][] { { "regex", "true" }, { "string", "user friendl(y|iness)" }, { "stem", "user_friendly" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_0_InlineTable_2 = new KiePMMLRow(%1$s_0_InlineTable_2_columnValues); + KiePMMLInlineTable %1$s_0_InlineTable = new KiePMMLInlineTable("%1$s_0_InlineTable", Collections.emptyList(), + Arrays.asList(%1$s_0_InlineTable_0, %1$s_0_InlineTable_1, %1$s_0_InlineTable_2)); + KiePMMLTextIndexNormalization %1$s_0 = KiePMMLTextIndexNormalization + .builder("%1$s_0", Collections.emptyList()) + .withInField("string") + .withOutField("stem") + .withKiePMMLInlineTable(%1$s_0_InlineTable) + .withRegexField("regex") + .withRecursive(false) + .withIsCaseSensitive(false) + .withMaxLevenshteinDistance(null) + .withWordSeparatorCharacterRE(null) + .withTokenize(false) + .build(); + Map %1$s_1_InlineTable_0_columnValues = Stream + .of(new Object[][] { { "regex", "true" }, { "re", "interface be (user_friendly|well designed|excellent)" }, { "feature", "ui_good" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_1_InlineTable_0 = new KiePMMLRow(%1$s_1_InlineTable_0_columnValues); + KiePMMLInlineTable %1$s_1_InlineTable = new KiePMMLInlineTable("%1$s_1_InlineTable", Collections.emptyList(), Arrays.asList(%1$s_1_InlineTable_0)); + KiePMMLTextIndexNormalization %1$s_1 = KiePMMLTextIndexNormalization.builder("%1$s_1", Collections.emptyList()) + .withInField("re") + .withOutField("feature") + .withKiePMMLInlineTable(%1$s_1_InlineTable) + .withRegexField("regex") + .withRecursive(false) + .withIsCaseSensitive(false) + .withMaxLevenshteinDistance(null) + .withWordSeparatorCharacterRE(null) + .withTokenize(false) + .build(); + KiePMMLTextIndex %1$s = KiePMMLTextIndex.builder("%2$s", Collections.emptyList(), %1$s_Expression) + .withLocalTermWeights(org.kie.pmml.api.enums.LOCAL_TERM_WEIGHTS.BINARY) + .withIsCaseSensitive(false) + .withMaxLevenshteinDistance(0) + .withCountHits(org.kie.pmml.api.enums.COUNT_HITS.ALL_HITS) + .withWordSeparatorCharacterRE("\\s+") + .withTokenize(true) + .withTextIndexNormalizations(Arrays.asList(%1$s_0, %1$s_1)) + .build(); +} diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLTextIndexNormalizationFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLTextIndexNormalizationFactoryTest_01.txt new file mode 100644 index 00000000000..987895df524 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLTextIndexNormalizationFactoryTest_01.txt @@ -0,0 +1,27 @@ +{ + Map %1$s_InlineTable_0_columnValues = Stream + .of(new Object[][] { { "regex", "true" }, { "string", "interfaces?" }, { "stem", "interface" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_InlineTable_0 = new KiePMMLRow(%1$s_InlineTable_0_columnValues); + Map %1$s_InlineTable_1_columnValues = Stream + .of(new Object[][] { { "regex", "true" }, { "string", "is|are|seem(ed|s?)|were" }, { "stem", "be" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_InlineTable_1 = new KiePMMLRow(%1$s_InlineTable_1_columnValues); + Map %1$s_InlineTable_2_columnValues = Stream + .of(new Object[][] { { "regex", "true" }, { "string", "user friendl(y|iness)" }, { "stem", "user_friendly" } }) + .collect(Collectors.toMap(data -> (String) data[0], data -> data[1])); + KiePMMLRow %1$s_InlineTable_2 = new KiePMMLRow(%1$s_InlineTable_2_columnValues); + KiePMMLInlineTable %1$s_InlineTable = new KiePMMLInlineTable("%1$s_InlineTable", Collections.emptyList(), + Arrays.asList(%1$s_InlineTable_0, %1$s_InlineTable_1, %1$s_InlineTable_2)); + KiePMMLTextIndexNormalization %1$s = KiePMMLTextIndexNormalization.builder("%1$s", Collections.emptyList()) + .withInField("string") + .withOutField("stem") + .withKiePMMLInlineTable(%1$s_InlineTable) + .withRegexField("regex") + .withRecursive(false) + .withIsCaseSensitive(false) + .withMaxLevenshteinDistance(null) + .withWordSeparatorCharacterRE(null) + .withTokenize(false) + .build(); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLTransformationDictionaryFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLTransformationDictionaryFactoryTest_01.txt new file mode 100644 index 00000000000..0fbcac338c6 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLTransformationDictionaryFactoryTest_01.txt @@ -0,0 +1,61 @@ +{ + KiePMMLParameterField CUSTOM_FUNCTION0_0 = KiePMMLParameterField.builder("PARAM_10", Collections.emptyList()) + .withDataType(org.kie.pmml.api.enums.DATA_TYPE.DOUBLE) + .withOpType(org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS) + .withDisplayName("displayName10") + .build(); + KiePMMLParameterField CUSTOM_FUNCTION0_1 = KiePMMLParameterField.builder("PARAM_20", Collections.emptyList()) + .withDataType(org.kie.pmml.api.enums.DATA_TYPE.DOUBLE) + .withOpType(org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS) + .withDisplayName("displayName20") + .build(); + KiePMMLConstant CUSTOM_FUNCTION0_Expression_0 = new KiePMMLConstant("CUSTOM_FUNCTION0_Expression_0", Collections.emptyList(), 100.0, null); + KiePMMLFieldRef CUSTOM_FUNCTION0_Expression_1 = new KiePMMLFieldRef("FIELD_REF0", Collections.emptyList(), null); + KiePMMLApply CUSTOM_FUNCTION0_Expression = KiePMMLApply.builder("CUSTOM_FUNCTION0_Expression", Collections.emptyList(), "/") + .withDefaultValue(null) + .withMapMissingTo(null) + .withInvalidValueTreatmentMethod("returnInvalid") + .withKiePMMLExpressions(Arrays.asList(CUSTOM_FUNCTION0_Expression_0, CUSTOM_FUNCTION0_Expression_1)) + .build(); + KiePMMLDefineFunction CUSTOM_FUNCTION0 = new KiePMMLDefineFunction("CUSTOM_FUNCTION0", Collections.emptyList(), + org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, + Arrays.asList(CUSTOM_FUNCTION0_0, CUSTOM_FUNCTION0_1), CUSTOM_FUNCTION0_Expression); + KiePMMLParameterField CUSTOM_FUNCTION1_0 = KiePMMLParameterField.builder("PARAM_11", Collections.emptyList()) + .withDataType(org.kie.pmml.api.enums.DATA_TYPE.DOUBLE) + .withOpType(org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS) + .withDisplayName("displayName11") + .build(); + KiePMMLParameterField CUSTOM_FUNCTION1_1 = KiePMMLParameterField.builder("PARAM_21", Collections.emptyList()) + .withDataType(org.kie.pmml.api.enums.DATA_TYPE.DOUBLE) + .withOpType(org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS) + .withDisplayName("displayName21") + .build(); + KiePMMLConstant CUSTOM_FUNCTION1_Expression_0 = new KiePMMLConstant("CUSTOM_FUNCTION1_Expression_0", Collections.emptyList(), 100.0, null); + KiePMMLFieldRef CUSTOM_FUNCTION1_Expression_1 = new KiePMMLFieldRef("FIELD_REF1", Collections.emptyList(), null); + KiePMMLApply CUSTOM_FUNCTION1_Expression = KiePMMLApply.builder("CUSTOM_FUNCTION1_Expression", Collections.emptyList(), "/") + .withDefaultValue(null) + .withMapMissingTo(null) + .withInvalidValueTreatmentMethod("returnInvalid") + .withKiePMMLExpressions(Arrays.asList(CUSTOM_FUNCTION1_Expression_0, CUSTOM_FUNCTION1_Expression_1)) + .build(); + KiePMMLDefineFunction CUSTOM_FUNCTION1 = new KiePMMLDefineFunction("CUSTOM_FUNCTION1", Collections.emptyList(), + org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, + Arrays.asList(CUSTOM_FUNCTION1_0, CUSTOM_FUNCTION1_1), CUSTOM_FUNCTION1_Expression); + KiePMMLConstant transformationDictionaryDerivedField_0_0 = new KiePMMLConstant("transformationDictionaryDerivedField_0_0", Collections.emptyList(), 100.0, null); + KiePMMLDerivedField transformationDictionaryDerivedField_0 = KiePMMLDerivedField.builder("PARAM_20", Collections.emptyList(), + org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, + transformationDictionaryDerivedField_0_0) + .withDisplayName(null) + .build(); + KiePMMLConstant transformationDictionaryDerivedField_1_0 = new KiePMMLConstant("transformationDictionaryDerivedField_1_0", Collections.emptyList(), 100.0, null); + KiePMMLDerivedField transformationDictionaryDerivedField_1 = KiePMMLDerivedField.builder("PARAM_21", Collections.emptyList(), + org.kie.pmml.api.enums.DATA_TYPE.DOUBLE, org.kie.pmml.api.enums.OP_TYPE.CONTINUOUS, + transformationDictionaryDerivedField_1_0) + .withDisplayName(null) + .build(); + KiePMMLTransformationDictionary transformationDictionary = KiePMMLTransformationDictionary + .builder("transformationDictionary", Collections.emptyList()) + .withDefineFunctions(Arrays.asList(CUSTOM_FUNCTION0, CUSTOM_FUNCTION1)) + .withDerivedFields(Arrays.asList(transformationDictionaryDerivedField_0, transformationDictionaryDerivedField_1)) + .build(); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLTruePredicateFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLTruePredicateFactoryTest_01.txt new file mode 100644 index 00000000000..f74a90180ec --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-compiler/kie-pmml-compiler-commons/src/test/resources/KiePMMLTruePredicateFactoryTest_01.txt @@ -0,0 +1,3 @@ +{ + KiePMMLTruePredicate %1$s = new KiePMMLTruePredicate("%1$s", Collections.emptyList()); +} diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/java/org/kie/pmml/models/regression/compiler/factories/KiePMMLRegressionTableRegressionFactoryTest.java b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/java/org/kie/pmml/models/regression/compiler/factories/KiePMMLRegressionTableRegressionFactoryTest.java index e6266303e80..552594062b0 100644 --- a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/java/org/kie/pmml/models/regression/compiler/factories/KiePMMLRegressionTableRegressionFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/java/org/kie/pmml/models/regression/compiler/factories/KiePMMLRegressionTableRegressionFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.models.regression.compiler.factories; +import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -32,12 +33,10 @@ import com.github.javaparser.ast.body.MethodDeclaration; import com.github.javaparser.ast.expr.DoubleLiteralExpr; import com.github.javaparser.ast.expr.Expression; -import com.github.javaparser.ast.expr.MethodCallExpr; import com.github.javaparser.ast.expr.NameExpr; import com.github.javaparser.ast.expr.SimpleName; import com.github.javaparser.ast.expr.StringLiteralExpr; import com.github.javaparser.ast.stmt.BlockStmt; -import com.github.javaparser.ast.stmt.ExpressionStmt; import com.github.javaparser.ast.stmt.ReturnStmt; import com.github.javaparser.ast.stmt.Statement; import org.dmg.pmml.regression.CategoricalPredictor; @@ -47,10 +46,10 @@ import org.dmg.pmml.regression.RegressionTable; import org.junit.Before; import org.junit.Test; +import org.kie.pmml.api.enums.RESULT_FEATURE; import org.kie.pmml.api.exceptions.KiePMMLException; import org.kie.pmml.api.exceptions.KiePMMLInternalException; import org.kie.pmml.commons.model.KiePMMLOutputField; -import org.kie.pmml.api.enums.RESULT_FEATURE; import org.kie.pmml.compiler.commons.testutils.PMMLModelTestUtils; import org.kie.pmml.compiler.commons.utils.JavaParserUtils; import org.kie.pmml.models.regression.model.tuples.KiePMMLTableSourceCategory; @@ -67,9 +66,17 @@ import static org.kie.pmml.models.regression.compiler.factories.KiePMMLRegressionTableRegressionFactory.KIE_PMML_REGRESSION_TABLE_REGRESSION_TEMPLATE; import static org.kie.pmml.models.regression.compiler.factories.KiePMMLRegressionTableRegressionFactory.KIE_PMML_REGRESSION_TABLE_REGRESSION_TEMPLATE_JAVA; import static org.kie.pmml.models.regression.compiler.factories.KiePMMLRegressionTableRegressionFactory.MAIN_CLASS_NOT_FOUND; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLRegressionTableRegressionFactoryTest extends AbstractKiePMMLRegressionTableRegressionFactoryTest { + private static final String TEST_01_SOURCE = "KiePMMLRegressionTableRegressionFactoryTest_01.txt"; + private static final String TEST_02_SOURCE = "KiePMMLRegressionTableRegressionFactoryTest_02.txt"; + private static final String TEST_03_SOURCE = "KiePMMLRegressionTableRegressionFactoryTest_03.txt"; + private static final String TEST_04_SOURCE = "KiePMMLRegressionTableRegressionFactoryTest_04.txt"; + private static final String TEST_05_SOURCE = "KiePMMLRegressionTableRegressionFactoryTest_05.txt"; + private static final String TEST_06_SOURCE = "KiePMMLRegressionTableRegressionFactoryTest_06.txt"; + private final static List SUPPORTED_NORMALIZATION_METHODS = Arrays.asList(RegressionModel.NormalizationMethod.SOFTMAX, RegressionModel.NormalizationMethod.LOGIT, @@ -124,7 +131,7 @@ public void setConstructor() { } @Test - public void addNumericPredictorWithExponent() { + public void addNumericPredictorWithExponent() throws IOException { String predictorName = "predictorName"; int exponent = 2; double coefficient = 1.23; @@ -135,13 +142,9 @@ public void addNumericPredictorWithExponent() { MethodDeclaration retrieved = KiePMMLRegressionTableRegressionFactory.addNumericPredictor(numericPredictor, tableTemplate, arity); BlockStmt body = retrieved.getBody().get(); - BlockStmt expected = JavaParserUtils.parseBlock(String.format("{" + - " double coefficient = %s;" + - " double exponent = %s.0;" + - " // Considering exponent because it is != 1\n" + - " return Math.pow(input, exponent) * coefficient;" + - "}", coefficient, exponent)); - JavaParserUtils.equalsNode(expected, body); + String text = getFileContent(TEST_01_SOURCE); + BlockStmt expected = JavaParserUtils.parseBlock(String.format(text, coefficient, exponent)); + assertTrue(JavaParserUtils.equalsNode(expected, body)); } @Test @@ -158,7 +161,7 @@ public void addNumericPredictors() { } @Test - public void addNumericPredictorWithoutExponent() { + public void addNumericPredictorWithoutExponent() throws IOException { String predictorName = "predictorName"; int exponent = 1; double coefficient = 1.23; @@ -169,16 +172,13 @@ public void addNumericPredictorWithoutExponent() { MethodDeclaration retrieved = KiePMMLRegressionTableRegressionFactory.addNumericPredictor(numericPredictor, tableTemplate, arity); BlockStmt body = retrieved.getBody().get(); - BlockStmt expected = JavaParserUtils.parseBlock(String.format("{" + - " double coefficient = %s;" + - " // Ignoring exponent because it is 1\n" + - " return input * coefficient;" + - "}", coefficient)); - JavaParserUtils.equalsNode(expected, body); + String text = getFileContent(TEST_02_SOURCE); + BlockStmt expected = JavaParserUtils.parseBlock(String.format(text, coefficient)); + assertTrue(JavaParserUtils.equalsNode(expected, body)); } @Test - public void getNumericPredictorWithExponentTemplate() { + public void getNumericPredictorWithExponentTemplate() throws IOException { String predictorName = "predictorName"; int exponent = 2; double coefficient = 1.23; @@ -193,17 +193,13 @@ public void getNumericPredictorWithExponentTemplate() { KiePMMLRegressionTableRegressionFactory.getNumericPredictorWithExponentTemplate(numericPredictor, evaluateTemplateClass); BlockStmt body = retrieved.getBody().get(); - BlockStmt expected = JavaParserUtils.parseBlock(String.format("{" + - " double coefficient = %s;" + - " double exponent = %s.0;" + - " // Considering exponent because it is != 1\n" + - " return Math.pow(input, exponent) * coefficient;" + - "}", coefficient, exponent)); - JavaParserUtils.equalsNode(expected, body); + String text = getFileContent(TEST_03_SOURCE); + BlockStmt expected = JavaParserUtils.parseBlock(String.format(text, coefficient, exponent)); + assertTrue(JavaParserUtils.equalsNode(expected, body)); } @Test - public void getNumericPredictorWithoutExponentTemplate() { + public void getNumericPredictorWithoutExponentTemplate() throws IOException { String predictorName = "predictorName"; int exponent = 2; double coefficient = 1.23; @@ -218,12 +214,9 @@ public void getNumericPredictorWithoutExponentTemplate() { KiePMMLRegressionTableRegressionFactory.getNumericPredictorWithoutExponentTemplate(numericPredictor, evaluateTemplateClass); BlockStmt body = retrieved.getBody().get(); - BlockStmt expected = JavaParserUtils.parseBlock(String.format("{" + - " double coefficient = %s;" + - " // Ignoring exponent because it is 1\n" + - " return input * coefficient;" + - "}", coefficient)); - JavaParserUtils.equalsNode(expected, body); + String text = getFileContent(TEST_04_SOURCE); + BlockStmt expected = JavaParserUtils.parseBlock(String.format(text, coefficient)); + assertTrue(JavaParserUtils.equalsNode(expected, body)); } @Test @@ -231,10 +224,10 @@ public void addCategoricalPredictors() { List categoricalPredictors = IntStream.range(0, 3).mapToObj(index -> IntStream.range(0, 3).mapToObj(i -> { - String predictorName = "predictorName-" + index; - double coefficient = 1.23 * i; - return PMMLModelTestUtils.getCategoricalPredictor(predictorName, i, coefficient); - }) + String predictorName = "predictorName-" + index; + double coefficient = 1.23 * i; + return PMMLModelTestUtils.getCategoricalPredictor(predictorName, i, coefficient); + }) .collect(Collectors.toList())).reduce((categoricalPredictors1, categoricalPredictors2) -> { List toReturn = new ArrayList<>(); toReturn.addAll(categoricalPredictors1); @@ -248,7 +241,7 @@ public void addCategoricalPredictors() { } @Test - public void addGroupedCategoricalPredictor() { + public void addGroupedCategoricalPredictor() throws IOException { final List categoricalPredictors = IntStream.range(0, 3).mapToObj(index -> { String predictorName = "predictorName-" + index; double coefficient = 1.23 * index; @@ -262,24 +255,16 @@ public void addGroupedCategoricalPredictor() { String expectedName = String.format("evaluateCategoricalPredictor%d", arity); assertEquals(expectedName, retrieved.getNameAsString()); BlockStmt body = retrieved.getBody().get(); - BlockStmt expected = JavaParserUtils.parseBlock(String.format("{" + - " if (Objects.equals(%s, input))" + - " return %s;" + - " else if (Objects.equals(%s, input))" + - " return %s;" + - " else if (Objects.equals(%s, input))" + - " return %s;" + - " else" + - " return 0.0;" + - "}", - categoricalPredictors.get(0).getValue(), - categoricalPredictors.get(0).getCoefficient(), - categoricalPredictors.get(1).getValue(), - categoricalPredictors.get(1).getCoefficient(), - categoricalPredictors.get(2).getValue(), - categoricalPredictors.get(2).getCoefficient() + String text = getFileContent(TEST_05_SOURCE); + BlockStmt expected = JavaParserUtils.parseBlock(String.format(text, + categoricalPredictors.get(0).getValue(), + categoricalPredictors.get(0).getCoefficient(), + categoricalPredictors.get(1).getValue(), + categoricalPredictors.get(1).getCoefficient(), + categoricalPredictors.get(2).getValue(), + categoricalPredictors.get(2).getCoefficient() )); - JavaParserUtils.equalsNode(expected, body); + assertTrue(JavaParserUtils.equalsNode(expected, body)); } @Test @@ -305,7 +290,7 @@ public void addPredictorTerms() { } @Test - public void addPredictorTerm() { + public void addPredictorTerm() throws IOException { String predictorName = "predictorName"; double coefficient = 23.12; String fieldRef = "fieldRef"; @@ -318,18 +303,9 @@ public void addPredictorTerm() { String expectedName = String.format("evaluatePredictorTerm%d", arity); assertEquals(expectedName, retrieved.getNameAsString()); BlockStmt body = retrieved.getBody().get(); - BlockStmt expected = JavaParserUtils.parseBlock(String.format("{" + - " final AtomicReference result = new AtomicReference<>(1.0);" + - " List fieldRefs = Arrays.asList(\"%s\");" + - " for (String key : resultMap.keySet()) {" + - " if (fieldRefs.contains(key)) {" + - " result.set(result.get() * (Double) resultMap.get(key));" + - " }" + - " }" + - " double coefficient = %s;" + - " return result.get() * coefficient;" + - "}", fieldRef, coefficient)); - JavaParserUtils.equalsNode(expected, body); + String text = getFileContent(TEST_06_SOURCE); + BlockStmt expected = JavaParserUtils.parseBlock(String.format(text, fieldRef, coefficient)); + assertTrue(JavaParserUtils.equalsNode(expected, body)); } @Test diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_01.txt new file mode 100644 index 00000000000..31c64c23e9f --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_01.txt @@ -0,0 +1,6 @@ +{ + double coefficient = %s; + double exponent = %s.0; + // Considering exponent because it is != 1 + return Math.pow(input, exponent) * coefficient; +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_02.txt b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_02.txt new file mode 100644 index 00000000000..fdff769d330 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_02.txt @@ -0,0 +1,5 @@ +{ + double coefficient = %s; + // Ignoring exponent because it is 1 + return input * coefficient; +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_03.txt b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_03.txt new file mode 100644 index 00000000000..31c64c23e9f --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_03.txt @@ -0,0 +1,6 @@ +{ + double coefficient = %s; + double exponent = %s.0; + // Considering exponent because it is != 1 + return Math.pow(input, exponent) * coefficient; +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_04.txt b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_04.txt new file mode 100644 index 00000000000..fdff769d330 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_04.txt @@ -0,0 +1,5 @@ +{ + double coefficient = %s; + // Ignoring exponent because it is 1 + return input * coefficient; +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_05.txt b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_05.txt new file mode 100644 index 00000000000..2761fc57902 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_05.txt @@ -0,0 +1,10 @@ +{ + if (Objects.equals(%s, input)) + return %s; + else if (Objects.equals(%s, input)) + return %s; + else if (Objects.equals(%s, input)) + return %s; + else + return 0.0; +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_06.txt b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_06.txt new file mode 100644 index 00000000000..838e3eca3b8 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-regression/kie-pmml-models-regression-compiler/src/test/resources/KiePMMLRegressionTableRegressionFactoryTest_06.txt @@ -0,0 +1,11 @@ +{ + final AtomicReference result = new AtomicReference<>(1.0); + List fieldRefs = Arrays.asList("%s"); + for (String key : resultMap.keySet()) { + if (fieldRefs.contains(key)) { + result.set(result.get() * (Double) resultMap.get(key)); + } + } + double coefficient = %s; + return result.get() * coefficient; +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/java/org/kie/pmml/models/scorecard/compiler/factories/KiePMMLAttributeFactoryTest.java b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/java/org/kie/pmml/models/scorecard/compiler/factories/KiePMMLAttributeFactoryTest.java index 78c870f5367..b785f5782b6 100644 --- a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/java/org/kie/pmml/models/scorecard/compiler/factories/KiePMMLAttributeFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/java/org/kie/pmml/models/scorecard/compiler/factories/KiePMMLAttributeFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.models.scorecard.compiler.factories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -49,6 +50,7 @@ import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; import static org.kie.pmml.compiler.commons.testutils.PMMLModelTestUtils.getSimplePredicate; import static org.kie.pmml.compiler.commons.testutils.PMMLModelTestUtils.getStringObjects; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLAttributeFactoryTest { @@ -59,9 +61,10 @@ public class KiePMMLAttributeFactoryTest { private static final Double value2 = 5.0; private static final SimplePredicate.Operator operator1 = SimplePredicate.Operator.EQUAL; private static final SimplePredicate.Operator operator2 = SimplePredicate.Operator.GREATER_THAN; + private static final String TEST_01_SOURCE = "KiePMMLAttributeFactoryTest_01.txt"; @Test - public void getAttributeVariableDeclarationWithComplexPartialScore() { + public void getAttributeVariableDeclarationWithComplexPartialScore() throws IOException { final String variableName = "variableName"; Attribute attribute = new Attribute(); attribute.setReasonCode(REASON_CODE); @@ -78,11 +81,11 @@ public void getAttributeVariableDeclarationWithComplexPartialScore() { DataField toAdd = null; if (predicate instanceof SimplePredicate) { toAdd = new DataField(); - toAdd.setName(((SimplePredicate)predicate).getField()); + toAdd.setName(((SimplePredicate) predicate).getField()); toAdd.setDataType(DataType.DOUBLE); } else if (predicate instanceof SimpleSetPredicate) { toAdd = new DataField(); - toAdd.setName(((SimpleSetPredicate)predicate).getField()); + toAdd.setName(((SimpleSetPredicate) predicate).getField()); toAdd.setDataType(DataType.DOUBLE); } if (toAdd != null) { @@ -90,41 +93,10 @@ public void getAttributeVariableDeclarationWithComplexPartialScore() { } } - BlockStmt retrieved = KiePMMLAttributeFactory.getAttributeVariableDeclaration(variableName, attribute, getFieldsFromDataDictionary(dataDictionary)); - Statement expected = JavaParserUtils - .parseBlock(String.format("{\n" + - " KiePMMLSimplePredicate %1$s_Predicate_0 = " + - "KiePMMLSimplePredicate.builder(\"PARAM_1\", Collections.emptyList" + - "(), org.kie.pmml.api.enums.OPERATOR.EQUAL).withValue(100.0).build" + - "();\n" + - " KiePMMLSimplePredicate %1$s_Predicate_1 = " + - "KiePMMLSimplePredicate.builder(\"PARAM_2\", Collections.emptyList" + - "(), org.kie.pmml.api.enums.OPERATOR.GREATER_THAN).withValue(5.0)" + - ".build();\n" + - " KiePMMLSimpleSetPredicate %1$s_Predicate_2 = " + - "KiePMMLSimpleSetPredicate.builder(\"SIMPLESETPREDICATENAME\", " + - "Collections.emptyList(), org.kie.pmml.api.enums.ARRAY_TYPE.STRING," + - " org.kie.pmml.api.enums.IN_NOTIN.IN).withValues(Arrays.asList" + - "(%2$s)).build();\n" + - " KiePMMLCompoundPredicate %1$s_Predicate = " + - "KiePMMLCompoundPredicate.builder(Collections.emptyList(), org.kie" + - ".pmml.api.enums.BOOLEAN_OPERATOR.AND).withKiePMMLPredicates(Arrays" + - ".asList(%1$s_Predicate_0, %1$s_Predicate_1, " + - "variableName_Predicate_2)).build();\n" + - " KiePMMLConstant %1$s_ComplexPartialScore_0 = new " + - "KiePMMLConstant(\"%1$s_ComplexPartialScore_0\", " + - "Collections.emptyList(), 100.0, null);\n" + - " KiePMMLComplexPartialScore %1$s_ComplexPartialScore = " + - "new KiePMMLComplexPartialScore" + - "(\"%1$s_ComplexPartialScore\", Collections.emptyList(), " + - "%1$s_ComplexPartialScore_0);\n" + - " KiePMMLAttribute %1$s = KiePMMLAttribute.builder" + - "(\"%1$s\", Collections.emptyList(), " + - "%1$s_Predicate).withPartialScore(null)" + - ".withComplexPartialScore(%1$s_ComplexPartialScore).build()" + - ";\n" + - "}", variableName, - valuesString)); + BlockStmt retrieved = KiePMMLAttributeFactory.getAttributeVariableDeclaration(variableName, attribute, + getFieldsFromDataDictionary(dataDictionary)); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName, valuesString)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(KiePMMLAttribute.class, KiePMMLComplexPartialScore.class, diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/java/org/kie/pmml/models/scorecard/compiler/factories/KiePMMLCharacteristicFactoryTest.java b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/java/org/kie/pmml/models/scorecard/compiler/factories/KiePMMLCharacteristicFactoryTest.java index d43c0144aeb..1ad6e21cb67 100644 --- a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/java/org/kie/pmml/models/scorecard/compiler/factories/KiePMMLCharacteristicFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/java/org/kie/pmml/models/scorecard/compiler/factories/KiePMMLCharacteristicFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.models.scorecard.compiler.factories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -51,6 +52,7 @@ import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; import static org.kie.pmml.compiler.commons.testutils.PMMLModelTestUtils.getSimplePredicate; import static org.kie.pmml.compiler.commons.testutils.PMMLModelTestUtils.getStringObjects; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLCharacteristicFactoryTest { @@ -61,9 +63,10 @@ public class KiePMMLCharacteristicFactoryTest { private static final Double value2 = 5.0; private static final SimplePredicate.Operator operator1 = SimplePredicate.Operator.EQUAL; private static final SimplePredicate.Operator operator2 = SimplePredicate.Operator.GREATER_THAN; + private static final String TEST_01_SOURCE = "KiePMMLCharacteristicFactoryTest_01.txt"; @Test - public void getAttributeVariableDeclarationWithComplexPartialScore() { + public void getAttributeVariableDeclarationWithComplexPartialScore() throws IOException { final String variableName = "variableName"; Array.Type arrayType = Array.Type.STRING; List values1 = getStringObjects(arrayType, 4); @@ -78,11 +81,11 @@ public void getAttributeVariableDeclarationWithComplexPartialScore() { DataField toAdd = null; if (predicate instanceof SimplePredicate) { toAdd = new DataField(); - toAdd.setName(((SimplePredicate)predicate).getField()); + toAdd.setName(((SimplePredicate) predicate).getField()); toAdd.setDataType(DataType.DOUBLE); } else if (predicate instanceof SimpleSetPredicate) { toAdd = new DataField(); - toAdd.setName(((SimpleSetPredicate)predicate).getField()); + toAdd.setName(((SimpleSetPredicate) predicate).getField()); toAdd.setDataType(DataType.DOUBLE); } if (toAdd != null) { @@ -93,11 +96,11 @@ public void getAttributeVariableDeclarationWithComplexPartialScore() { DataField toAdd = null; if (predicate instanceof SimplePredicate) { toAdd = new DataField(); - toAdd.setName(((SimplePredicate)predicate).getField()); + toAdd.setName(((SimplePredicate) predicate).getField()); toAdd.setDataType(DataType.DOUBLE); } else if (predicate instanceof SimpleSetPredicate) { toAdd = new DataField(); - toAdd.setName(((SimpleSetPredicate)predicate).getField()); + toAdd.setName(((SimpleSetPredicate) predicate).getField()); toAdd.setDataType(DataType.DOUBLE); } if (toAdd != null) { @@ -105,7 +108,6 @@ public void getAttributeVariableDeclarationWithComplexPartialScore() { } } - String valuesString1 = values1.stream() .map(valueString -> "\"" + valueString + "\"") .collect(Collectors.joining(",")); @@ -117,79 +119,15 @@ public void getAttributeVariableDeclarationWithComplexPartialScore() { characteristic.setBaselineScore(22); characteristic.setReasonCode(REASON_CODE); - - BlockStmt retrieved = KiePMMLCharacteristicFactory.getCharacteristicVariableDeclaration(variableName, characteristic, getFieldsFromDataDictionary(dataDictionary)); - Statement expected = JavaParserUtils - .parseBlock(String.format("{\n" + - " KiePMMLSimplePredicate %1$s_0_Predicate_0 = " + - "KiePMMLSimplePredicate.builder(\"PARAM_1\", Collections.emptyList" + - "(), org.kie.pmml.api.enums.OPERATOR.EQUAL).withValue(100.0).build" + - "();\n" + - " KiePMMLSimplePredicate %1$s_0_Predicate_1 = " + - "KiePMMLSimplePredicate.builder(\"PARAM_2\", Collections.emptyList" + - "(), org.kie.pmml.api.enums.OPERATOR.GREATER_THAN).withValue(5.0)" + - ".build();\n" + - " KiePMMLSimpleSetPredicate %1$s_0_Predicate_2 = " + - "KiePMMLSimpleSetPredicate.builder(\"SIMPLESETPREDICATENAME\", " + - "Collections.emptyList(), org.kie.pmml.api.enums.ARRAY_TYPE.STRING," + - " org.kie.pmml.api.enums.IN_NOTIN.IN).withValues(Arrays.asList" + - "(%2$s)).build();\n" + - " KiePMMLCompoundPredicate %1$s_0_Predicate = " + - "KiePMMLCompoundPredicate.builder(Collections.emptyList(), org.kie" + - ".pmml.api.enums.BOOLEAN_OPERATOR.AND).withKiePMMLPredicates(Arrays" + - ".asList(%1$s_0_Predicate_0, %1$s_0_Predicate_1, " + - "%1$s_0_Predicate_2)).build();\n" + - " KiePMMLConstant %1$s_0_ComplexPartialScore_0 = new " + - "KiePMMLConstant(\"%1$s_0_ComplexPartialScore_0\", " + - "Collections.emptyList(), 100.0, null);\n" + - " KiePMMLComplexPartialScore %1$s_0_ComplexPartialScore " + - "= new KiePMMLComplexPartialScore" + - "(\"%1$s_0_ComplexPartialScore\", Collections.emptyList(), " + - "%1$s_0_ComplexPartialScore_0);\n" + - " KiePMMLAttribute %1$s_0 = KiePMMLAttribute.builder" + - "(\"%1$s_0\", Collections.emptyList(), " + - "%1$s_0_Predicate).withPartialScore(null)" + - ".withComplexPartialScore(%1$s_0_ComplexPartialScore).build" + - "();\n" + - " KiePMMLSimplePredicate %1$s_1_Predicate_0 = " + - "KiePMMLSimplePredicate.builder(\"PARAM_1\", Collections.emptyList" + - "(), org.kie.pmml.api.enums.OPERATOR.EQUAL).withValue(100.0).build" + - "();\n" + - " KiePMMLSimplePredicate %1$s_1_Predicate_1 = " + - "KiePMMLSimplePredicate.builder(\"PARAM_2\", Collections.emptyList" + - "(), org.kie.pmml.api.enums.OPERATOR.GREATER_THAN).withValue(5.0)" + - ".build();\n" + - " KiePMMLSimpleSetPredicate %1$s_1_Predicate_2 = " + - "KiePMMLSimpleSetPredicate.builder(\"SIMPLESETPREDICATENAME\", " + - "Collections.emptyList(), org.kie.pmml.api.enums.ARRAY_TYPE.STRING," + - " org.kie.pmml.api.enums.IN_NOTIN.IN).withValues(Arrays.asList" + - "(%3$s)).build();\n" + - " KiePMMLCompoundPredicate %1$s_1_Predicate = " + - "KiePMMLCompoundPredicate.builder(Collections.emptyList(), org.kie" + - ".pmml.api.enums.BOOLEAN_OPERATOR.AND).withKiePMMLPredicates(Arrays" + - ".asList(%1$s_1_Predicate_0, %1$s_1_Predicate_1, " + - "%1$s_1_Predicate_2)).build();\n" + - " KiePMMLConstant %1$s_1_ComplexPartialScore_0 = new " + - "KiePMMLConstant(\"%1$s_1_ComplexPartialScore_0\", " + - "Collections.emptyList(), 100.0, null);\n" + - " KiePMMLComplexPartialScore %1$s_1_ComplexPartialScore " + - "= new KiePMMLComplexPartialScore" + - "(\"%1$s_1_ComplexPartialScore\", Collections.emptyList(), " + - "%1$s_1_ComplexPartialScore_0);\n" + - " KiePMMLAttribute %1$s_1 = KiePMMLAttribute.builder" + - "(\"%1$s_1\", Collections.emptyList(), " + - "%1$s_1_Predicate).withPartialScore(null)" + - ".withComplexPartialScore(%1$s_1_ComplexPartialScore).build" + - "();\n" + - " KiePMMLCharacteristic %1$s = KiePMMLCharacteristic" + - ".builder(\"%1$s\", Collections.emptyList(), Arrays.asList" + - "(%1$s_0, %1$s_1)).withBaselineScore(%4$s)" + - ".withReasonCode(\"%5$s\").build();\n" + - "}", variableName, - valuesString1, - valuesString2, - characteristic.getBaselineScore(), - characteristic.getReasonCode())); + BlockStmt retrieved = KiePMMLCharacteristicFactory.getCharacteristicVariableDeclaration(variableName, + characteristic, + getFieldsFromDataDictionary(dataDictionary)); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, variableName, + valuesString1, + valuesString2, + characteristic.getBaselineScore(), + characteristic.getReasonCode())); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(KiePMMLAttribute.class, KiePMMLCharacteristic.class, @@ -205,11 +143,11 @@ public void getAttributeVariableDeclarationWithComplexPartialScore() { private Attribute getAttribute(List values, int id) { Attribute toReturn = new Attribute(); - toReturn.setReasonCode(REASON_CODE+id); + toReturn.setReasonCode(REASON_CODE + id); Array.Type arrayType = Array.Type.STRING; toReturn.setPredicate(getCompoundPredicate(values, arrayType)); toReturn.setComplexPartialScore(getComplexPartialScore()); - return toReturn; + return toReturn; } private CompoundPredicate getCompoundPredicate(List values, Array.Type arrayType) { diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/java/org/kie/pmml/models/scorecard/compiler/factories/KiePMMLCharacteristicsFactoryTest.java b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/java/org/kie/pmml/models/scorecard/compiler/factories/KiePMMLCharacteristicsFactoryTest.java index 605e339448b..6f917f95cb2 100644 --- a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/java/org/kie/pmml/models/scorecard/compiler/factories/KiePMMLCharacteristicsFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/java/org/kie/pmml/models/scorecard/compiler/factories/KiePMMLCharacteristicsFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.models.scorecard.compiler.factories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -63,12 +64,14 @@ import static org.kie.pmml.compiler.commons.utils.ModelUtils.getDerivedFields; import static org.kie.pmml.models.scorecard.compiler.factories.KiePMMLCharacteristicsFactory.KIE_PMML_CHARACTERISTICS_TEMPLATE; import static org.kie.pmml.models.scorecard.compiler.factories.KiePMMLCharacteristicsFactory.KIE_PMML_CHARACTERISTICS_TEMPLATE_JAVA; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLCharacteristicsFactoryTest { private static final String BASIC_COMPLEX_PARTIAL_SCORE_SOURCE = "BasicComplexPartialScore.pmml"; private static final String CONTAINER_CLASS_NAME = KiePMMLModelUtils.getGeneratedClassName("Scorecard"); private static final String PACKAGE_NAME = "packagename"; + private static final String TEST_01_SOURCE = "KiePMMLCharacteristicsFactoryTest_01.txt"; private static final CompilationUnit characteristicsCloneCU = JavaParserUtils.getKiePMMLModelCompilationUnit(CONTAINER_CLASS_NAME, PACKAGE_NAME, @@ -154,7 +157,7 @@ public void setCharacteristicsVariableDeclaration() { } @Test - public void addGetCharacteristicMethod() { + public void addGetCharacteristicMethod() throws IOException { final String characteristicName = "CharacteristicName"; String expectedMethod = "get" + characteristicName; assertTrue(characteristicsTemplate.getMethodsByName(expectedMethod).isEmpty()); @@ -164,50 +167,9 @@ public void addGetCharacteristicMethod() { characteristicsTemplate); assertEquals(1, characteristicsTemplate.getMethodsByName(expectedMethod).size()); MethodDeclaration retrieved = characteristicsTemplate.getMethodsByName(expectedMethod).get(0); + String text = getFileContent(TEST_01_SOURCE); MethodDeclaration expected = JavaParserUtils - .parseMethod(String.format("private static KiePMMLCharacteristic get%1$s() {\n" + - " KiePMMLSimplePredicate %1$s_0_Predicate = " + - "KiePMMLSimplePredicate.builder(\"input1\", Collections.emptyList" + - "(), org.kie.pmml.api.enums.OPERATOR.GREATER_THAN).withValue" + - "(-1000.0).build();\n" + - " KiePMMLFieldRef %1$s_0_ComplexPartialScore_0_0 " + - "= new KiePMMLFieldRef(\"input1\", Collections.emptyList(), null);" + - "\n" + - " KiePMMLFieldRef %1$s_0_ComplexPartialScore_0_1 " + - "= new KiePMMLFieldRef(\"input2\", Collections.emptyList(), null);" + - "\n" + - " KiePMMLApply %1$s_0_ComplexPartialScore_0 = " + - "KiePMMLApply.builder(\"%1$s_0_ComplexPartialScore_0" + - "\", Collections.emptyList(), \"+\").withDefaultValue(null)" + - ".withMapMissingTo(null).withInvalidValueTreatmentMethod" + - "(\"returnInvalid\").withKiePMMLExpressions(Arrays.asList" + - "(%1$s_0_ComplexPartialScore_0_0, " + - "%1$s_0_ComplexPartialScore_0_1)).build();\n" + - " KiePMMLComplexPartialScore " + - "%1$s_0_ComplexPartialScore = new " + - "KiePMMLComplexPartialScore" + - "(\"%1$s_0_ComplexPartialScore\", Collections" + - ".emptyList(), %1$s_0_ComplexPartialScore_0);\n" + - " KiePMMLAttribute %1$s_0 = KiePMMLAttribute" + - ".builder(\"%1$s_0\", Collections.emptyList(), " + - "%1$s_0_Predicate).withPartialScore(null)" + - ".withComplexPartialScore" + - "(%1$s_0_ComplexPartialScore).build();\n" + - " KiePMMLTruePredicate %1$s_1_Predicate = new " + - "KiePMMLTruePredicate(\"%1$s_1_Predicate\", " + - "Collections.emptyList());\n" + - " KiePMMLAttribute %1$s_1 = KiePMMLAttribute" + - ".builder(\"%1$s_1\", Collections.emptyList(), " + - "%1$s_1_Predicate).withPartialScore(25)" + - ".withComplexPartialScore(null).build();\n" + - " KiePMMLCharacteristic %1$s = " + - "KiePMMLCharacteristic.builder(\"%1$s\", Collections" + - ".emptyList(), Arrays.asList(%1$s_0, " + - "%1$s_1)).withBaselineScore(20).withReasonCode" + - "(\"characteristic1ReasonCode\").build();\n" + - " return %1$s;\n" + - "}", characteristicName)); - assertEquals(expected.toString(), retrieved.toString()); + .parseMethod(String.format(text, characteristicName)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(KiePMMLApply.class, KiePMMLAttribute.class, diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/java/org/kie/pmml/models/scorecard/compiler/factories/KiePMMLComplexPartialScoreFactoryTest.java b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/java/org/kie/pmml/models/scorecard/compiler/factories/KiePMMLComplexPartialScoreFactoryTest.java index f08459dfe9f..3319da309fa 100644 --- a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/java/org/kie/pmml/models/scorecard/compiler/factories/KiePMMLComplexPartialScoreFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/java/org/kie/pmml/models/scorecard/compiler/factories/KiePMMLComplexPartialScoreFactoryTest.java @@ -15,6 +15,7 @@ */ package org.kie.pmml.models.scorecard.compiler.factories; +import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -35,28 +36,28 @@ import static org.junit.Assert.assertTrue; import static org.kie.pmml.compiler.commons.testutils.CodegenTestUtils.commonValidateCompilationWithImports; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLComplexPartialScoreFactoryTest { private static final Double value1 = 100.0; + private static final String TEST_01_SOURCE = "KiePMMLComplexPartialScoreFactoryTest_01.txt"; + private static final String TEST_02_SOURCE = "KiePMMLComplexPartialScoreFactoryTest_02.txt"; + private static final String TEST_03_SOURCE = "KiePMMLComplexPartialScoreFactoryTest_03.txt"; @Test - public void getComplexPartialScoreVariableDeclaration() { + public void getComplexPartialScoreVariableDeclaration() throws IOException { final String variableName = "variableName"; Constant constant = new Constant(); constant.setValue(value1); ComplexPartialScore complexPartialScore = new ComplexPartialScore(); complexPartialScore.setExpression(constant); - BlockStmt retrieved = KiePMMLComplexPartialScoreFactory.getComplexPartialScoreVariableDeclaration(variableName, complexPartialScore); - Statement expected = JavaParserUtils - .parseBlock(String.format("{\n" + - " KiePMMLConstant variableName_0 = new KiePMMLConstant" + - "(\"variableName_0\", Collections.emptyList(), %1$s, null);\n" + - " KiePMMLComplexPartialScore %2$s = new KiePMMLComplexPartialScore" + - "(\"%2$s\", Collections.emptyList()," + - " variableName_0);\n" + - "}", constant.getValue(), - variableName)); + BlockStmt retrieved = + KiePMMLComplexPartialScoreFactory.getComplexPartialScoreVariableDeclaration(variableName, + complexPartialScore); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, constant.getValue(), + variableName)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(KiePMMLConstant.class, KiePMMLComplexPartialScore.class, @@ -65,21 +66,18 @@ public void getComplexPartialScoreVariableDeclaration() { } @Test - public void getComplexPartialScoreVariableDeclarationWithFieldRef() { + public void getComplexPartialScoreVariableDeclarationWithFieldRef() throws IOException { final String variableName = "variableName"; FieldRef fieldRef = new FieldRef(); fieldRef.setField(FieldName.create("FIELD_REF")); ComplexPartialScore complexPartialScore = new ComplexPartialScore(); complexPartialScore.setExpression(fieldRef); - BlockStmt retrieved = KiePMMLComplexPartialScoreFactory.getComplexPartialScoreVariableDeclaration(variableName, complexPartialScore); - Statement expected = JavaParserUtils - .parseBlock(String.format("{\n" + - " KiePMMLFieldRef variableName_0 = new KiePMMLFieldRef" + - "(\"%1$s\", Collections.emptyList(), null);\n" + - " KiePMMLComplexPartialScore %2$s = new KiePMMLComplexPartialScore" + - "(\"%2$s\", Collections.emptyList(), variableName_0);\n" + - "}", fieldRef.getField().getValue(), - variableName)); + BlockStmt retrieved = + KiePMMLComplexPartialScoreFactory.getComplexPartialScoreVariableDeclaration(variableName, + complexPartialScore); + String text = getFileContent(TEST_02_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, fieldRef.getField().getValue(), + variableName)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(KiePMMLFieldRef.class, KiePMMLComplexPartialScore.class, @@ -88,7 +86,7 @@ public void getComplexPartialScoreVariableDeclarationWithFieldRef() { } @Test - public void getComplexPartialScoreVariableDeclarationWithApply() { + public void getComplexPartialScoreVariableDeclarationWithApply() throws IOException { final String variableName = "variableName"; Constant constant = new Constant(); constant.setValue(value1); @@ -99,27 +97,16 @@ public void getComplexPartialScoreVariableDeclarationWithApply() { apply.addExpressions(constant, fieldRef); ComplexPartialScore complexPartialScore = new ComplexPartialScore(); complexPartialScore.setExpression(apply); - BlockStmt retrieved = KiePMMLComplexPartialScoreFactory.getComplexPartialScoreVariableDeclaration(variableName, complexPartialScore); - Statement expected = JavaParserUtils - .parseBlock(String.format("{\n" + - " KiePMMLConstant variableName_0_0 = new KiePMMLConstant" + - "(\"variableName_0_0\", Collections.emptyList(), %1$s, null);\n" + - " KiePMMLFieldRef variableName_0_1 = new KiePMMLFieldRef" + - "(\"%2$s\", Collections.emptyList(), null);\n" + - " KiePMMLApply variableName_0 = KiePMMLApply.builder" + - "(\"variableName_0\", Collections.emptyList(), \"%3$s\")" + - ".withDefaultValue(null).withMapMissingTo(null)" + - ".withInvalidValueTreatmentMethod(\"%4$s\")" + - ".withKiePMMLExpressions(Arrays.asList(variableName_0_0, " + - "variableName_0_1)).build();\n" + - " KiePMMLComplexPartialScore %5$s = new KiePMMLComplexPartialScore" + - "(\"%5$s\", Collections.emptyList(), variableName_0);\n" + - "}", - constant.getValue(), - fieldRef.getField().getValue(), - apply.getFunction(), - apply.getInvalidValueTreatment().value(), - variableName)); + BlockStmt retrieved = + KiePMMLComplexPartialScoreFactory.getComplexPartialScoreVariableDeclaration(variableName, + complexPartialScore); + String text = getFileContent(TEST_03_SOURCE); + Statement expected = JavaParserUtils.parseBlock(String.format(text, + constant.getValue(), + fieldRef.getField().getValue(), + apply.getFunction(), + apply.getInvalidValueTreatment().value(), + variableName)); assertTrue(JavaParserUtils.equalsNode(expected, retrieved)); List> imports = Arrays.asList(KiePMMLConstant.class, KiePMMLFieldRef.class, diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLAttributeFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLAttributeFactoryTest_01.txt new file mode 100644 index 00000000000..a01420f4c94 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLAttributeFactoryTest_01.txt @@ -0,0 +1,28 @@ +{ + KiePMMLSimplePredicate %1$s_Predicate_0 = KiePMMLSimplePredicate + .builder("PARAM_1", Collections.emptyList(), org.kie.pmml.api.enums.OPERATOR.EQUAL) + .withValue(100.0) + .build(); + KiePMMLSimplePredicate %1$s_Predicate_1 = KiePMMLSimplePredicate + .builder("PARAM_2", Collections.emptyList(), org.kie.pmml.api.enums.OPERATOR.GREATER_THAN) + .withValue(5.0) + .build(); + KiePMMLSimpleSetPredicate %1$s_Predicate_2 = KiePMMLSimpleSetPredicate + .builder("SIMPLESETPREDICATENAME", Collections.emptyList(), + org.kie.pmml.api.enums.ARRAY_TYPE.STRING, + org.kie.pmml.api.enums.IN_NOTIN.IN) + .withValues(Arrays.asList(%2$s)) + .build(); + KiePMMLCompoundPredicate %1$s_Predicate = KiePMMLCompoundPredicate + .builder(Collections.emptyList(), org.kie.pmml.api.enums.BOOLEAN_OPERATOR.AND) + .withKiePMMLPredicates(Arrays.asList(%1$s_Predicate_0, %1$s_Predicate_1, %1$s_Predicate_2)) + .build(); + KiePMMLConstant %1$s_ComplexPartialScore_0 = new KiePMMLConstant("%1$s_ComplexPartialScore_0", + Collections.emptyList(), 100.0, null); + KiePMMLComplexPartialScore %1$s_ComplexPartialScore = new KiePMMLComplexPartialScore("%1$s_ComplexPartialScore", + Collections.emptyList(), %1$s_ComplexPartialScore_0); + KiePMMLAttribute %1$s = KiePMMLAttribute.builder("%1$s", Collections.emptyList(), %1$s_Predicate) + .withPartialScore(null) + .withComplexPartialScore(%1$s_ComplexPartialScore) + .build(); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLCharacteristicFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLCharacteristicFactoryTest_01.txt new file mode 100644 index 00000000000..80cdf1e7c5c --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLCharacteristicFactoryTest_01.txt @@ -0,0 +1,58 @@ +{ + KiePMMLSimplePredicate %1$s_0_Predicate_0 = KiePMMLSimplePredicate + .builder("PARAM_1", Collections.emptyList(), org.kie.pmml.api.enums.OPERATOR.EQUAL) + .withValue(100.0) + .build(); + KiePMMLSimplePredicate %1$s_0_Predicate_1 = KiePMMLSimplePredicate + .builder("PARAM_2", Collections.emptyList(), org.kie.pmml.api.enums.OPERATOR.GREATER_THAN) + .withValue(5.0) + .build(); + KiePMMLSimpleSetPredicate %1$s_0_Predicate_2 = KiePMMLSimpleSetPredicate + .builder("SIMPLESETPREDICATENAME", Collections.emptyList(), + org.kie.pmml.api.enums.ARRAY_TYPE.STRING, + org.kie.pmml.api.enums.IN_NOTIN.IN) + .withValues(Arrays.asList(%2$s)) + .build(); + KiePMMLCompoundPredicate %1$s_0_Predicate = KiePMMLCompoundPredicate + .builder(Collections.emptyList(), org.kie.pmml.api.enums.BOOLEAN_OPERATOR.AND) + .withKiePMMLPredicates(Arrays.asList(%1$s_0_Predicate_0, %1$s_0_Predicate_1, %1$s_0_Predicate_2)) + .build(); + KiePMMLConstant %1$s_0_ComplexPartialScore_0 = new KiePMMLConstant("%1$s_0_ComplexPartialScore_0", + Collections.emptyList(), 100.0, null); + KiePMMLComplexPartialScore %1$s_0_ComplexPartialScore = new KiePMMLComplexPartialScore("%1$s_0_ComplexPartialScore", + Collections.emptyList(), %1$s_0_ComplexPartialScore_0); + KiePMMLAttribute %1$s_0 = KiePMMLAttribute.builder("%1$s_0", Collections.emptyList(), %1$s_0_Predicate) + .withPartialScore(null) + .withComplexPartialScore(%1$s_0_ComplexPartialScore) + .build(); + KiePMMLSimplePredicate %1$s_1_Predicate_0 = KiePMMLSimplePredicate + .builder("PARAM_1", Collections.emptyList(), org.kie.pmml.api.enums.OPERATOR.EQUAL) + .withValue(100.0) + .build(); + KiePMMLSimplePredicate %1$s_1_Predicate_1 = KiePMMLSimplePredicate + .builder("PARAM_2", Collections.emptyList(), org.kie.pmml.api.enums.OPERATOR.GREATER_THAN) + .withValue(5.0) + .build(); + KiePMMLSimpleSetPredicate %1$s_1_Predicate_2 = KiePMMLSimpleSetPredicate + .builder("SIMPLESETPREDICATENAME", Collections.emptyList(), + org.kie.pmml.api.enums.ARRAY_TYPE.STRING, + org.kie.pmml.api.enums.IN_NOTIN.IN) + .withValues(Arrays.asList(%3$s)) + .build(); + KiePMMLCompoundPredicate %1$s_1_Predicate = KiePMMLCompoundPredicate + .builder(Collections.emptyList(), org.kie.pmml.api.enums.BOOLEAN_OPERATOR.AND) + .withKiePMMLPredicates(Arrays.asList(%1$s_1_Predicate_0, %1$s_1_Predicate_1, %1$s_1_Predicate_2)) + .build(); + KiePMMLConstant %1$s_1_ComplexPartialScore_0 = new KiePMMLConstant("%1$s_1_ComplexPartialScore_0", + Collections.emptyList(), 100.0, null); + KiePMMLComplexPartialScore %1$s_1_ComplexPartialScore = new KiePMMLComplexPartialScore("%1$s_1_ComplexPartialScore", + Collections.emptyList(), %1$s_1_ComplexPartialScore_0); + KiePMMLAttribute %1$s_1 = KiePMMLAttribute.builder("%1$s_1", Collections.emptyList(), %1$s_1_Predicate) + .withPartialScore(null) + .withComplexPartialScore(%1$s_1_ComplexPartialScore) + .build(); + KiePMMLCharacteristic %1$s = KiePMMLCharacteristic.builder("%1$s", Collections.emptyList(), Arrays.asList(%1$s_0, %1$s_1)) + .withBaselineScore(%4$s) + .withReasonCode("%5$s") + .build(); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLCharacteristicsFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLCharacteristicsFactoryTest_01.txt new file mode 100644 index 00000000000..804d79fd2f0 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLCharacteristicsFactoryTest_01.txt @@ -0,0 +1,12 @@ +private static KiePMMLCharacteristic get%1$s() { + KiePMMLSimplePredicate %1$s_0_Predicate = KiePMMLSimplePredicate.builder("input1", Collections.emptyList(), org.kie.pmml.api.enums.OPERATOR.GREATER_THAN).withValue(-1000.0).build(); + KiePMMLFieldRef %1$s_0_ComplexPartialScore_0_0 = new KiePMMLFieldRef("input1", Collections.emptyList(), null); + KiePMMLFieldRef %1$s_0_ComplexPartialScore_0_1 = new KiePMMLFieldRef("input2", Collections.emptyList(), null); + KiePMMLApply %1$s_0_ComplexPartialScore_0 = KiePMMLApply.builder("%1$s_0_ComplexPartialScore_0", Collections.emptyList(), "+").withDefaultValue(null).withMapMissingTo(null).withInvalidValueTreatmentMethod("returnInvalid").withKiePMMLExpressions(Arrays.asList(%1$s_0_ComplexPartialScore_0_0, %1$s_0_ComplexPartialScore_0_1)).build(); + KiePMMLComplexPartialScore %1$s_0_ComplexPartialScore = new KiePMMLComplexPartialScore("%1$s_0_ComplexPartialScore", Collections.emptyList(), %1$s_0_ComplexPartialScore_0); + KiePMMLAttribute %1$s_0 = KiePMMLAttribute.builder("%1$s_0", Collections.emptyList(), %1$s_0_Predicate).withPartialScore(null).withComplexPartialScore(%1$s_0_ComplexPartialScore).build(); + KiePMMLTruePredicate %1$s_1_Predicate = new KiePMMLTruePredicate("%1$s_1_Predicate", Collections.emptyList()); + KiePMMLAttribute %1$s_1 = KiePMMLAttribute.builder("%1$s_1", Collections.emptyList(), %1$s_1_Predicate).withPartialScore(25).withComplexPartialScore(null).build(); + KiePMMLCharacteristic %1$s = KiePMMLCharacteristic.builder("%1$s", Collections.emptyList(), Arrays.asList(%1$s_0, %1$s_1)).withBaselineScore(20).withReasonCode("characteristic1ReasonCode").build(); + return %1$s; +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLComplexPartialScoreFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLComplexPartialScoreFactoryTest_01.txt new file mode 100644 index 00000000000..c8ba5216674 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLComplexPartialScoreFactoryTest_01.txt @@ -0,0 +1,4 @@ +{ + KiePMMLConstant %2$s_0 = new KiePMMLConstant("%2$s_0", Collections.emptyList(), %1$s, null); + KiePMMLComplexPartialScore %2$s = new KiePMMLComplexPartialScore("%2$s", Collections.emptyList(), %2$s_0); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLComplexPartialScoreFactoryTest_02.txt b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLComplexPartialScoreFactoryTest_02.txt new file mode 100644 index 00000000000..68c319c6cee --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLComplexPartialScoreFactoryTest_02.txt @@ -0,0 +1,4 @@ +{ + KiePMMLFieldRef %2$s_0 = new KiePMMLFieldRef("%1$s", Collections.emptyList(), null); + KiePMMLComplexPartialScore %2$s = new KiePMMLComplexPartialScore("%2$s", Collections.emptyList(), %2$s_0); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLComplexPartialScoreFactoryTest_03.txt b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLComplexPartialScoreFactoryTest_03.txt new file mode 100644 index 00000000000..53fa85cf71e --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-compiler/src/test/resources/KiePMMLComplexPartialScoreFactoryTest_03.txt @@ -0,0 +1,11 @@ +{ + KiePMMLConstant %5$s_0_0 = new KiePMMLConstant("%5$s_0_0", Collections.emptyList(), %1$s, null); + KiePMMLFieldRef %5$s_0_1 = new KiePMMLFieldRef("%2$s", Collections.emptyList(), null); + KiePMMLApply %5$s_0 = KiePMMLApply.builder("%5$s_0", Collections.emptyList(), "%3$s") + .withDefaultValue(null) + .withMapMissingTo(null) + .withInvalidValueTreatmentMethod("%4$s") + .withKiePMMLExpressions(Arrays.asList(%5$s_0_0, %5$s_0_1)) + .build(); + KiePMMLComplexPartialScore %5$s = new KiePMMLComplexPartialScore("%5$s", Collections.emptyList(), %5$s_0); +} \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-tests/src/test/java/org/kie/pmml/models/scorecard/tests/SimpleScorecardCategoricalTest.java b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-tests/src/test/java/org/kie/pmml/models/scorecard/tests/SimpleScorecardCategoricalTest.java index da835258004..410e3d99a82 100644 --- a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-tests/src/test/java/org/kie/pmml/models/scorecard/tests/SimpleScorecardCategoricalTest.java +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-scorecard/kie-pmml-models-scorecard-tests/src/test/java/org/kie/pmml/models/scorecard/tests/SimpleScorecardCategoricalTest.java @@ -16,7 +16,6 @@ package org.kie.pmml.models.scorecard.tests; -import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.HashMap; diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-tree/kie-pmml-models-tree-compiler/src/test/java/org/kie/pmml/models/tree/compiler/factories/KiePMMLNodeFactoryTest.java b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-tree/kie-pmml-models-tree-compiler/src/test/java/org/kie/pmml/models/tree/compiler/factories/KiePMMLNodeFactoryTest.java index 1f47b01a61e..96768b46645 100644 --- a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-tree/kie-pmml-models-tree-compiler/src/test/java/org/kie/pmml/models/tree/compiler/factories/KiePMMLNodeFactoryTest.java +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-tree/kie-pmml-models-tree-compiler/src/test/java/org/kie/pmml/models/tree/compiler/factories/KiePMMLNodeFactoryTest.java @@ -16,6 +16,7 @@ package org.kie.pmml.models.tree.compiler.factories; +import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -74,12 +75,14 @@ import static org.kie.pmml.models.tree.compiler.factories.KiePMMLNodeFactory.SCORE; import static org.kie.pmml.models.tree.compiler.factories.KiePMMLNodeFactory.SCORE_DISTRIBUTIONS; import static org.kie.pmml.models.tree.compiler.utils.KiePMMLTreeModelUtils.createNodeClassName; +import static org.kie.test.util.filesystem.FileUtils.getFileContent; public class KiePMMLNodeFactoryTest { private static final String SOURCE_1 = "TreeSample.pmml"; private static final String SOURCE_2 = "TreeSimplified.pmml"; private static final String PACKAGE_NAME = "packagename"; + private static final String TEST_01_SOURCE = "KiePMMLNodeFactoryTest_01.txt"; private static PMML pmml1; private static Node node1; private static DataDictionary dataDictionary1; @@ -105,7 +108,6 @@ public static void setupClass() throws Exception { nodeRoot = model2.getNode(); compoundPredicateNode = nodeRoot.getNodes().get(0); nodeLeaf = nodeRoot.getNodes().get(0).getNodes().get(0).getNodes().get(0); - } @Test @@ -191,7 +193,8 @@ public void populateEvaluateNode() { KiePMMLNodeFactory.JavaParserDTO toPopulate = new KiePMMLNodeFactory.JavaParserDTO(nodeNamesDTO, packageName); KiePMMLNodeFactory.populateEvaluateNode(toPopulate, nodeNamesDTO, - getFieldsFromDataDictionaryAndDerivedFields(dataDictionary2, derivedFields2), + getFieldsFromDataDictionaryAndDerivedFields(dataDictionary2, + derivedFields2), isRoot); commonVerifyEvaluateNode(toPopulate, nodeNamesDTO, isRoot); @@ -201,7 +204,8 @@ public void populateEvaluateNode() { toPopulate = new KiePMMLNodeFactory.JavaParserDTO(nodeNamesDTO, packageName); KiePMMLNodeFactory.populateEvaluateNode(toPopulate, nodeNamesDTO, - getFieldsFromDataDictionaryAndDerivedFields(dataDictionary2, derivedFields2), + getFieldsFromDataDictionaryAndDerivedFields(dataDictionary2, + derivedFields2), isRoot); commonVerifyEvaluateNode(toPopulate, nodeNamesDTO, isRoot); } @@ -288,45 +292,18 @@ public void populateEvaluateNodeWithMissingValuePenalty() { assertTrue(variableDeclarator.getInitializer().isPresent()); Expression expression = variableDeclarator.getInitializer().get(); assertTrue(expression instanceof DoubleLiteralExpr); - DoubleLiteralExpr doubleLiteralExpr = (DoubleLiteralExpr)expression; + DoubleLiteralExpr doubleLiteralExpr = (DoubleLiteralExpr) expression; assertEquals(missingValuePenalty, doubleLiteralExpr.asDouble(), 0.0); } - @Test - public void populateEvaluateNodeWithPredicateFunction() { + public void populateEvaluateNodeWithPredicateFunction() throws IOException { BlockStmt toPopulate = new BlockStmt(); KiePMMLNodeFactory.populateEvaluateNodeWithPredicate(toPopulate, compoundPredicateNode.getPredicate(), getFieldsFromDataDictionaryAndDerivedFields(dataDictionary2, derivedFields2)); - Statement expected = JavaParserUtils.parseBlock("{\n" + - " KiePMMLSimplePredicate predicate_0 = " + - "KiePMMLSimplePredicate.builder(\"temperature\", " + - "Collections.emptyList(), org.kie.pmml.api.enums" + - ".OPERATOR.GREATER_THAN).withValue(60.0).build();\n" + - " KiePMMLSimplePredicate predicate_1 = " + - "KiePMMLSimplePredicate.builder(\"temperature\", " + - "Collections.emptyList(), org.kie.pmml.api.enums" + - ".OPERATOR.LESS_THAN).withValue(100.0).build();\n" + - " KiePMMLSimplePredicate predicate_2 = " + - "KiePMMLSimplePredicate.builder(\"outlook\", " + - "Collections.emptyList(), org.kie.pmml.api.enums" + - ".OPERATOR.EQUAL).withValue(\"overcast\").build();\n" + - " KiePMMLSimplePredicate predicate_3 = " + - "KiePMMLSimplePredicate.builder(\"humidity\", " + - "Collections.emptyList(), org.kie.pmml.api.enums" + - ".OPERATOR.LESS_THAN).withValue(70.0).build();\n" + - " KiePMMLSimplePredicate predicate_4 = " + - "KiePMMLSimplePredicate.builder(\"windy\", " + - "Collections.emptyList(), org.kie.pmml.api.enums" + - ".OPERATOR.EQUAL).withValue(\"false\").build();\n" + - " KiePMMLCompoundPredicate predicate = " + - "KiePMMLCompoundPredicate.builder(Collections" + - ".emptyList(), org.kie.pmml.api.enums" + - ".BOOLEAN_OPERATOR.AND).withKiePMMLPredicates(Arrays" + - ".asList(predicate_0, predicate_1, predicate_2, " + - "predicate_3, predicate_4)).build();\n" + - "}"); + String text = getFileContent(TEST_01_SOURCE); + Statement expected = JavaParserUtils.parseBlock(text); assertTrue(JavaParserUtils.equalsNode(expected, toPopulate)); } @@ -386,11 +363,12 @@ private void commonVerifyEvaluateNodeWithScore(final VariableDeclarator variable } } - private void commonVerifyEvaluateNodeWithScoreDistributions(final VariableDeclarator variableDeclarator, final List scoreDistributions) { + private void commonVerifyEvaluateNodeWithScoreDistributions(final VariableDeclarator variableDeclarator, + final List scoreDistributions) { assertTrue(variableDeclarator.getInitializer().isPresent()); Expression expression = variableDeclarator.getInitializer().get(); assertTrue(expression instanceof MethodCallExpr); - MethodCallExpr methodCallExpr = (MethodCallExpr)expression; + MethodCallExpr methodCallExpr = (MethodCallExpr) expression; assertEquals("Arrays", methodCallExpr.getScope().get().toString()); assertEquals("asList", methodCallExpr.getName().toString()); NodeList arguments = methodCallExpr.getArguments(); @@ -398,21 +376,22 @@ private void commonVerifyEvaluateNodeWithScoreDistributions(final VariableDeclar arguments.forEach(argument -> assertTrue(argument instanceof ObjectCreationExpr)); List objectCreationExprs = arguments.stream() .map(ObjectCreationExpr.class::cast) - .collect(Collectors.toList()); + .collect(Collectors.toList()); scoreDistributions.forEach(scoreDistribution -> { - Optional retrieved = objectCreationExprs.stream() - .filter(objectCreationExpr -> scoreDistribution.getValue().equals(objectCreationExpr.getArgument(2).asStringLiteralExpr().asString())) - .findFirst(); - assertTrue(retrieved.isPresent()); - Expression recordCountExpected = getExpressionForObject(scoreDistribution.getRecordCount().intValue()); - Expression confidenceExpected = getExpressionForObject(scoreDistribution.getConfidence().doubleValue()); - Expression probabilityExpected = scoreDistribution.getProbability() != null ? getExpressionForObject(scoreDistribution.getProbability().doubleValue()) : new NullLiteralExpr(); - retrieved.ifPresent(objectCreationExpr -> { - assertEquals(recordCountExpected, objectCreationExpr.getArgument(3)); - assertEquals(confidenceExpected, objectCreationExpr.getArgument(4)); - assertEquals(probabilityExpected, objectCreationExpr.getArgument(5)); - }); - }); + Optional retrieved = objectCreationExprs.stream() + .filter(objectCreationExpr -> scoreDistribution.getValue().equals(objectCreationExpr.getArgument(2).asStringLiteralExpr().asString())) + .findFirst(); + assertTrue(retrieved.isPresent()); + Expression recordCountExpected = getExpressionForObject(scoreDistribution.getRecordCount().intValue()); + Expression confidenceExpected = getExpressionForObject(scoreDistribution.getConfidence().doubleValue()); + Expression probabilityExpected = scoreDistribution.getProbability() != null ? + getExpressionForObject(scoreDistribution.getProbability().doubleValue()) : new NullLiteralExpr(); + retrieved.ifPresent(objectCreationExpr -> { + assertEquals(recordCountExpected, objectCreationExpr.getArgument(3)); + assertEquals(confidenceExpected, objectCreationExpr.getArgument(4)); + assertEquals(probabilityExpected, objectCreationExpr.getArgument(5)); + }); + }); } private void commonVerifyNode(KiePMMLNode toVerify, Node original) { @@ -425,5 +404,4 @@ private void commonVerifyNodeSource(final Map retrieved, final S CompilationUnit nodeCompilationUnit = getFromSource(toVerify); assertEquals(packageName, nodeCompilationUnit.getPackageDeclaration().get().getName().asString()); } - } \ No newline at end of file diff --git a/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-tree/kie-pmml-models-tree-compiler/src/test/resources/KiePMMLNodeFactoryTest_01.txt b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-tree/kie-pmml-models-tree-compiler/src/test/resources/KiePMMLNodeFactoryTest_01.txt new file mode 100644 index 00000000000..0449fd24a78 --- /dev/null +++ b/kie-pmml-trusty/kie-pmml-models/kie-pmml-models-tree/kie-pmml-models-tree-compiler/src/test/resources/KiePMMLNodeFactoryTest_01.txt @@ -0,0 +1,26 @@ +{ + KiePMMLSimplePredicate predicate_0 = KiePMMLSimplePredicate + .builder("temperature", Collections.emptyList(), org.kie.pmml.api.enums.OPERATOR.GREATER_THAN) + .withValue(60.0) + .build(); + KiePMMLSimplePredicate predicate_1 = KiePMMLSimplePredicate + .builder("temperature", Collections.emptyList(), org.kie.pmml.api.enums.OPERATOR.LESS_THAN) + .withValue(100.0) + .build(); + KiePMMLSimplePredicate predicate_2 = KiePMMLSimplePredicate + .builder("outlook", Collections.emptyList(), org.kie.pmml.api.enums.OPERATOR.EQUAL) + .withValue("overcast") + .build(); + KiePMMLSimplePredicate predicate_3 = KiePMMLSimplePredicate + .builder("humidity", Collections.emptyList(), org.kie.pmml.api.enums.OPERATOR.LESS_THAN) + .withValue(70.0) + .build(); + KiePMMLSimplePredicate predicate_4 = KiePMMLSimplePredicate + .builder("windy", Collections.emptyList(), org.kie.pmml.api.enums.OPERATOR.EQUAL) + .withValue("false") + .build(); + KiePMMLCompoundPredicate predicate = KiePMMLCompoundPredicate + .builder(Collections.emptyList(), org.kie.pmml.api.enums.BOOLEAN_OPERATOR.AND) + .withKiePMMLPredicates(Arrays.asList(predicate_0, predicate_1, predicate_2, predicate_3, predicate_4)) + .build(); +} \ No newline at end of file diff --git a/kie-test-util/src/main/java/org/kie/test/util/filesystem/FileUtils.java b/kie-test-util/src/main/java/org/kie/test/util/filesystem/FileUtils.java index f1958280410..8001fca2088 100644 --- a/kie-test-util/src/main/java/org/kie/test/util/filesystem/FileUtils.java +++ b/kie-test-util/src/main/java/org/kie/test/util/filesystem/FileUtils.java @@ -18,6 +18,10 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.stream.Collectors; +import java.util.stream.Stream; import static org.junit.Assert.assertNotNull; @@ -56,4 +60,19 @@ public static FileInputStream getFileInputStream(String fileName) throws IOExcep File sourceFile = getFile(fileName); return new FileInputStream(sourceFile); } + + /** + * Retrieve the content of the given file + * @param fileName + * @return + * @throws IOException + */ + public static String getFileContent(String fileName) throws IOException { + File file = getFile(fileName); + Path path = file.toPath(); + Stream lines = Files.lines(path); + String toReturn = lines.collect(Collectors.joining("\n")); + lines.close(); + return toReturn; + } }