View Javadoc
1   /*
2    * Copyright 2009 the original author or authors.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *     
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
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.assertFalse;
26  import static org.junit.Assert.assertTrue;
27  
28  public class SchematronTransmogrifierTest {
29  
30      private SchematronTransmogrifier<String> svi;
31  
32      @Before
33      public void setUp() throws Exception {
34          svi = new SchematronTransmogrifier<>(String.class);
35      }
36  
37      @Test
38      public void testConvert() throws IOException {
39          Source testXml = new StreamSource(getClass().getResourceAsStream("/schematron/schematron-test.xml"));
40          String result = svi.zap(testXml, "/schematron/schematron-test-rules.xml");
41          assertFalse(result.contains("svrl:failed-assert"));
42      }
43  
44      @Test
45      public void testConvertFail() throws IOException {
46          Source testXml = new StreamSource(getClass().getResourceAsStream("/schematron/schematron-test-fail.xml"));
47          String result = svi.zap(testXml, "/schematron/schematron-test-rules.xml");
48          assertTrue(result.contains("<svrl:failed-assert")); // 3 occurrences
49      }
50  }