def test_class_nested_array(self): peeps = [] names = ['bob', 'jim', 'peabody', 'mumblesleves'] for name in names: a = Person() a.name = name a.birthdate = datetime.datetime(1979, 1, 1) a.age = 27 a.addresses = [] for i in range(0, 25): addr = Address() addr.street = '555 downtown' addr.city = 'funkytown' a.addresses.append(addr) peeps.append(a) serializer = Array(Person) serializer.resolve_namespace(serializer,__name__) element = etree.Element('test') serializer.to_xml(peeps, ns_test, element) element = element[0] self.assertEquals(4, len(element.getchildren())) peeps2 = serializer.from_xml(element) for peep in peeps2: self.assertEquals(27, peep.age) self.assertEquals(25, len(peep.addresses)) self.assertEquals('funkytown', peep.addresses[18].city)
def test_array_empty(self): serializer = Array(String) serializer.resolve_namespace(serializer,"zbank") values = [] element = etree.Element('test') serializer.to_xml(values, ns_test, element) element = element[0] self.assertEquals(len(values), len(element.getchildren())) values2 = serializer.from_xml(element) self.assertEquals(len(values2), 0)
def test_class_array(self): peeps = [] names = ['bob', 'jim', 'peabody', 'mumblesleves'] for name in names: a = Person() a.name = name a.birthdate = datetime.datetime(1979, 1, 1) a.age = 27 peeps.append(a) serializer = Array(Person) serializer.resolve_namespace(serializer,__name__) element = etree.Element('test') serializer.to_xml(peeps, ns_test, element) element = element[0] self.assertEquals(4, len(element.getchildren())) peeps2 = serializer.from_xml(element) for i in range(0, 4): self.assertEquals(peeps2[i].name, names[i]) self.assertEquals(peeps2[i].birthdate, datetime.datetime(1979, 1, 1))