示例#1
0
 def test_replace_name(self):
     doc = BioDesDoc().from_xml(self.create_element())
     naam = Name('Pietje Een')
     doc._add_a_name(naam)
     naam = Name('Pietje Twee')
     doc._add_a_name(naam)
     self.assertEqual(len(doc.get_names()), 3)
     
     new_naam = Name('Newt Newman')
     self.assertEqual(new_naam.to_string(),
         u'<persName>Newt Newman</persName>') 
     doc._replace_name(new_naam, 1)
     self.assertEqual(doc.get_names()[1].to_string(), new_naam.to_string())
示例#2
0
    def test_relations(self):
        doc = BioDesDoc().from_xml(self.create_element())
        doc.add_relation(person="Kwik", relation="partner")
        doc.add_relation(person="Kwek", relation="child")
        doc.add_relation(person="Kwak", relation="father")
        doc.add_relation(person="Donald", relation="mother")
        doc.add_relation(person="Dagobert", relation="parent")
        
        self.assertEqual(doc.get_relation('partner'), ['Kwik'])
        self.assertEqual(doc.get_relation('child'), ['Kwek'])
        self.assertEqual(doc.get_relation('father'), ['Kwak'])
        self.assertEqual(doc.get_relation('mother'), ['Donald'])
        self.assertEqual(doc.get_relation('parent'), ['Dagobert'])

        #make sure we are not reading the other names
        self.assertEqual(len(doc.get_names()), 1)
        
        self.assertEqual(len(doc.get_relations()), 5)
        ls =  [(el_relation.get('name'), el_person[0].text) for (el_relation, el_person) in doc.get_relations()]
        
        self.assertTrue(('child', 'Kwek') in ls, ls)
        
        el_relation, el_person = doc.get_relations()[1]
        type = el_relation.get('name')
        name = el_person[0].text
        index = el_relation.getparent().index(el_relation)
        #see if deleting and re-adding is sane
        doc.remove_relation(index)
        self.assertEqual(len(doc.get_relations()), 4)
        doc.add_relation(person=name, relation=type)
        self.assertEqual(len(doc.get_relations()), 5)
示例#3
0
 def test_remove_name(self):
     doc = BioDesDoc().from_xml(self.create_element())
     naam = Name('Pietje Een')
     doc._add_a_name(naam)
     naam = Name('Pietje Twee')
     doc._add_a_name(naam)
     self.assertEqual(doc.get_names()[2].volledige_naam(), 'Pietje Twee', doc.get_names() )
     self.assertEqual(len(doc.get_names()), 3)
 
     doc.remove_name(1)
     self.assertEqual(len(doc.get_names()), 2)
     self.assertEqual(doc.get_names()[1].volledige_naam(), 'Pietje Twee', doc.get_names() )
示例#4
0
 def test_get_names(self):
     url = os.path.join(this_dir, 'bio.xml')
     doc = BioDesDoc().from_url(url)
     self.assertEqual(len(doc.get_names()), 1)
     n = doc.get_names()[0]
     self.assertEqual(u'C. van Heynsbergen', n.volledige_naam())