### Question:
RuleDescriptionTransformer extends SimpleDMNTransformer<TestLab> { private DMNModelRepository cleanRuleDescription(DMNModelRepository repository, BuildLogger logger) { for (TDefinitions definitions: repository.getAllDefinitions()) { for(TDecision decision: repository.findDecisions(definitions)) { TExpression expression = repository.expression(decision); if (expression instanceof TDecisionTable) { logger.debug(String.format("Cleaning descriptions for '%s'", decision.getName())); List<TDecisionRule> rules = ((TDecisionTable) expression).getRule(); for (TDecisionRule rule: rules) { cleanRuleDescription(rule); } } } } return repository; } RuleDescriptionTransformer();  RuleDescriptionTransformer(BuildLogger logger); @Override DMNModelRepository transform(DMNModelRepository repository); @Override Pair<DMNModelRepository, List<TestLab>> transform(DMNModelRepository repository, List<TestLab> testLabList);  }### Answer:
@Test public void testTransformForIncorrectLists() { TDecisionRule rule = makeRule("[ , string(\"\") , , string(\"\") , ]"); transformer.cleanRuleDescription(rule); assertEquals("[ string(\"\") , string(\"\") ]", rule.getDescription()); }
@Test public void testTransformForIllegalString() { TDecisionRule rule = makeRule("[ string(-) ]"); transformer.cleanRuleDescription(rule); assertEquals("[ \"\" ]", rule.getDescription()); }
@Test public void testTransformForIllegalCharacters() { TDecisionRule rule = makeRule("[ string(\"abc \u00A0 123\") ]"); transformer.cleanRuleDescription(rule); assertEquals("[ string(\"abc 123\") ]", rule.getDescription()); }