예제 #1
0
    def test_schema_prefix(self):
        element = ElementBase()

        self.assertIsNone(element.schema_prefix())

        element = ElementBase(ns_map=dict(a="b", c=Namespace.XS.uri))
        self.assertEqual("c", element.schema_prefix())
예제 #2
0
    def test_property_default_type(self):
        element = ElementBase()
        self.assertEqual("string", element.default_type)

        element = ElementBase()
        element.ns_map["xsd"] = Namespace.XS.uri
        self.assertEqual("xsd:string", element.default_type)
예제 #3
0
    def test_property_prefix(self):
        element = ElementBase()
        self.assertIsNone(element.prefix)

        element.ref = "foo"
        self.assertIsNone(element.prefix)

        element.ref = "foo:bar"
        self.assertEqual("foo", element.prefix)
예제 #4
0
    def test_property_has_children(self):
        element = ElementBase()
        self.assertFalse(element.has_children)

        element = Element.create()
        self.assertFalse(element.has_children)

        element.complex_type = ComplexType.create()
        self.assertTrue(element.has_children)
예제 #5
0
    def test_property_is_abstract(self):
        element = ElementBase()
        self.assertFalse(element.is_abstract)

        element.abstract = False
        self.assertFalse(element.is_abstract)

        element.abstract = True
        self.assertTrue(element.is_abstract)
예제 #6
0
    def test_property_is_fixed(self):
        element = ElementBase()
        self.assertFalse(element.is_fixed)

        element.fixed = None
        self.assertFalse(element.is_fixed)

        element.fixed = "foo"
        self.assertTrue(element.is_fixed)
예제 #7
0
    def test_property_real_name(self):
        element = ElementBase()

        with self.assertRaises(SchemaValueError):
            element.real_name

        element.ref = "foo"
        self.assertEqual("foo", element.real_name)

        element.name = "bar"
        self.assertEqual("bar", element.real_name)
예제 #8
0
    def test_property_is_qualified(self):
        element = ElementBase()
        self.assertFalse(element.is_qualified)

        element.form = None
        self.assertFalse(element.is_qualified)

        element.form = FormType.UNQUALIFIED
        self.assertFalse(element.is_qualified)

        element.form = FormType.QUALIFIED
        self.assertTrue(element.is_qualified)

        element = ElementBase()
        element.form = FormType.UNQUALIFIED
        element.ref = None
        self.assertFalse(element.is_qualified)

        element.ref = "foo"
        self.assertTrue(element.is_qualified)
예제 #9
0
    def test_property_extensions(self):
        element = ElementBase()
        self.assertIsInstance(element.extensions, Iterator)
        self.assertEqual([], list(element.extensions))

        class Foo(ElementBase):
            @property
            def extends(self) -> Optional[str]:
                return "a b   c"

        self.assertEqual(["a", "b", "c"], list(Foo().extensions))
예제 #10
0
    def test_property_default_value(self):
        element = ElementBase()
        self.assertIsNone(element.default_value)

        element.fixed = "foo"
        self.assertEqual("foo", element.default_value)

        element.default = "bar"
        self.assertEqual("bar", element.default_value)

        element.default = ""
        self.assertEqual("", element.default_value)

        element.default = None
        element.fixed = ""
        self.assertEqual("", element.default_value)
예제 #11
0
 def test_property_extends(self):
     element = ElementBase()
     self.assertIsNone(element.extends)
예제 #12
0
 def test_property_display_help(self):
     element = ElementBase()
     self.assertIsNone(element.display_help)
예제 #13
0
 def test_property_default_type(self):
     element = ElementBase()
     self.assertEqual(DataType.STRING, element.default_type)
예제 #14
0
 def test_property_is_mixed(self):
     element = ElementBase()
     self.assertFalse(element.is_mixed)
예제 #15
0
 def test_property_is_attribute(self):
     element = ElementBase()
     self.assertFalse(element.is_attribute)
예제 #16
0
    def test_property_has_form(self):
        element = ElementBase()
        self.assertFalse(element.has_form)

        element.form = None
        self.assertTrue(element.has_form)
예제 #17
0
    def test_property_xs_prefix(self):
        element = ElementBase()
        self.assertIsNone(element.xs_prefix)

        element.ns_map["foo"] = Namespace.XS.uri
        self.assertEqual("foo", element.xs_prefix)
예제 #18
0
    def test_property_raw_type(self):
        element = ElementBase()
        self.assertIsNone(element.raw_namespace)

        element.type = "xs:int"
        self.assertEqual("xs:int", element.raw_type)
예제 #19
0
    def test_property_raw_namespace(self):
        element = ElementBase()
        self.assertIsNone(element.raw_namespace)

        element.target_namespace = "tns"
        self.assertEqual("tns", element.raw_namespace)
예제 #20
0
    def test_data_type_ref(self):
        element = ElementBase()
        self.assertEqual("string", element.data_type_ref(DataType.STRING))

        element.ns_map["foo"] = Namespace.XS.uri
        self.assertEqual("foo:string", element.data_type_ref(DataType.STRING))
예제 #21
0
 def test_property_is_wildcard(self):
     element = ElementBase()
     self.assertFalse(element.is_wildcard)
예제 #22
0
 def test_property_real_type(self):
     element = ElementBase()
     with self.assertRaises(SchemaValueError):
         element.real_type
예제 #23
0
    def test_property_is_nillable(self):
        element = ElementBase()
        self.assertFalse(element.is_nillable)

        element.nillable = True
        self.assertTrue(element.is_nillable)
예제 #24
0
 def test_property_substitutions(self):
     element = ElementBase()
     self.assertEqual([], element.substitutions)
예제 #25
0
 def test_property_bases(self):
     element = ElementBase()
     self.assertIsInstance(element.bases, Iterator)
     self.assertEqual([], list(element.bases))
예제 #26
0
    def test_property_token_types(self):
        element = ElementBase()
        element.ns_map["xs"] = Namespace.XS.uri

        self.assertEqual(["xs:NMTOKENS", "xs:IDREFS"], element.token_types)
예제 #27
0
 def test_property_attr(self):
     element = ElementBase()
     self.assertIsInstance(element.attr_types, Iterator)
     self.assertEqual([], list(element.attr_types))
예제 #28
0
 def test_property_extensions(self):
     element = ElementBase()
     self.assertIsInstance(element.extensions, Iterator)
     self.assertEqual([], list(element.extensions))