示例#1
0
 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)
示例#2
0
 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))
示例#3
0
 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())
示例#4
0
 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))
示例#5
0
 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)
示例#6
0
 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))
示例#7
0
 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))
示例#8
0
 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)
示例#9
0
 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))
示例#10
0
 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)
示例#11
0
 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)
示例#12
0
 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]')
示例#13
0
 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))
示例#14
0
 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')
示例#15
0
 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())
示例#16
0
 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())
示例#17
0
 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)
示例#18
0
 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')
示例#19
0
 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'
     )
示例#20
0
 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"
     )
示例#21
0
 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'>"
     )
示例#22
0
 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"
     )
示例#23
0
 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))
示例#24
0
 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)
示例#25
0
 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)')
示例#26
0
 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))
示例#27
0
    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())
示例#28
0
 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())
示例#29
0
 def testDisplayDoc(self):
     if DisplayException:
         trac26.CreateFromDocument(self.Bad_xmlt)
示例#30
0
 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))