private void testGenerateTernaryFunction(String function) throws GenerateConditionException { ConditionGenerator generator = new ConditionGenerator(); for (int i = 0; i < variableParams.size(); i++) { Condition condition = new Condition(function); condition.addParam(variableParams.get(i)); condition.addParam(stringParams.get(i)); condition.addParam(stringParams.get(i)); String expectedScript = buildTernaryConditionScript(function, variableParams.get(i), stringParams.get(i), stringParams.get(i)); assertEquals(expectedScript, generator.generateScript(condition)); } } }
private void testGenerateBinaryFunction(String function) throws GenerateConditionException { ConditionGenerator generator = new ConditionGenerator(); for (int i = 0; i < variableParams.size(); i++) { Condition condition = new Condition(function); condition.addParam(variableParams.get(i)); condition.addParam(stringParams.get(i)); String expectedScript = buildBinaryConditionScript(function, variableParams.get(i), stringParams.get(i)); assertEquals(expectedScript, generator.generateScript(condition)); } }
private void testGenerateConditionSuccessful(String function) { for (int i = 0; i < variableParams.size(); i++) { Condition condition = new Condition(function); condition.addParam(variableParams.get(i)); condition.addParam(stringParams.get(i)); GenerateConditionResult result = service.generateCondition(condition); assertFalse(result.hasError()); String expectedScript = buildBinaryConditionScript(function, variableParams.get(i), stringParams.get(i)); assertEquals(expectedScript, result.getExpression()); } } }
@Test public void testParamIsNullError() throws Exception { ConditionGenerator generator = new ConditionGenerator(); Condition condition = new Condition("startsWith"); condition.addParam("variable"); condition.addParam(null); expectedException.expectMessage("Parameter can not be null nor empty"); generator.generateScript(condition); }
private Condition parse(FunctionDef functionDef) throws ParseException { parseReturnSentence(); functionName = parseFunctionName(); functionName = functionName.substring(KIE_FUNCTIONS.length()); parseFunctionOpen(); Condition condition = new Condition(functionName); String param; String[] variableParam; boolean first = true; for (ParamDef ignored : functionDef.getParams()) { if (first) { variableParam = parseVariableParam(); param = variableParam[0] + (variableParam[1] != null ? ("." + variableParam[1]) : ""); first = false; } else { parseParamDelimiter(); param = parseStringParameter(); } condition.addParam(param); } //all parameters were consumed parseFunctionClose(); parseSentenceClose(); return condition; }
private void testGenerateUnaryCondition(String function) throws GenerateConditionException { ConditionGenerator generator = new ConditionGenerator(); for (String param : variableParams) { Condition condition = new Condition(function); condition.addParam(param); String expectedScript = buildUnaryConditionScript(function, param); assertEquals(expectedScript, generator.generateScript(condition)); } }
private void applyChange() { String variable = variableSearchSelectionHandler.getSelectedKey(); String type = variableSearchService.getOptionType(variable); String function = functionSearchSelectionHandler.getSelectedKey(); Condition condition = new Condition(); valid = true; if (!isEmpty(function)) { condition.setFunction(function); } else { valid = false; } if (!isEmpty(variable) && !isEmpty(type)) { condition.addParam(variable); } else { valid = false; } for (ConditionParamPresenter param : currentParams) { if (!param.validateParam(type)) { valid = false; } condition.getParams().add(param.getValue()); } Condition oldValue = value; value = condition; notifyChange(oldValue, value); }
@Test public void testGenerateConditionUnSuccessful() { GenerateConditionResult result = service.generateCondition(null); assertTrue(result.hasError()); assertEquals("A condition must be provided", result.getError()); Condition condition = new Condition("SomeNonExistingFunction"); result = service.generateCondition(condition); assertTrue(result.hasError()); assertEquals("Function SomeNonExistingFunction was not found in current functions definitions", result.getError()); condition = new Condition("startsWith"); condition.addParam("variable"); condition.addParam(null); result = service.generateCondition(condition); assertTrue(result.hasError()); assertEquals("Parameter can not be null nor empty", result.getError()); }