@Override public GenerateConditionResult generateCondition(Condition condition) { ConditionGenerator generator = new ConditionGenerator(); try { return new GenerateConditionResult(generator.generateScript(condition)); } catch (GenerateConditionException e) { return new GenerateConditionResult(null, e.getMessage()); } }
private void onSimpleConditionChange(GenerateConditionResult result) { clearError(); if (!result.hasError()) { ScriptTypeValue oldValue = value; value = new ScriptTypeValue(DEFAULT_LANGUAGE, result.getExpression()); notifyChange(oldValue, value); } else { showError(result.getError()); } }
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 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()); }
@Test public void testGenerateConditionResultEqualsAndHashCode() { TestCaseBuilder.newTestCase() .addTrueCase(new GenerateConditionResult(null), new GenerateConditionResult(null)) .addTrueCase(new GenerateConditionResult(null, null), new GenerateConditionResult(null, null)) .addTrueCase(new GenerateConditionResult("expr"), new GenerateConditionResult("expr")) .addTrueCase(new GenerateConditionResult("expr", "error"), new GenerateConditionResult("expr", "error")) .addFalseCase(new GenerateConditionResult("expr"), new GenerateConditionResult(null)) .addFalseCase(new GenerateConditionResult("expr", "error"), new GenerateConditionResult("expr", null)) .addFalseCase(new GenerateConditionResult("expr"), new GenerateConditionResult("expr1")) .addFalseCase(new GenerateConditionResult("expr", "error"), new GenerateConditionResult("expr", "error1")) .addFalseCase(new GenerateConditionResult("expr", "error"), new GenerateConditionResult("expr1", "error1")) .test(); }