@Test public void testDefaultChildMissingValueStrategy() { KieBase kieBase = PMMLKieBaseUtil.createKieBaseWithPMML(TREE_DEFAULT_CHILD_MISSING_STRATEGY); PMMLExecutor executor = new PMMLExecutor(kieBase); PMMLRequestData request = new PMMLRequestData("123","TreeTest"); request.addRequestParam("fld1", 30.0); PMML4Result resultHolder = executor.run(request); Assertions.assertThat(resultHolder).isNotNull(); Assertions.assertThat(resultHolder.getResultValue("Fld3", "value", String.class).get()).isEqualTo("tgtY"); request = new PMMLRequestData("123","TreeTest"); request.addRequestParam("fld1", 100.0); resultHolder = executor.run(request); Assertions.assertThat(resultHolder).isNotNull(); Assertions.assertThat(resultHolder.getResultValue("Fld3", "value", String.class).get()).isEqualTo("tgtZ"); }
@Test public void testWeightedConfidenceMissingValueStrategy() { KieBase kieBase = PMMLKieBaseUtil.createKieBaseWithPMML(TREE_WEIGHTED_CONFIDENCE_MISSING_STRATEGY); PMMLExecutor executor = new PMMLExecutor(kieBase); PMMLRequestData request = new PMMLRequestData("123","TreeTest"); request.addRequestParam("fld1", 30.0); PMML4Result resultHolder = executor.run(request); Assertions.assertThat(resultHolder).isNotNull(); Assertions.assertThat(resultHolder.getResultValue("Fld3", "value", String.class).get()).isEqualTo("tgtY"); request = new PMMLRequestData("123","TreeTest"); request.addRequestParam("fld1", 50.0); resultHolder = executor.run(request); Assertions.assertThat(resultHolder).isNotNull(); Assertions.assertThat(resultHolder.getResultValue("Fld3", "value", String.class).get()).isEqualTo("tgtX"); }
@Test public void testReturnLastNoTrueChildPredictionStrategy() { KieBase kieBase = PMMLKieBaseUtil.createKieBaseWithPMML(TREE_RETURN_LAST_NOTRUE_CHILD_STRATEGY); PMMLExecutor executor = new PMMLExecutor(kieBase); PMMLRequestData request = new PMMLRequestData("123","TreeTest"); request.addRequestParam("fld1", 30.0); PMML4Result resultHolder = executor.run(request); Assertions.assertThat(resultHolder).isNotNull(); String targetValue = resultHolder.getResultValue("Fld2", "value", String.class).orElse(null); Assertions.assertThat(targetValue).isEqualTo("tgtY"); request = new PMMLRequestData("123","TreeTest"); request.addRequestParam("fld1", 50.0); resultHolder = executor.run(request); Assertions.assertThat(resultHolder).isNotNull(); targetValue = resultHolder.getResultValue("Fld2", "value", String.class).orElse(null); Assertions.assertThat(targetValue).isEqualTo("tgtX"); }
@Test public void testNullPredictionMissingValueStrategy() { KieBase kieBase = PMMLKieBaseUtil.createKieBaseWithPMML(TREE_RETURN_NULL_MISSING_STRATEGY); PMMLExecutor executor = new PMMLExecutor(kieBase); PMMLRequestData request = new PMMLRequestData("123","TreeTest"); request.addRequestParam("fld1", 30.0); PMML4Result resultHolder = executor.run(request); Assertions.assertThat(resultHolder).isNotNull(); String targetValue = resultHolder.getResultValue("Fld3", "value", String.class).orElse(null); Assertions.assertThat(targetValue).isEqualTo("tgtY"); request = new PMMLRequestData("123","TreeTest"); request.addRequestParam("fld1", 100.0); resultHolder = executor.run(request); Assertions.assertThat(resultHolder).isNotNull(); targetValue = resultHolder.getResultValue("Fld3", "value", String.class).orElse(null); Assertions.assertThat(targetValue).isNull(); }
@Test public void testLastPredictionMissingValueStrategy() { KieBase kieBase = PMMLKieBaseUtil.createKieBaseWithPMML(TREE_LAST_CHILD_MISSING_STRATEGY); PMMLExecutor executor = new PMMLExecutor(kieBase); PMMLRequestData request = new PMMLRequestData("123","TreeTest"); request.addRequestParam("fld1", 30.0); PMML4Result resultHolder = executor.run(request); Assertions.assertThat(resultHolder).isNotNull(); String targetValue = resultHolder.getResultValue("Fld3", "value", String.class).orElse(null); Assertions.assertThat(targetValue).isEqualTo("tgtY"); executor.setRunWithLogging(true); request = new PMMLRequestData("123","TreeTest"); request.addRequestParam("fld1", 100.0); resultHolder = executor.run(request); Assertions.assertThat(resultHolder).isNotNull(); targetValue = resultHolder.getResultValue("Fld3", "value", String.class).orElse(null); Assertions.assertThat(targetValue).isEqualTo("tgtA"); }
@Test public void testReturnNullNoTrueChildPredictionStrategy() { KieBase kieBase = PMMLKieBaseUtil.createKieBaseWithPMML(TREE_RETURN_NULL_NOTRUECHILD_STRATEGY); PMMLExecutor executor = new PMMLExecutor(kieBase); PMMLRequestData request = new PMMLRequestData("123","TreeTest"); request.addRequestParam("fld1", 30.0); PMML4Result resultHolder = executor.run(request); Assertions.assertThat(resultHolder).isNotNull(); String targetValue = resultHolder.getResultValue("Fld2", "value", String.class).orElse(null); Assertions.assertThat(targetValue).isEqualTo("tgtY"); request = new PMMLRequestData("123","TreeTest"); request.addRequestParam("fld1", 50.0); resultHolder = executor.run(request); Assertions.assertThat(resultHolder).isNotNull(); Assertions.assertThat(resultHolder.getResultValue("Fld2", "value", String.class)).isEmpty(); }