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) arr = Array(Person) arr.resolve_namespace(arr, __name__) element = etree.Element('test') XmlDocument().to_parent(None, arr, peeps, element, ns_test) element = element[0] self.assertEquals(4, len(element.getchildren())) peeps2 = XmlDocument().from_element(None, arr, 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_class_array(self): peeps = [] names = ['bob', 'jim', 'peabody', 'mumblesleeves'] dob = datetime.datetime(1979, 1, 1, tzinfo=pytz.utc) for name in names: a = Person() a.name = name a.birthdate = dob a.age = 27 peeps.append(a) type = Array(Person) type.resolve_namespace(type, __name__) element = etree.Element('test') XmlDocument().to_parent(None, type, peeps, element, ns_test) element = element[0] self.assertEquals(4, len(element.getchildren())) peeps2 = XmlDocument().from_element(None, type, element) for i in range(0, 4): self.assertEquals(peeps2[i].name, names[i]) self.assertEquals(peeps2[i].birthdate, dob)
def test_array_empty(self): type = Array(String) type.resolve_namespace(type, "zbank") values = [] element = etree.Element('test') XmlDocument().to_parent(None, type, values, element, ns_test) element = element[0] self.assertEquals(len(values), len(element.getchildren())) values2 = XmlDocument().from_element(None, type, element) self.assertEquals(len(values2), 0)