コード例 #1
0
 def test_to_json(self):
     repo = self.repo
     # get an existing biography
     bios = repo.get_biographies()
     bios = list(bios)[1:4]
     merged = MergedBiography(bios)
     merged.to_dict()
コード例 #2
0
    def test_min_max_dates(self):
        bio1 = self._create_biography(naam='Lucky', birth_date='1900', death_date='1970')
        m_bio = MergedBiography([bio1])

        # we gave
        wanted = (
            datetime(1900, 1, 1),
            datetime(1900, 12, 31),
            datetime(1970, 1, 1),
            datetime(1970, 12, 31),
            )
        self.assertEqual(m_bio._get_min_max_dates(), wanted)

        bio = self._create_biography(naam='Pozzo')
        bio._add_event(type='baptism', when='1910-01-02')
        m_bio = MergedBiography([bio])

        wanted = (
            datetime(1900, 1, 2),  # at most 10 years before baptism
            datetime(1910, 1, 2),  # birth_date_max on the day of baptism
            datetime(1920, 1, 2),  # death_date at least 20 years after date_min
            datetime(2010, 1, 2),  # lived not more than 100 years
            )
        self.assertEqual(m_bio._get_min_max_dates(), wanted)

        # test with only a date of death
        bio = self._create_biography(naam='Vladimir')
        bio._add_event(type='death', when='1980-03')
        m_bio = MergedBiography([bio])

        wanted = (
            datetime(1880, 3, 1),  # min birth 100 years before min death
            datetime(1960, 3, 31),  # max birth 20 years before max death
            datetime(1980, 3, 1),
            datetime(1980, 3, 31),
            )
        self.assertEqual(m_bio._get_min_max_dates(), wanted)

        # test with only a range of date of death
        bio = self._create_biography(naam='Vladimir')
        bio._add_event(type='death', notBefore='1980-03', notAfter='1990')
        m_bio = MergedBiography([bio])

        wanted = (
            datetime(1880, 3, 1),  # min birth 100 years before min death
            datetime(1970, 12, 31),  # max birth 20 years before max death
            datetime(1980, 3, 1),
            datetime(1990, 12, 31),
            )
        self.assertEqual(m_bio._get_min_max_dates(), wanted)
コード例 #3
0
    def test_biography(self):
        repo = self.repo
        # get an existing biography
        bios = repo.get_biographies()
        bios = list(bios)[1:4]
        merged = MergedBiography(bios)
        bios = merged.get_biographies()
        ls = []
        for bio in bios:
            ls += bio.get_names()
        assert ls
        self.assertEqual(len(merged.get_names()), len(ls))
        self.assertEqual(set([n.to_string() for n in merged.get_names()]), set([n.to_string() for n in ls]))

        # check if the default value works
        self.assertEqual(len(merged.get_illustrations(default=['123'])), 1)

        for bio in bios:
            bio.set_value('geboortedatum', '')
            self.assertEqual(bio.get_value('geboortedatum'), None)
        self.assertEqual(merged.get_value('geboortedatum'), None)
        # if dates are consistent with each other, they "add up"
        bios[-1].set_value('geboortedatum', '2000')
        self.assertEqual(merged.get_value('geboortedatum'), '2000')
        bios[-2].set_value('geboortedatum', '2000-02')
        self.assertEqual(merged.get_value('geboortedatum'), '2000-02')
        bios[-3].set_value('geboortedatum', '2000-02-01')
        self.assertEqual(merged.get_value('geboortedatum'), '2000-02-01')
        self.assertEqual(merged.geboortedatum(), '2000-02-01')
        bios[-3].add_or_update_event(type='birth', when='', date_text='ongeveer')  # , notBefore=notBefore, notAfter=notAfter, place=place)

        self.assertEqual(merged.geboortedatum(), 'ongeveer', etree.tostring(merged.get_event('birth')))  # @UndefinedVariable

        # test if all relevaent information ends up in the "merged biodes" file
        bios[-3].set_value('geboortedatum', '2000-02-01')

        doc = merged.to_xml()
        self.assertEqual(doc.get_value('geboortedatum'), '2000-02-01', doc.to_string())
        self.assertEqual(doc.get_value('birth_date'), '2000-02-01')