jochen      2005/07/13 12:59:44

  Modified:    src/jaxme/org/apache/ws/jaxme/junit Tag: v0_4
                        ParserTest.java
  Log:
  Added a unit test for detection of groups with multiplicity > 1.
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.7.2.2   +38 -1     
ws-jaxme/src/jaxme/org/apache/ws/jaxme/junit/ParserTest.java
  
  Index: ParserTest.java
  ===================================================================
  RCS file: 
/home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/junit/ParserTest.java,v
  retrieving revision 1.7.2.1
  retrieving revision 1.7.2.2
  diff -u -r1.7.2.1 -r1.7.2.2
  --- ParserTest.java   8 Jul 2005 20:45:05 -0000       1.7.2.1
  +++ ParserTest.java   13 Jul 2005 19:59:44 -0000      1.7.2.2
  @@ -53,6 +53,7 @@
   import org.apache.ws.jaxme.xs.types.XSID;
   import org.apache.ws.jaxme.xs.xml.XsQName;
   import org.xml.sax.InputSource;
  +import org.xml.sax.SAXException;
   
   
   /** <p>Implements some basic tests for the Schema generator.</p>
  @@ -1074,4 +1075,40 @@
         assertEquals(XSID.getInstance(), idAttr.getType());
         assertFalse(idRef.isOptional());
     }
  +
  +  /** Test, whether a choice group with multiplicity > 1 is
  +   * rejected.
  +   */
  +  public void testMultipleGroupRejected() throws Exception {
  +     final String schemaSpec =
  +             "<xs:schema\n" +
  +             "    xmlns:xs='http://www.w3.org/2001/XMLSchema'\n" +
  +             "    elementFormDefault='qualified'\n" +
  +             "    xmlns:jaxb='http://java.sun.com/xml/ns/jaxb'\n" +
  +             "    jaxb:version='1.0'>\n" +
  +        "  <xs:annotation><xs:appinfo>\n" +
  +        "    <jaxb:schemaBindings xmlns:jaxb='" + JAXBParser.JAXB_SCHEMA_URI 
+ "'>\n" +
  +        "      <jaxb:package 
name='parsertest.testmultiplegroupsrejected'/>\n" +
  +        "    </jaxb:schemaBindings>\n" +
  +        "  </xs:appinfo></xs:annotation>\n" +
  +             "  <xs:element name='DIAGJOBS'>\n" +
  +             "    <xs:complexType>\n" +
  +             "      <xs:choice maxOccurs='unbounded'>\n" +
  +             "        <xs:element name='DIAGJOB' type='xs:string'/>\n" +
  +             "        <xs:sequence>\n" +
  +             "          <xs:element name='DJREF' type='xs:long'/>\n" +
  +             "          <xs:element name='DESCRIPTIONS' type='xs:string' 
minOccurs='0'/>\n" +
  +             "        </xs:sequence>\n" +
  +             "      </xs:choice>\n" +
  +             "    </xs:complexType>\n" +
  +             "  </xs:element>\n" +
  +             "</xs:schema>\n";
  +     SchemaSG schema = parse(schemaSpec, "testMultipleGroupRejected.xsd");
  +     try {
  +             schema.generate();
  +             fail("Expected an exception");
  +     } catch (SAXException e) {
  +             assertTrue(e.getMessage().indexOf("Model groups with maxOccurs 
> 1 are not yet supported.") != -1);
  +     }
  +  }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to