1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.commons.xml;
17
18 import org.junit.Before;
19 import org.junit.Test;
20
21 import javax.xml.transform.Source;
22 import javax.xml.transform.stream.StreamSource;
23 import java.io.IOException;
24
25 import static org.junit.Assert.assertEquals;
26 import static org.junit.Assert.fail;
27
28
29
30
31 public class SchematronValidatorTest {
32
33 private SchematronValidator v;
34
35 @Before
36 public void setUp() throws Exception {
37 v = new SchematronValidator();
38 }
39
40 @Test
41 public void testValidate() throws IOException {
42 Source testXml = new StreamSource(getClass().getResourceAsStream("/schematron/schematron-test.xml"));
43 v.validate(testXml, new SchematronProfile("/schematron/schematron-test-rules.xml"));
44 }
45
46 @Test
47 public void testValidateFail() throws IOException {
48 Source testXml = new StreamSource(getClass().getResourceAsStream(
49 "/schematron/schematron-test-fail.xml"));
50 try {
51 v.validate(testXml, new SchematronProfile("/schematron/schematron-test-rules.xml"));
52 fail("This line shall be not reachable");
53 } catch (SchematronValidationException e) {
54 Throwable[] cause = e.getCauses();
55 assertEquals(3, cause.length);
56 assertEquals(10, e.getSvrl().getActivePatternAndFiredRuleAndFailedAssert().size());
57 }
58 }
59
60 }