Search in sources :

Example 11 with ARRAY_TYPE

use of org.kie.pmml.api.enums.ARRAY_TYPE in project drools by kiegroup.

the class KiePMMLCompoundPredicateTest method evaluateCompoundPredicateSinglePredicate.

@Test
public void evaluateCompoundPredicateSinglePredicate() {
    ARRAY_TYPE arrayType = ARRAY_TYPE.STRING;
    List<Object> stringValues = getObjects(arrayType, 4);
    KiePMMLSimpleSetPredicate kiePMMLSimpleSetPredicateString = getKiePMMLSimpleSetPredicate(SIMPLE_SET_PREDICATE_STRING_NAME, stringValues, arrayType, IN_NOTIN.IN);
    KiePMMLCompoundPredicate kiePMMLCompoundPredicate = getKiePMMLCompoundPredicate(BOOLEAN_OPERATOR.AND, Collections.singletonList(kiePMMLSimpleSetPredicateString));
    Map<String, Object> inputData = new HashMap<>();
    inputData.put(SIMPLE_SET_PREDICATE_STRING_NAME, "NOT");
    assertFalse(kiePMMLCompoundPredicate.evaluate(inputData));
    inputData.put(SIMPLE_SET_PREDICATE_STRING_NAME, stringValues.get(0));
    assertTrue(kiePMMLCompoundPredicate.evaluate(inputData));
    arrayType = ARRAY_TYPE.INT;
    List<Object> intValues = getObjects(arrayType, 4);
    KiePMMLSimpleSetPredicate kiePMMLSimpleSetPredicateInt = getKiePMMLSimpleSetPredicate(SIMPLE_SET_PREDICATE_INT_NAME, intValues, arrayType, IN_NOTIN.NOT_IN);
    kiePMMLCompoundPredicate = getKiePMMLCompoundPredicate(BOOLEAN_OPERATOR.AND, Collections.singletonList(kiePMMLSimpleSetPredicateInt));
    inputData = new HashMap<>();
    inputData.put(SIMPLE_SET_PREDICATE_INT_NAME, intValues.get(0));
    assertFalse(kiePMMLCompoundPredicate.evaluate(inputData));
    inputData.put(SIMPLE_SET_PREDICATE_INT_NAME, "234");
    assertTrue(kiePMMLCompoundPredicate.evaluate(inputData));
}
Also used : HashMap(java.util.HashMap) ARRAY_TYPE(org.kie.pmml.api.enums.ARRAY_TYPE) Test(org.junit.Test)

Example 12 with ARRAY_TYPE

use of org.kie.pmml.api.enums.ARRAY_TYPE in project drools by kiegroup.

the class KiePMMLCompoundPredicateTest method evaluateCompoundPredicateOr.

@Test
public void evaluateCompoundPredicateOr() {
    ARRAY_TYPE arrayType = ARRAY_TYPE.STRING;
    List<Object> stringValues = getObjects(arrayType, 4);
    KiePMMLSimpleSetPredicate kiePMMLSimpleSetPredicateString = getKiePMMLSimpleSetPredicate(SIMPLE_SET_PREDICATE_STRING_NAME, stringValues, arrayType, IN_NOTIN.IN);
    arrayType = ARRAY_TYPE.INT;
    List<Object> intValues = getObjects(arrayType, 4);
    KiePMMLSimpleSetPredicate kiePMMLSimpleSetPredicateInt = getKiePMMLSimpleSetPredicate(SIMPLE_SET_PREDICATE_INT_NAME, intValues, arrayType, IN_NOTIN.NOT_IN);
    KiePMMLCompoundPredicate kiePMMLCompoundPredicate = getKiePMMLCompoundPredicate(BOOLEAN_OPERATOR.OR, Arrays.asList(kiePMMLSimpleSetPredicateString, kiePMMLSimpleSetPredicateInt));
    Map<String, Object> inputData = new HashMap<>();
    inputData.put(SIMPLE_SET_PREDICATE_STRING_NAME, "NOT");
    inputData.put(SIMPLE_SET_PREDICATE_INT_NAME, intValues.get(0));
    assertFalse(kiePMMLCompoundPredicate.evaluate(inputData));
    inputData.put(SIMPLE_SET_PREDICATE_STRING_NAME, stringValues.get(0));
    inputData.put(SIMPLE_SET_PREDICATE_INT_NAME, intValues.get(0));
    assertTrue(kiePMMLCompoundPredicate.evaluate(inputData));
    inputData = new HashMap<>();
    inputData.put(SIMPLE_SET_PREDICATE_STRING_NAME, "NOT");
    inputData.put(SIMPLE_SET_PREDICATE_INT_NAME, "234");
    assertTrue(kiePMMLCompoundPredicate.evaluate(inputData));
    inputData = new HashMap<>();
    inputData.put(SIMPLE_SET_PREDICATE_STRING_NAME, stringValues.get(0));
    inputData.put(SIMPLE_SET_PREDICATE_INT_NAME, "234");
    assertTrue(kiePMMLCompoundPredicate.evaluate(inputData));
}
Also used : HashMap(java.util.HashMap) ARRAY_TYPE(org.kie.pmml.api.enums.ARRAY_TYPE) Test(org.junit.Test)

