def testSchemaSupport(self): instance = trac26.eCTwSC(3) self.assertEqual(3, instance.value()) instance = trac26.CreateFromDocument(self.Good_xmlt) self.assertEqual(3, instance.value()) instance = trac26.eCTwSCSequence() # Can't infer conversion, see trac/175 instance.eCTwSC.append(trac26.eCTwSC(1)) instance.eCTwSC.append(trac26.eCTwSC(2)) instance = trac26.CreateFromDocument(self.GoodSeq_xmlt) xmld = instance.toxml('utf-8', root_only=True) self.assertEqual(xmld, self.GoodSeq_xmld)
def testSchemaSupport(self): instance = trac26.tAttributes(aReq=4) self.assertTrue(instance.validateBinding()) instance = trac26.tAttributeReqFixed(aReqFixed=9) self.assertTrue(instance.validateBinding()) instance = trac26.CreateFromDocument(self.Good_xmlt) self.assertEqual(self.Good_xmld, instance.toxml('utf-8', root_only=True))
def testSchemaSupport(self): instance = trac26.tAttributes(aCardCymru='pedwar', aReq=4) self.assertTrue(instance.validateBinding()) instance = trac26.CreateFromDocument(self.Good_xmlt) self.assertEqual(self.Good_xmld, instance.toxml('utf-8', root_only=True)) instance.aCardCymru = 'dau' self.assertTrue(instance.validateBinding())
def testSchemaSupport(self): cym1 = trac26.tConcSubCymru('un') eng3 = trac26.tConcSubEnglish('three') # Direct generation works instance = trac26.eUseAbstract(cym1) # So does from documents with xsi:type i2 = trac26.CreateFromDocument(self.Good_xmlt) self.assertTrue(isinstance(i2.eAbstract, trac26.tConcSubCymru))
def testFromDocument(self): instance = None with self.assertRaises(pyxb.AbstractElementError) as cm: instance = trac26.CreateFromDocument(self.Bad_xmlt) e = cm.exception self.assertFalse(e.location is None) self.assertEqual(1, e.location.lineNumber) self.assertEqual(47, e.location.columnNumber)
def testSchemaSupport(self): instance = trac26.eInts(1, 2) self.assertEqual(2, len(instance.eInt)) e0 = instance.eInt[0] self.assertTrue(isinstance(e0, trac26.eInt.typeDefinition())) self.assertEqual(e0, 1) instance = trac26.CreateFromDocument(self.Good_xmlt) self.assertEqual(self.Good_xmld, instance.toxml('utf-8', root_only=True))
def testSchemaSupport(self): i1 = trac26.eAttributes(aReq=2, aProhibited=6) self.assertTrue(i1.validateBinding()) i2 = trac26.eAttributesProhibited(aReq=2) self.assertTrue(i2.validateBinding()) self.assertTrue(isinstance(i2, type(i1))) self.assertFalse(isinstance(i1, type(i2))) instance = trac26.CreateFromDocument(self.Good_xmlt) self.assertEqual(self.Good_xmld, instance.toxml('utf-8', root_only=True))
def testException(self): instance = None with self.assertRaises(pyxb.SimpleListValueError) as cm: instance = trac26.CreateFromDocument(self.Bad_xmlt) e = cm.exception self.assertEqual(e.type, trac26.tListCardCymru) self.assertEqual(e.value, 'pump') self.assertFalse(e.location is None) self.assertEqual(1, e.location.lineNumber) self.assertEqual(0, e.location.columnNumber)
def testSchemaSupport(self): instance = trac26.tAttributes(aReq=2) self.assertEqual(instance.aReq, 2) self.assertEqual(instance.aFixed, 5) self.assertTrue(instance.validateBinding()) # OK to explicitly assign fixed value instance.aFixed = 5 instance = trac26.CreateFromDocument(self.Good_xmlt) self.assertEqual(self.Good_xmld, instance.toxml('utf-8', root_only=True))
def testFromDocument(self): instance = None with self.assertRaises(pyxb.AbstractInstantiationError) as cm: instance = trac26.CreateFromDocument(self.Bad_xmlt) e = cm.exception self.assertTrue(instance is None) # Location within Bad_xmlt where error occurred self.assertFalse(e.location is None) self.assertEqual(1, e.location.lineNumber) self.assertEqual(68, e.location.columnNumber)
def testDocument(self): instance = None with self.assertRaises(pyxb.SimpleUnionValueError) as cm: instance = trac26.CreateFromDocument(self.Bad_xmlt) e = cm.exception self.assertEqual(e.type, trac26.tUnionCard) self.assertEqual(e.value, ('pump', )) self.assertFalse(e.location is None) self.assertEqual(1, e.location.lineNumber) self.assertEqual(17, e.location.columnNumber)
def testDocument(self): instance = None with self.assertRaises(pyxb.MixedContentError) as cm: instance = trac26.CreateFromDocument(self.Bad_xmlt) e = cm.exception self.assertFalse(e.location is None) self.assertEqual(1, e.location.lineNumber) self.assertEqual(34, e.location.columnNumber) self.assertEqual(e.value, 'noise') self.assertEqual(str(e), 'Invalid non-element content at <unknown>[1:34]')
def testSchemaSupport(self): for (ty, va) in ((trac26.tCardCymru, 'un'), (trac26.tCardEnglish, 'two'), (xs.int, 3)): instance = trac26.eUnionCard(va) self.assertTrue(isinstance(instance, ty)) xmlt = u'<eUnionCard>%s</eUnionCard>' % (va, ) xmld = xmlt.encode('utf-8') self.assertEqual(xmld, instance.toxml('utf-8', root_only=True)) instance = trac26.CreateFromDocument(self.Good_xmlt) self.assertEqual(self.Good_xmld, instance.toxml('utf-8', root_only=True))
def testDocumentSeq(self): instance = None with self.assertRaises(pyxb.SimpleContentAbsentError) as cm: instance = trac26.CreateFromDocument(self.BadSeq_xmlt) e = cm.exception self.assertTrue(instance is None) self.assertFalse(e.location is None) self.assertEqual(1, e.location.lineNumber) self.assertEqual(34, e.location.columnNumber) self.assertEqual( str(e), 'Type {http://www.w3.org/2001/XMLSchema}int requires content')
def testSchemaSupport(self): instance = trac26.eListCardCymru() instance.append('un') instance.append('dau') self.assertTrue(instance.validateBinding()) instance = trac26.CreateFromDocument(self.Good_xmlt) self.assertEqual(self.Good_xmld, instance.toxml('utf-8', root_only=True)) instance = trac26.eSimpleInstance() self.assertTrue(instance.validateBinding()) instance.eSimpleInstance = ['un', 'dau', 'tri'] self.assertTrue(instance.validateBinding())
def testSchemaSupport(self): instance = trac26.eTranslateCard(trac26.eConcCardCymru('un'), trac26.eConcCardEnglish('one'), xs.int(1)) self.assertTrue(instance.validateBinding()) instance = trac26.CreateFromDocument(self.Good_xmlt) self.assertEqual(self.Good_xmld, instance.toxml('utf-8', root_only=True)) instance = trac26.eTranslateCard(trac26.eConcCardCymru('un')) instance.cardinal = 1 instance.eConcCardEnglish = 'one' self.assertTrue(instance.validateBinding())
def testDocument(self): instance = None with self.assertRaises(pyxb.AttributeChangeError) as cm: instance = trac26.CreateFromDocument(self.Bad_xmlt) self.assertTrue(instance is None) e = cm.exception self.assertEqual(e.type, trac26.tAttributes) self.assertEqual(e.tag, 'aFixed') self.assertFalse(e.instance is None) # there, but partially defined self.assertFalse(e.location is None) self.assertEqual(1, e.location.lineNumber) self.assertEqual(0, e.location.columnNumber)
def testDocument(self): instance = None with self.assertRaises(pyxb.SimpleFacetValueError) as cm: instance = trac26.CreateFromDocument(self.Bad_xmlt) e = cm.exception self.assertFalse(e.location is None) self.assertEqual(1, e.location.lineNumber) self.assertEqual(0, e.location.columnNumber) self.assertEqual(e.type, trac26.tTLA) self.assertEqual(e.value, 'ABCD') self.assertEqual(e.facet, trac26.tTLA._CF_length) self.assertEqual(str(e), 'Type tTLA length constraint violated by value ABCD')
def testDocument(self): instance = None with self.assertRaises(pyxb.ContentInNilInstanceError) as cm: instance = trac26.CreateFromDocument(self.Bad_xmlt) e = cm.exception self.assertFalse(e.location is None) self.assertEqual(e.content, u'4') self.assertEqual(1, e.location.lineNumber) self.assertEqual(0, e.location.columnNumber) self.assertEqual( str(e), 'eNilCTwSC with {http://www.w3.org/2001/XMLSchema-instance}nil=true cannot have content' )
def testException(self): instance = None with self.assertRaises(pyxb.AttributeOnSimpleTypeError) as cm: instance = trac26.CreateFromDocument(self.Bad_xmlt) e = cm.exception self.assertEqual(e.tag, 'bits') self.assertEqual(e.value, u'1') self.assertFalse(e.location is None) self.assertEqual(1, e.location.lineNumber) self.assertEqual(7, e.location.columnNumber) self.assertEqual( str(e), "Simple type {http://www.w3.org/2001/XMLSchema}int cannot support attribute bits" )
def testDocument(self): instance = None with self.assertRaises(pyxb.ProhibitedAttributeError) as cm: instance = trac26.CreateFromDocument(self.Bad_xmlt) e = cm.exception self.assertFalse(e.instance is None) self.assertEqual(e.type, trac26.tAttributesProhibited) self.assertFalse(e.location is None) self.assertEqual(1, e.location.lineNumber) self.assertEqual(0, e.location.columnNumber) self.assertEqual( str(e), "Attempt to reference prohibited attribute aProhibited in type <class 'trac26.tAttributesProhibited'>" )
def testDocument(self): instance = None with self.assertRaises(pyxb.MissingAttributeError) as cm: instance = trac26.CreateFromDocument(self.Bad_xmlt) e = cm.exception au = trac26.tAttributes._AttributeMap['aReq'] self.assertFalse(e.instance is None) self.assertEqual(e.type, trac26.tAttributes) self.assertFalse(e.location is None) self.assertEqual(1, e.location.lineNumber) self.assertEqual(0, e.location.columnNumber) self.assertEqual( str(e), "Instance of <class 'trac26.tAttributes'> lacks required attribute aReq" )
def testDocument(self): instance = None with self.assertRaises(pyxb.MixedContentError) as cm: instance = trac26.CreateFromDocument(self.Bad_xmlt) e = cm.exception self.assertFalse((e.location is None) and (pyxb.XMLStyle_saxer == pyxb._XMLStyle)) loctext = '' if e.location is not None: self.assertEqual(1, e.location.lineNumber) self.assertEqual(34, e.location.columnNumber) loctext = ' at <unknown>[1:34]' self.assertEqual(e.value, 'noise') self.assertEqual(str(e), 'Invalid non-element content{}'.format(loctext))
def testDocument(self): instance = None with self.assertRaises(pyxb.UnrecognizedAttributeError) as cm: instance = trac26.CreateFromDocument(self.Bad_xmlt) self.assertTrue(instance is None) e = cm.exception self.assertEqual(e.type, trac26.tAttributes) self.assertEqual(e.tag, 'aBad') # In this case we were given an instance, which provides a # location. Note that initialization of the instance was left # incomplete. self.assertFalse(e.instance is None) self.assertFalse(e.location is None) self.assertEqual(1, e.location.lineNumber) self.assertEqual(0, e.location.columnNumber)
def testDocument(self): instance = None with self.assertRaises(pyxb.UnrecognizedContentError) as cm: instance = trac26.CreateFromDocument(self.Bad_xmlt) e = cm.exception self.assertFalse(e.location is None) self.assertEqual(1, e.location.lineNumber) self.assertEqual(7, e.location.columnNumber) self.assertTrue(isinstance(e.value, trac26.tCTwSC)) acceptable = e.automaton_configuration.acceptableContent() self.assertEqual(1, len(acceptable)) self.assertNotEqual(acceptable[0].elementBinding(), trac26.eInt) self.assertEqual(acceptable[0].typeDefinition(), trac26.eInt.typeDefinition()) self.assertEqual( str(e), 'Invalid content eCTwSC at <unknown>[1:7] (expect eInt)')
def testDocument(self): instance = None with self.assertRaises(pyxb.UnrecognizedContentError) as cm: instance = trac26.CreateFromDocument(self.Bad_xmlt) e = cm.exception self.assertFalse((e.location is None) and (pyxb.XMLStyle_saxer == pyxb._XMLStyle)) loctext = '' if e.location is not None: self.assertEqual(1, e.location.lineNumber) self.assertEqual(7, e.location.columnNumber) loctext = ' at <unknown>[1:7]' self.assertTrue(isinstance(e.value, trac26.tCTwSC)) self.assertEqual(e._valueDescription(), 'eCTwSC') acceptable = e.automaton_configuration.acceptableContent() self.assertEqual(1, len(acceptable)) self.assertNotEqual(acceptable[0].elementBinding(), trac26.eInt) self.assertEqual(acceptable[0].typeDefinition(), trac26.eInt.typeDefinition()) self.assertEqual( str(e), 'Invalid content eCTwSC{} (expect eInt)'.format(loctext))
def testSchemaSupport(self): cym1 = trac26.eConcCardCymru('un') eng3 = trac26.eConcCardEnglish('three') # Incremental through owning element instance = trac26.eCardinals() self.assertEqual(0, len(instance.eAbstractCard)) instance.append(cym1) self.assertEqual(1, len(instance.eAbstractCard)) self.assertTrue( isinstance(instance.eAbstractCard[0], trac26.tCardCymru)) instance.append(eng3) self.assertEqual(2, len(instance.eAbstractCard)) self.assertTrue( isinstance(instance.eAbstractCard[1], trac26.tCardEnglish)) self.assertTrue(instance.validateBinding()) xmld = instance.toxml('utf-8', root_only=True) self.assertEqual(xmld, self.Good_xmld) # Incremental through construtor element instance = trac26.eCardinals(cym1, eng3) self.assertEqual(2, len(instance.eAbstractCard)) self.assertTrue( isinstance(instance.eAbstractCard[0], trac26.tCardCymru)) self.assertTrue( isinstance(instance.eAbstractCard[1], trac26.tCardEnglish)) self.assertTrue(instance.validateBinding()) xmld = instance.toxml('utf-8', root_only=True) self.assertEqual(xmld, self.Good_xmld) # Through parsing instance = trac26.CreateFromDocument(self.Good_xmlt) self.assertEqual(2, len(instance.eAbstractCard)) self.assertTrue( isinstance(instance.eAbstractCard[0], trac26.tCardCymru)) self.assertTrue( isinstance(instance.eAbstractCard[1], trac26.tCardEnglish)) self.assertTrue(instance.validateBinding())
def testSchemaSupport(self): instance = trac26.eNilCTwSC(4) self.assertEqual(instance.value(), 4) self.assertTrue(instance.validateBinding()) instance = trac26.eNilCTwSC(_nil=True) self.assertTrue(instance.value() is None) self.assertTrue(instance.validateBinding()) instance = trac26.CreateFromDocument(self.Good_xmlt) self.assertEqual(self.Good_xmld, instance.toxml('utf-8', root_only=True)) instance = trac26.eNilInt(4) self.assertEqual(4, instance) instance = trac26.eNilInt(_nil=True) self.assertTrue(instance.validateBinding()) instance = trac26.eNilCTwSC(3) instance.reset() instance.append(4) self.assertTrue(instance.validateBinding()) instance = trac26.eNilOneInt() instance.eInt = 5 self.assertTrue(instance.validateBinding()) instance = trac26.eNilInts() instance.eInt.append(1) self.assertTrue(instance.validateBinding())
def testDisplayDoc(self): if DisplayException: trac26.CreateFromDocument(self.Bad_xmlt)
def testSchemaSupport(self): instance = trac26.eInts() instance.append(1) instance = trac26.CreateFromDocument(self.Good_xmlt) self.assertEqual(self.Good_xmld, instance.toxml('utf-8', root_only=True))