def test_build_class_attribute_types_when_obj_has_no_types( self, mock_build_inner_classes, mock_real_type, mock_default_type): mock_real_type.return_value = "" mock_build_inner_classes.return_value = [] mock_default_type.return_value = "xs:string" item = ClassFactory.create() attribute = Attribute(default="false", name="attr") actual = SchemaMapper.build_class_attribute_types(item, attribute) self.assertEqual(1, len(actual)) self.assertEqual(AttrTypeFactory.xs_string(), actual[0])
def test_build_class_attribute_types(self, mock_build_inner_classes, mock_real_type): mock_real_type.return_value = " xs:integer xs:string " mock_build_inner_classes.return_value = [] item = ClassFactory.create() attribute = Attribute(default="false") actual = SchemaMapper.build_class_attribute_types(item, attribute) expected = [AttrTypeFactory.xs_int(), AttrTypeFactory.xs_string()] self.assertEqual(expected, actual)
def test_build_class_attribute_types(self, mock_build_inner_classes, mock_attr_types): mock_attr_types.return_value = ["xs:integer", "xs:string"] mock_build_inner_classes.return_value = [] item = ClassFactory.create() attribute = Attribute(default="false") actual = SchemaMapper.build_class_attribute_types(item, attribute) expected = [ AttrTypeFactory.native(DataType.INTEGER), AttrTypeFactory.native(DataType.STRING), ] self.assertEqual(expected, actual)
def test_build_class_attribute_types_when_obj_has_inner_class( self, mock_build_inner_classes, mock_attr_types): inner_class = ClassFactory.create(qname="foo") mock_attr_types.return_value = ["xs:integer", "xs:string"] mock_build_inner_classes.return_value = [inner_class] item = ClassFactory.create() attribute = Attribute(default="false") actual = SchemaMapper.build_class_attribute_types(item, attribute) expected = [ AttrTypeFactory.native(DataType.INTEGER), AttrTypeFactory.native(DataType.STRING), AttrTypeFactory.create(qname=inner_class.qname, forward=True), ] self.assertEqual(expected, actual) self.assertEqual([inner_class], item.inner)
def test_build_class_attribute_types_when_obj_has_inner_class( self, mock_build_inner_classes, mock_real_type): inner_class = ClassFactory.create(qname="foo") mock_real_type.return_value = " xs:integer xs:string " mock_build_inner_classes.return_value = [inner_class] item = ClassFactory.create() attribute = Attribute(default="false", index=66) actual = SchemaMapper.build_class_attribute_types(item, attribute) expected = [ AttrTypeFactory.xs_int(), AttrTypeFactory.xs_string(), AttrTypeFactory.create(qname=QName(item.qname.namespace, "foo"), forward=True), ] self.assertEqual(expected, actual) self.assertEqual([inner_class], item.inner)