@Test public void testCONTEXT_ENTRY_MISSING_VARIABLE_FileInput() { final List<DMNMessage> validate = validator.validate( getFile("context/CONTEXT_ENTRY_MISSING_VARIABLE.dmn"), VALIDATE_SCHEMA, VALIDATE_MODEL, VALIDATE_COMPILATION); assertThat(ValidatorUtil.formatMessages(validate), validate.size(), is(1)); assertTrue(validate.stream().anyMatch(p -> p.getMessageType().equals(DMNMessageType.MISSING_VARIABLE))); // check that it reports and error for the second context entry, but not for the last one final ContextEntry ce = (ContextEntry) validate.get(0).getSourceReference(); assertThat(((Context) ce.getParent()).getContextEntry().indexOf(ce), is(1)); }
@Test public void testCONTEXT_ENTRY_MISSING_VARIABLE_DefinitionsInput() { final List<DMNMessage> validate = validator.validate( getDefinitions("context/CONTEXT_ENTRY_MISSING_VARIABLE.dmn", "https://github.com/kiegroup/kie-dmn", "CONTEXT_MISSING_EXPR"), VALIDATE_MODEL, VALIDATE_COMPILATION); assertThat(ValidatorUtil.formatMessages(validate), validate.size(), is(1)); assertTrue(validate.stream().anyMatch(p -> p.getMessageType().equals(DMNMessageType.MISSING_VARIABLE))); // check that it reports and error for the second context entry, but not for the last one final ContextEntry ce = (ContextEntry) validate.get(0).getSourceReference(); assertThat(((Context) ce.getParent()).getContextEntry().indexOf(ce), is(1)); }
@Test public void testCONTEXT_ENTRY_MISSING_VARIABLE_ReaderInput() throws IOException { try (final Reader reader = getReader("context/CONTEXT_ENTRY_MISSING_VARIABLE.dmn")) { final List<DMNMessage> validate = validator.validate( reader, VALIDATE_SCHEMA, VALIDATE_MODEL, VALIDATE_COMPILATION); assertThat(ValidatorUtil.formatMessages(validate), validate.size(), is(1)); assertTrue(validate.stream().anyMatch(p -> p.getMessageType().equals(DMNMessageType.MISSING_VARIABLE))); // check that it reports and error for the second context entry, but not for the last one final ContextEntry ce = (ContextEntry) validate.get(0).getSourceReference(); assertThat(((Context) ce.getParent()).getContextEntry().indexOf(ce), is(1)); } }