Example 13 with ARRAY_TYPE

use of org.kie.pmml.api.enums.ARRAY_TYPE in project drools by kiegroup.

the class KiePMMLSimpleSetPredicateTest method evaluationIntNotIn.

@Test
public void evaluationIntNotIn() {
    ARRAY_TYPE arrayType = ARRAY_TYPE.INT;
    List<Object> values = getObjects(arrayType, 1);
    KiePMMLSimpleSetPredicate kiePMMLSimpleSetPredicate = getKiePMMLSimpleSetPredicate(values, arrayType, IN_NOTIN.NOT_IN);
    assertFalse(kiePMMLSimpleSetPredicate.evaluation(values.get(0)));
    assertTrue(kiePMMLSimpleSetPredicate.evaluation("234"));
}
Also used : ARRAY_TYPE(org.kie.pmml.api.enums.ARRAY_TYPE) Test(org.junit.Test)

Example 14 with ARRAY_TYPE

use of org.kie.pmml.api.enums.ARRAY_TYPE in project drools by kiegroup.

the class KiePMMLSimpleSetPredicateTest method evaluateRealIn.

@Test
public void evaluateRealIn() {
    ARRAY_TYPE arrayType = ARRAY_TYPE.REAL;
    List<Object> values = getObjects(arrayType, 4);
    KiePMMLSimpleSetPredicate kiePMMLSimpleSetPredicate = getKiePMMLSimpleSetPredicate(values, arrayType, IN_NOTIN.IN);
    Map<String, Object> inputData = new HashMap<>();
    inputData.put("FAKE", "23.4");
    assertFalse(kiePMMLSimpleSetPredicate.evaluate(inputData));
    inputData.put(SIMPLE_SET_PREDICATE_NAME, "4.32");
    assertFalse(kiePMMLSimpleSetPredicate.evaluate(inputData));
    inputData.put(SIMPLE_SET_PREDICATE_NAME, values.get(0));
    assertTrue(kiePMMLSimpleSetPredicate.evaluate(inputData));
}
Also used : HashMap(java.util.HashMap) ARRAY_TYPE(org.kie.pmml.api.enums.ARRAY_TYPE) Test(org.junit.Test)

Example 15 with ARRAY_TYPE

use of org.kie.pmml.api.enums.ARRAY_TYPE in project drools by kiegroup.

the class KiePMMLSimpleSetPredicateTest method evaluationIntIn.

@Test
public void evaluationIntIn() {
    ARRAY_TYPE arrayType = ARRAY_TYPE.INT;
    List<Object> values = getObjects(arrayType, 1);
    KiePMMLSimpleSetPredicate kiePMMLSimpleSetPredicate = getKiePMMLSimpleSetPredicate(values, arrayType, IN_NOTIN.IN);
    assertFalse(kiePMMLSimpleSetPredicate.evaluation("234"));
    assertTrue(kiePMMLSimpleSetPredicate.evaluation(values.get(0)));
}
Also used : ARRAY_TYPE(org.kie.pmml.api.enums.ARRAY_TYPE) Test(org.junit.Test)

Aggregations

ARRAY_TYPE (org.kie.pmml.api.enums.ARRAY_TYPE)17 Test (org.junit.Test)16 HashMap (java.util.HashMap)10 NodeList (com.github.javaparser.ast.NodeList)1 MethodDeclaration (com.github.javaparser.ast.body.MethodDeclaration)1 VariableDeclarator (com.github.javaparser.ast.body.VariableDeclarator)1 Expression (com.github.javaparser.ast.expr.Expression)1 MethodCallExpr (com.github.javaparser.ast.expr.MethodCallExpr)1 NameExpr (com.github.javaparser.ast.expr.NameExpr)1 StringLiteralExpr (com.github.javaparser.ast.expr.StringLiteralExpr)1 BlockStmt (com.github.javaparser.ast.stmt.BlockStmt)1 IN_NOTIN (org.kie.pmml.api.enums.IN_NOTIN)1 KiePMMLException (org.kie.pmml.api.exceptions.KiePMMLException)1 CommonCodegenUtils.getExpressionForObject (org.kie.pmml.compiler.commons.utils.CommonCodegenUtils.getExpressionForObject)1 CommonCodegenUtils.getVariableDeclarator (org.kie.pmml.compiler.commons.utils.CommonCodegenUtils.getVariableDeclarator)1