Changeset 4624


Ignore:
Timestamp:
03/06/14 08:47:50 (10 years ago)
Author:
Twan Goosen
Message:

extended test for schematron cardinality checks

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ComponentRegistry/trunk/CMDValidate/src/test/java/clarin/cmdi/schema/cmd/TestCMDValidate.java

    r4623 r4624  
    2222    @Before
    2323    public void setUp() {
    24         cmdValidator = new Validator(getClass().getResource("/schema/general-component-schema.xsd"));
    25         cmdValidator.setResourceResolver(new ResourceResolver());
     24        cmdValidator = new Validator(getClass().getResource("/schema/general-component-schema.xsd"));
     25        cmdValidator.setResourceResolver(new ResourceResolver());
    2626    }
    2727
    2828    @After
    2929    public void tearDown() {
    30         cmdValidator = null;
     30        cmdValidator = null;
    3131    }
    3232
    3333    protected boolean validate(String prof) throws Exception {
    34         System.out.print("Test CMD validation [" + prof + "] ");
    35         Source src = new javax.xml.transform.stream.StreamSource(new java.io.File(TestCMDValidate.class.getResource("/docs/" + prof).toURI()));
    36         boolean valid = cmdValidator.validateProfile(src);
    37         if (valid) {
    38             System.out.println("valid");
    39         } else {
    40             System.out.println("invalid");
    41         }
    42         cmdValidator.printMessages(System.out);
    43         return valid;
     34        System.out.print("Test CMD validation [" + prof + "] ");
     35        Source src = new javax.xml.transform.stream.StreamSource(new java.io.File(TestCMDValidate.class.getResource("/docs/" + prof).toURI()));
     36        boolean valid = cmdValidator.validateProfile(src);
     37        if (valid) {
     38            System.out.println("valid");
     39        } else {
     40            System.out.println("invalid");
     41        }
     42        cmdValidator.printMessages(System.out);
     43        return valid;
    4444    }
    4545
    4646    @Test
    4747    public void valid_0() throws Exception {
    48         assertTrue(validate("CLARINWebService.xml"));
    49         assertEquals(0, cmdValidator.getMessages().size());
     48        assertTrue(validate("CLARINWebService.xml"));
     49        assertEquals(0, cmdValidator.getMessages().size());
    5050    }
    5151
    5252    @Test
    5353    public void invalid_1() throws Exception {
    54         assertFalse(validate("CLARINWebService_faulty-1.xml"));
     54        assertFalse(validate("CLARINWebService_faulty-1.xml"));
    5555
    56         final List<Message> messages = cmdValidator.getMessages();
    57         assertEquals(1, messages.size());
    58         Message message = messages.get(0);
    59         assertTrue(message.error);
    60         assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/AttributeList[1]/Attribute[1]", message.location);
    61         assertEquals("not(Name=('ref','ComponentId'))", message.test);
    62         assertNotNull(message.text);
     56        final List<Message> messages = cmdValidator.getMessages();
     57        assertEquals(1, messages.size());
     58        Message message = messages.get(0);
     59        assertTrue(message.error);
     60        assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/AttributeList[1]/Attribute[1]", message.location);
     61        assertEquals("not(Name=('ref','ComponentId'))", message.test);
     62        assertNotNull(message.text);
    6363    }
    6464
    6565    @Test
    6666    public void invalid_2() throws Exception {
    67         assertFalse(validate("CLARINWebService_faulty-2.xml"));
     67        assertFalse(validate("CLARINWebService_faulty-2.xml"));
    6868
    69         final List<Message> messages = cmdValidator.getMessages();
    70         assertEquals(1, messages.size());
    71         Message message = messages.get(0);
    72         assertTrue(message.error);
    73         assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/AttributeList[1]/Attribute[1]/ValueScheme[1]/enumeration[1]/item[2]", message.location);
    74         assertEquals("empty(preceding-sibling::item[.=current()])", message.test);
    75         assertNotNull(message.text);
     69        final List<Message> messages = cmdValidator.getMessages();
     70        assertEquals(1, messages.size());
     71        Message message = messages.get(0);
     72        assertTrue(message.error);
     73        assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/AttributeList[1]/Attribute[1]/ValueScheme[1]/enumeration[1]/item[2]", message.location);
     74        assertEquals("empty(preceding-sibling::item[.=current()])", message.test);
     75        assertNotNull(message.text);
    7676    }
    7777
    7878    @Test
    7979    public void invalid_3() throws Exception {
    80         assertFalse(validate("CLARINWebService_faulty-3.xml"));
     80        assertFalse(validate("CLARINWebService_faulty-3.xml"));
    8181
    82         final List<Message> messages = cmdValidator.getMessages();
    83         assertEquals(1, messages.size());
    84         Message message = messages.get(0);
    85         assertTrue(message.error);
    86         assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/AttributeList[1]/Attribute[2]", message.location);
    87         assertEquals("empty(preceding-sibling::Attribute[Name=current()/Name])", message.test);
    88         assertNotNull(message.text);
     82        final List<Message> messages = cmdValidator.getMessages();
     83        assertEquals(1, messages.size());
     84        Message message = messages.get(0);
     85        assertTrue(message.error);
     86        assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/AttributeList[1]/Attribute[2]", message.location);
     87        assertEquals("empty(preceding-sibling::Attribute[Name=current()/Name])", message.test);
     88        assertNotNull(message.text);
    8989    }
    9090
    9191    @Test
    9292    public void invalid_4() throws Exception {
    93         assertFalse(validate("CLARINWebService_faulty-4.xml"));
     93        assertFalse(validate("CLARINWebService_faulty-4.xml"));
    9494
    95         final List<Message> messages = cmdValidator.getMessages();
    96         assertEquals(1, messages.size());
    97         Message message = messages.get(0);
    98         assertTrue(message.error);
    99         assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/CMD_Component[2]", message.location);
    100         assertEquals("empty(preceding-sibling::*[@name=current()/@name])", message.test);
    101         assertNotNull(message.text);
     95        final List<Message> messages = cmdValidator.getMessages();
     96        assertEquals(1, messages.size());
     97        Message message = messages.get(0);
     98        assertTrue(message.error);
     99        assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/CMD_Component[2]", message.location);
     100        assertEquals("empty(preceding-sibling::*[@name=current()/@name])", message.test);
     101        assertNotNull(message.text);
    102102    }
    103103
    104104    @Test
    105105    public void invalid_5() throws Exception {
    106         assertFalse(validate("CLARINWebService_faulty-5.xml"));
     106        assertFalse(validate("CLARINWebService_faulty-5.xml"));
    107107
    108         final List<Message> messages = cmdValidator.getMessages();
    109         assertEquals(1, messages.size());
    110         Message message = messages.get(0);
    111         assertTrue(message.error);
    112         assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/CMD_Element[3]", message.location);
    113         assertEquals("empty(preceding-sibling::*[@name=current()/@name])", message.test);
    114         assertNotNull(message.text);
     108        final List<Message> messages = cmdValidator.getMessages();
     109        assertEquals(1, messages.size());
     110        Message message = messages.get(0);
     111        assertTrue(message.error);
     112        assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/CMD_Element[3]", message.location);
     113        assertEquals("empty(preceding-sibling::*[@name=current()/@name])", message.test);
     114        assertNotNull(message.text);
    115115    }
    116116
    117117    @Test
    118118    public void invalid_6() throws Exception {
    119         assertFalse(validate("CLARINWebService_faulty-6.xml"));
     119        assertFalse(validate("CLARINWebService_faulty-6.xml"));
    120120
    121         final List<Message> messages = cmdValidator.getMessages();
    122         assertEquals(1, messages.size());
    123         Message message = messages.get(0);
    124         assertTrue(message.error);
    125         assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/CMD_Component[1]", message.location);
    126         assertEquals("empty(preceding-sibling::*[@name=current()/@name])", message.test);
    127         assertNotNull(message.text);
     121        final List<Message> messages = cmdValidator.getMessages();
     122        assertEquals(1, messages.size());
     123        Message message = messages.get(0);
     124        assertTrue(message.error);
     125        assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/CMD_Component[1]", message.location);
     126        assertEquals("empty(preceding-sibling::*[@name=current()/@name])", message.test);
     127        assertNotNull(message.text);
    128128    }
    129129
    130130    @Test
    131131    public void invalid_7() throws Exception {
    132         assertFalse(validate("CLARINWebService_faulty-7.xml"));
     132        assertFalse(validate("CLARINWebService_faulty-7.xml"));
    133133
    134         final List<Message> messages = cmdValidator.getMessages();
    135         assertEquals(1, messages.size());
    136         Message message = messages.get(0);
    137         assertTrue(message.error);
    138         assertNull(message.location);
    139         assertNull(message.test);
    140         assertNotNull(message.text);
     134        final List<Message> messages = cmdValidator.getMessages();
     135        assertEquals(1, messages.size());
     136        Message message = messages.get(0);
     137        assertTrue(message.error);
     138        assertNull(message.location);
     139        assertNull(message.test);
     140        assertNotNull(message.text);
    141141    }
    142142
    143143    @Test
    144144    public void valid_8() throws Exception {
    145         assertTrue(validate("CLARINWebService_warn-8.xml"));
     145        assertTrue(validate("CLARINWebService_warn-8.xml"));
    146146
    147         final List<Message> messages = cmdValidator.getMessages();
    148         assertEquals(2, messages.size());
    149         Message message = messages.get(0);
    150         assertFalse(message.error);
    151         assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]",message.location);
    152         assertNotNull(message.test);
    153         assertEquals("A nested component or element has the same name ('Service') as this component! Please, consider to rename one of them.",message.text);
    154         message = messages.get(1);
    155         assertFalse(message.error);
    156         assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/AttributeList[1]/Attribute[1]",message.location);
    157         assertNotNull(message.test);
    158         assertEquals("An attribute has the same name ('Service') as its element or component! Please, consider to rename one of them.",message.text);
     147        final List<Message> messages = cmdValidator.getMessages();
     148        assertEquals(2, messages.size());
     149        Message message = messages.get(0);
     150        assertFalse(message.error);
     151        assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]", message.location);
     152        assertNotNull(message.test);
     153        assertEquals("A nested component or element has the same name ('Service') as this component! Please, consider to rename one of them.", message.text);
     154        message = messages.get(1);
     155        assertFalse(message.error);
     156        assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/AttributeList[1]/Attribute[1]", message.location);
     157        assertNotNull(message.test);
     158        assertEquals("An attribute has the same name ('Service') as its element or component! Please, consider to rename one of them.", message.text);
    159159    }
    160160
    161161    @Test
    162162    public void invalid_9() throws Exception {
    163         assertFalse(validate("CLARINWebService_faulty-9.xml"));
     163        assertFalse(validate("CLARINWebService_faulty-9.xml"));
    164164
    165         final List<Message> messages = cmdValidator.getMessages();
    166         assertEquals(1, messages.size());
    167         Message message = messages.get(0);
    168         assertTrue(message.error);
    169         assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/CMD_Component[2]/CMD_Component[1]/CMD_Component[2]/CMD_Component[3]", message.location);
    170         assertEquals("empty(preceding-sibling::CMD_Component[@ComponentId=current()/@ComponentId])", message.test);
    171         assertNotNull(message.text);
     165        final List<Message> messages = cmdValidator.getMessages();
     166        assertEquals(1, messages.size());
     167        Message message = messages.get(0);
     168        assertTrue(message.error);
     169        assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/CMD_Component[2]/CMD_Component[1]/CMD_Component[2]/CMD_Component[3]", message.location);
     170        assertEquals("empty(preceding-sibling::CMD_Component[@ComponentId=current()/@ComponentId])", message.test);
     171        assertNotNull(message.text);
    172172    }
    173173
    174174    @Test
    175175    public void invalid_10() throws Exception {
    176         assertFalse(validate("CLARINWebService_faulty-10.xml"));
    177        
    178         }
     176        assertFalse("There should be invalid cardinality values", validate("CLARINWebService_faulty-10.xml"));
     177        final List<Message> messages = cmdValidator.getMessages();
     178        assertEquals("There should be 5 invalid cardinality sets", 5, messages.size());
     179        assertEquals("UNK, number, maximum ne 0", "/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Element[3]", messages.get(0).location);
     180        assertEquals("number, UNK, minimum le 1","/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Element[6]", messages.get(1).location);
     181        assertEquals("number, number, minimum le maximum","/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Element[8]", messages.get(2).location);
     182        assertEquals("unbounded, UNK", "/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Element[10]", messages.get(3).location);
     183        assertEquals("unbounded, 1", "/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Element[11]", messages.get(4).location);
     184    }
    179185}
Note: See TracChangeset for help on using the changeset viewer.