def test_correspondingEntries_us26(self):
     from Family import Family
     from Individual import Individual
     list1 = {
         'A1': Individual('A1', spouseFamily='B2'),  #husband
         'A2': Individual('A2', spouseFamily='B2'),  #wife
         'A5': Individual('A5', childFamily='B2')
     }  #child
     #Family's husband does not have the same listed as his spouse Family:
     list2 = {'B1': Family('B1', husband='A1', wife='A5')}
     self.assertTrue(correspondingEntries_us26(list2['B1'], list1))
     #Family's wife does not have the same listed as her spouse Family:
     list2 = {'B1': Family('B1', husband='A5', wife='A1')}
     self.assertTrue(correspondingEntries_us26(list2['B1'], list1))
     #Family's child does not have the same listed as his/her child Family:
     list2 = {'B2': Family('B1', husband='A1', wife='A2')}
     list2['B2'].setChildren('A5')
     self.assertTrue(correspondingEntries_us26(list2['B2'], list1))
     #All the roles match in individual and family tables:
     list1 = {
         'A1': Individual('A1', spouseFamily='B1'),
         'A2': Individual('A2', spouseFamily='B1'),
         'A5': Individual('A5', childFamily='B1')
     }
     self.assertFalse(correspondingEntries_us26(list2['B2'], list1))
예제 #2
0
def reset():
	Global.max_level = 1
	Global.savings = 10


	Global.family_list = [Family("Brother", 6), Family("Wife", 4), Family("Son", 5), Family("Mother-in-Law", 2),
						  Family("Uncle", 3)]
    def test_marriedToDescendants_us17(self):
        from Individual import Individual
        from Family import Family
        list1 = {
            'A1': Individual('A1', spouseFamily='B1'),
            'A3': Individual('A1', spouseFamily='NA'),
            'A4': Individual('A1', spouseFamily='NA'),
            'A5': Individual('A1', spouseFamily='B2'),
            'A7': Individual('A1', spouseFamily='NA'),
            'A8': Individual('A1', spouseFamily='B3')
        }

        #Parent married to child
        list2 = {
            'B1': Family('B1', husband='A1', wife='A2'),
            'B2': Family('B2', husband='A1', wife='A5')
        }
        children = ['A3', 'A4', 'A5']
        for child in children:
            list2['B1'].setChildren(child)
        self.assertTrue(marriedToDescendants_us17(list1['A1'], list1, list2))

        #Parent married to grand child
        list3 = {
            'B1': Family('B1', husband='A1', wife='A2'),
            'B2': Family('B2', husband='A3', wife='A6'),
            'B3': Family('B3', husband='A1', wife='A8')
        }
        children = ['A3', 'A4', 'A5']
        for child in children:
            list3['B1'].setChildren(child)
        grandChildren = ['A7', 'A8']
        for grandChild in grandChildren:
            list3['B2'].setChildren(grandChild)
        self.assertTrue(marriedToDescendants_us17(list1['A1'], list1, list3))
 def test_checkBirthBeforeMarriageOfParents_us08(self):
     from Family import Family
     from Individual import Individual
     self.assertEqual(
         checkBirthBeforeMarriageOfParents_us08(
             Family(self, 10, marriage='1945-10-05'),
             Individual(self, 10, birthday='1915-10-05')), False)
     self.assertTrue(
         checkBirthBeforeMarriageOfParents_us08(
             Family(self, 10, marriage='1945-10-05', divorce='1955-10-05'),
             Individual(self, 10, birthday='1947-10-05',
                        death='1975-03-10')))
 def test_firstCousinsMarried_us19(self):
     from Individual import Individual
     from Family import Family
     list1 = {
         'A1': Individual('A1', childFamily='B1'),
         'A2': Individual('A1'),
         'A3': Individual('A3', childFamily='B1', spouseFamily='B3'),
         'A4': Individual('A4', childFamily='B2', spouseFamily='B4')
     }
     #Married to first cousin
     list2 = {
         'B1': Family('B1'),
         'B2': Family('B2', husband='A1', wife='A2'),
         'B3': Family('B3', husband='A3'),
         'B4': Family('B4', husband='A4', wife='A5')
     }
     children = ['A1', 'A3']
     for child in children:
         list2['B1'].setChildren(child)
     list2['B2'].setChildren('A4')
     cousins = ['A5', 'A6']
     for cousin in cousins:
         list2['B3'].setChildren(cousin)
     self.assertTrue(firstCousinsMarried_us19(list1['A4'], list1, list2))
     #Not married to first cousin
     list3 = {
         'B1': Family('B1'),
         'B2': Family('B2', husband='A1', wife='A2'),
         'B3': Family('B3'),
         'B4': Family('B4', husband='A4', wife='A7')
     }
     self.assertFalse(firstCousinsMarried_us19(list1['A4'], list1, list3))
예제 #6
0
def simulate_stream(stream):
    current_family = None
    simulator = Simulator()
    reader = csv.DictReader(stream, delimiter=',')
    result = {}
    for row in reader:
        person = person_from_row(row)

        if current_family is None:
            current_family = Family(person.familiy_id)

        if current_family.ID == person.familiy_id:
            current_family.add_person(person)
        else:
            result.update(
                zip([v.ID for v in current_family.persons],
                    simulator.simulate('GG_270_mensual', '2017-1',
                                       current_family)))

            current_family = Family(person.familiy_id)
            current_family.add_person(person)
        result.update(
            zip([v.ID for v in current_family.persons],
                simulator.simulate('GG_270_mensual', '2017-1',
                                   current_family)))
    return result
예제 #7
0
    def test_marriage_invalid(self):
        p1_dict = {
            'INDI': 'I0',
            'NAME': 'Person /One',
            'SEX': 'M',
            'BIRT': '8 Jan 1972',
            'FAM': 'F0'
        }
        p2_dict = {
            'INDI': 'I1',
            'NAME': 'Person /Two',
            'SEX': 'F',
            'BIRT': '11 Aug 1973',
            'FAM': 'F0'
        }
        p3_dict = {
            'INDI': 'I2',
            'NAME': 'Pperson /One',
            'SEX': 'F',
            'BIRT': '23 Apr 2000',
            'FAM': ['F0', 'F1']
        }
        p4_dict = {
            'INDI': 'I3',
            'NAME': 'Personn /One',
            'SEX': 'M',
            'BIRT': '20 Mar 2001',
            'FAM': ['F0', 'F1']
        }

        husband1 = Individual.instance_from_dict(p1_dict)
        wife1 = Individual.instance_from_dict(p2_dict)
        child1 = Individual.instance_from_dict(p3_dict)
        child2 = Individual.instance_from_dict(p4_dict)
        fam_dict = {
            'FAM': 'F0',
            'HUSB': husband1,
            'WIFE': wife1,
            'MARR': '15 Mar 1994',
            'CHIL': [child1, child2],
        }
        fam_dict2 = {
            'FAM': 'F1',
            'HUSB': child2,
            'WIFE': child1,
            'MARR': '15 Jul 2018',
        }
        Family.instance_from_dict(fam_dict2)
        self.assertTrue(Family.instance_from_dict(fam_dict).anomalies)
예제 #8
0
 def test_is_marriage_fourteen_years_after_parents_birth(self):
     wife = Person()
     wife.set_birthday("1 JAN 1910")
     wife.name = "Kim"
     husband = Person()
     husband.set_birthday("1 JAN 1910")
     husband.name = "Joe"
     family = Family("1")
     family.husband = husband
     family.wife = wife
     family.set_marriage_date("1 JAN 1923")
     self.assertFalse(
         family.is_marriage_fourteen_years_after_parents_birth())
     family.set_marriage_date("1 JAN 1925")
     self.assertTrue(
         family.is_marriage_fourteen_years_after_parents_birth())
 def test_checkBirthNotAfter9MonthsDivorce_us08(self):
     from Family import Family
     from Individual import Individual
     self.assertEqual(
         checkBirthNotAfter9MonthsDivorce_us08(
             Family(self, 10, marriage='1945-10-05', divorce='1955-10-05'),
             Individual(self, 10, birthday='1957-10-05')), False)
     self.assertEqual(
         checkBirthNotAfter9MonthsDivorce_us08(
             Family(self, 10, marriage='1945-10-05', divorce='1955-10-05'),
             Individual(self, 10, birthday='1955-11-05')), True)
     self.assertTrue(
         checkBirthNotAfter9MonthsDivorce_us08(
             Family(self, 10, marriage='1945-10-05', divorce='1955-10-05'),
             Individual(self, 10, birthday='1947-10-05',
                        death='1975-03-10')))
 def test_siblingSpacing_us13(self):
     from Individual import Individual
     from Family import Family
     list1 = {'B1': Family('B1')}
     children = ['A3', 'A4', 'A5']
     for child in children:
         list1['B1'].setChildren(child)
     #Spacing violated by less than 8 months condition
     list2 = {
         'A3': Individual('A1', birthday='1980-01-01'),
         'A4': Individual('A2', birthday='1987-02-05'),
         'A5': Individual('A3', birthday='1980-07-01')
     }
     self.assertTrue(siblingSpacing_us13(list1['B1'], list2))
     #Spacing violated by more than 2 days condition
     list3 = {
         'A3': Individual('A1', birthday='1980-01-01'),
         'A4': Individual('A2', birthday='1987-02-05'),
         'A5': Individual('A3', birthday='1980-01-03')
     }
     self.assertTrue(siblingSpacing_us13(list1['B1'], list2))
     #Spacing not violated
     list4 = {
         'A3': Individual('A1', birthday='1980-01-01'),
         'A4': Individual('A2', birthday='1987-02-05'),
         'A5': Individual('A3', birthday='1984-01-03')
     }
     self.assertFalse(siblingSpacing_us13(list1['B1'], list4))
예제 #11
0
    def test_both_invalid(self):
        p1_dict = {
            'INDI': 'I0',
            'NAME': 'Person /One',
            'SEX': 'F',
            'BIRT': '28 Feb 1980',
            'FAM': 'F0'
        }
        p2_dict = {
            'INDI': 'I1',
            'NAME': 'Person /Two',
            'SEX': 'M',
            'BIRT': '13 Feb 1980',
            'FAM': 'F0'
        }

        husband = Individual.instance_from_dict(p1_dict)
        wife = Individual.instance_from_dict(p2_dict)
        fam_dict = {
            'FAM': 'F0',
            'HUSB': husband,
            'WIFE': wife,
            'MARR': '15 Mar 2002',
        }

        self.assertTrue(
            len(Family.instance_from_dict(fam_dict).anomalies) == 2)
 def test_checkBigamy_us11(self):
     from Individual import Individual
     from Family import Family
     #No bigamy
     list1 = {
         'A1': Individual('A1', 'NA', 'M', 'NA', 'NA', 'NA', 'NA', 'B1'),
         'A2': Individual('A2', 'NA', 'F', 'NA', 'NA', 'NA', 'NA', 'B1'),
         'A3': Individual('A3', 'NA', 'F', 'NA', 'NA', 'NA', 'NA', 'B2')
     }
     list2 = {
         'B1':
         Family('B1',
                husband='A1',
                wife='A2',
                marriage=formatDate('31 JAN 1969'),
                divorce=formatDate('16 NOV 1980')),
         'B2':
         Family('B2',
                husband='A1',
                wife='A3',
                marriage=formatDate('1 JAN 1982'),
                divorce='NA')
     }
     self.assertFalse(checkBigamy_us11(list1['A1'], list1, list2))
     #Bigamy
     list3 = {
         'A1': Individual('A1', 'NA', 'M', 'NA', 'NA', 'NA', 'NA', 'B1'),
         'A2': Individual('A2', 'NA', 'F', 'NA', 'NA', 'NA', 'NA', 'B1'),
         'A3': Individual('A3', 'NA', 'F', 'NA', 'NA', 'NA', 'NA', 'B2')
     }
     list4 = {
         'B1':
         Family('B1',
                husband='A1',
                wife='A2',
                marriage=formatDate('31 JAN 1969'),
                divorce=formatDate('16 NOV 1980')),
         'B2':
         Family('B2',
                husband='A1',
                wife='A3',
                marriage=formatDate('6 AUG 1979'),
                divorce='NA')
     }
     self.assertTrue(checkBigamy_us11(list3['A1'], list3, list4))
예제 #13
0
 def test_illegitimate_date_div(self):
     data = [
         '0 @<US04>F1@ FAM', '1 HUSB @<US04>I2@', '1 WIFE @<US04>I3@',
         '1 CHIL @<US04>I1@', '1 CHIL @<US04>I4@', '1 CHIL @<US04>I5@',
         '1 CHIL @<US04>I6@', '1 MARR', '2 DATE 30 APR 1960', '1 DIV',
         '2 DATE 31 NOC 1967', '1 _CURRENT Y'
     ]
     with self.assertRaises(ValueError):
         self.indi = Family(data)
예제 #14
0
 def test_parents_not_too_old(self):
     """US 12 Mother should be less than 60 years older than her children and
      father should be less than 80 years older than his children"""
     mother = Person()
     father = Person()
     mother.age = 80
     father.age = 100
     test_fam = Family()
     test_fam.add_wife(mother)
     test_fam.add_husband(father)
     child = Person()
     child.age = 2
     test_fam.add_child(
         child)  # should not work since we break the age limit for mother
     child.age = 22
     test_fam.add_child(
         child)  # should not work since we break the age limit for father
     self.assertTrue(len(test_fam.children) == 0)
     return
    def test_List_large_age_difference_US34(self):
        from Individual import Individual
        from Family import Family
        list1 = {
            'A1': Individual('A1', age='106'),
            'A2': Individual('A1', age='39')
        }

        list2 = {'B1': Family('B1', husband='A1', wife='A2')}

        self.assertFalse(List_large_age_difference_US34(list1, list2))
예제 #16
0
 def setUp(self):
     self.indi = Individual()
     self.indi.addID('@I2@')
     self.indi.addName('John Rivas')
     self.indi.addSex('M')
     self.indi.addBirt('9 MAY 1978')
     self.indi.addDeat('12 APR 2013')
     self.indi.addFams('@F2@')
     self.indi.addFamc('@F1@')
     self.fam1 = Family()
     self.fam1.addFamID('@F2@')
     self.fam1.addHusb('@I1@')
     self.fam1.addWife('@I2@')
     self.fam1.addChil('@I4@')
     self.fam1.addChil('@I5@')
     self.fam1.addMarr('5 OCT 1999')
     self.fam1.addDiv('12 JUN 2012')
     self.fam2 = Family()
     self.fam2.addFamID('@F3@')
     self.fam2.addHusb('@I3@')
     self.fam2.addWife('@I3@')
예제 #17
0
 def test_is_birth_before_death_of_parents(self):
     wife = Person()
     wife.set_birthday("1 JAN 1910")
     wife.name = "Kim"
     wife.set_death("16 MAR 1952")
     child = Person()
     child.name = "Sally"
     child.set_birthday("17 MAR 1952")
     family = Family("1")
     family.wife = wife
     family.add_child(child)
     self.assertFalse(family.is_birth_before_death_of_parents())
     husband = Person()
     husband.set_birthday("1 JAN 1910")
     husband.name = "Joe"
     husband.set_death("5 JAN 1952")
     family.add_husband(husband)
     family.wife.set_death("10 MAR 1970")
     self.assertTrue(family.is_birth_before_death_of_parents())
     family.husband.set_death("5 APR 1951")
     self.assertFalse(family.is_birth_before_death_of_parents())
예제 #18
0
 def setUp(self):
     self.indi = Individual()
     self.indi.addID('@I2@')
     self.indi.addName('John Rivas')
     self.indi.addSex('M')
     self.indi.addBirt('9 MAY 1978')
     self.indi.addDeat('12 APR 2013')
     self.indi.addFams('@F2@')
     self.indi.addFamc('@F1@')
     self.fam1 = Family()
     self.fam1.addFamID('@F2@')
     self.fam1.addHusb('@I1@')
     self.fam1.addWife('@I2@')
     self.fam1.addChil('@I4@')
     self.fam1.addChil('@I5@')
     self.fam1.addMarr('5 OCT 1999')
     self.fam1.addDiv('12 JUN 2012')
     self.fam2 = Family()
     self.fam2.addFamID('@F3@')
     self.fam2.addHusb('@I3@')
     self.fam2.addWife('@I3@')
예제 #19
0
    def __init__(self, name, gender, parents, familyKind, max_health, lifespan,
                 strength, defense, speed):
        Animal.__init__(self, gender, max_health, lifespan, strength, defense,
                        speed)
        self.name = name
        self.mother = parents[0]
        self.father = parents[1]
        if self.father:
            self.family = self.father.family
        elif self.mother:
            self.family = self.mother.family
        else:
            family_name = self.species.familyNames.pop(
                random.randint(0,
                               len(self.species.familyNames) - 1))
            if family_name in Family.familyDict:
                self.family = Family.familyDict[family_name]
            else:
                self.family = Family(family_name, familyKind)
        self.family.add_member(self)
        self.full_name = self.name + " " + self.family.name

        self.title = self.species.numeralTitles[len([
            member for member in self.family.members
            if member.name == self.name and member is not self
        ])]
        self.title_index = 0
        if self.title:
            self.full_name += " " + self.title

        self._strength, self._defense, self._speed = self.strength, self.defense, self.speed
        self.strength, self.defense, self.speed = 3, 3, 3
        self.strength_dealt, self.defense_dealt, self.speed_dealt = 0, 0, 0
        self.kills = []

        # Equipment format: [1 head, 1 torso, 2 arms, 2 hands, 2 legs, 2 feet]
        self.inventory = Inventory(self, self.species.blocked_items, 1, 1, 2,
                                   2, 2, 2)

        self.skills = Skillsets(self, self.species.skill_specialties)
 def test_List_orphans_US33(self):
     from Individual import Individual
     from Family import Family
     list1 = {
         'A1': Individual('A1', death='1960-12-10'),
         'A2': Individual('A1', death='1960-12-11'),
         'A3': Individual('A1', birthday='1993-12-09')
     }
     list2 = {'B1': Family('B1', husband='A1', wife='A2')}
     children = ['A3']
     for child in children:
         list2['B1'].setChildren(child)
     self.assertFalse(List_orphans_US33(list1, list2))
 def test_marriedToSiblings_us18(self):
     from Individual import Individual
     from Family import Family
     #Married to sibling
     list1 = {'A3': Individual('A3', childFamily='B1', spouseFamily='B2')}
     list2 = {
         'B1': Family('B1', husband='A1', wife='A2'),
         'B2': Family('B2', husband='A3', wife='A5')
     }
     children = ['A3', 'A4', 'A5']
     for child in children:
         list2['B1'].setChildren(child)
     self.assertTrue(marriedToSiblings_us18(list1['A3'], list2))
     #Not married to sibling
     list3 = {
         'B1': Family('B1', husband='A1', wife='A2'),
         'B2': Family('B2', husband='A3', wife='A6')
     }
     children = ['A3', 'A4', 'A5']
     for child in children:
         list3['B1'].setChildren(child)
     self.assertFalse(marriedToSiblings_us18(list1['A3'], list3))
 def test_orderSiblings_us28(self):
     from Family import Family
     from Individual import Individual
     list1 = {
         'A1': Individual('A1', childFamily='B1', age='48'),
         'A2': Individual('A2', childFamily='B1', age='31'),
         'A3': Individual('A3', childFamily='B1', age='37')
     }
     list2 = {'B1': Family('B1')}
     children = ['A1', 'A2', 'A3']
     for child in children:
         list2['B1'].setChildren(child)
     self.assertEqual(orderSiblings_us28(list2['B1'], list1), 'B1 A1 A3 A2')
 def test_Recent_surviors_US37(self):
     from Individual import Individual
     from Family import Family
     list1 = {
         'A1': Individual('A1', death='2017-10-29'),
         'A2': Individual('A1', birthday='1960-03-12'),
         'A3': Individual('A1', birthday='1993-03-12')
     }
     list2 = {'B1': Family('B1', husband='A1', wife='A2')}
     children = ['A3']
     for child in children:
         list2['B1'].setChildren(child)
     self.assertFalse(Recent_surviors_US37(list1, list2))
예제 #24
0
    def test_invalid_first_names(self):
        p1_dict = {
            'INDI': 'I0',
            'NAME': 'James /Bond',
            'SEX': 'M',
            'BIRT': '8 Jan 1972',
            'FAM': 'F0'
        }
        p2_dict = {
            'INDI': 'I0',
            'NAME': 'Sarah /Bond',
            'SEX': 'F',
            'BIRT': '11 Aug 1973',
            'FAM': 'F0'
        }
        p3_dict = {
            'INDI': 'I1',
            'NAME': 'Jill /Bond',
            'SEX': 'F',
            'BIRT': '23 Apr 2000',
            'FAM': 'F0'
        }
        p4_dict = {
            'INDI': 'I1',
            'NAME': 'John /Bond',
            'SEX': 'M',
            'BIRT': '20 Mar 2001',
            'FAM': 'F0'
        }
        p5_dict = {
            'INDI': 'I1',
            'NAME': 'John /Bond',
            'SEX': 'M',
            'BIRT': '20 Mar 2001',
            'FAM': 'F0'
        }

        husband = Individual.instance_from_dict(p1_dict)
        wife = Individual.instance_from_dict(p2_dict)
        child1 = Individual.instance_from_dict(p3_dict)
        child2 = Individual.instance_from_dict(p4_dict)
        child3 = Individual.instance_from_dict(p5_dict)
        fam_dict = {
            'FAM': 'F0',
            'HUSB': husband,
            'WIFE': wife,
            'MARR': '15 Mar 1994',
            'CHIL': [child1, child2, child3],
        }

        self.assertTrue(Family.instance_from_dict(fam_dict).anomalies)
 def test_correct_gender_for_role_US21(self):
     from Individual import Individual
     from Family import Family
     ls1 = {
         'A1': Individual('A1', 'NA', 'F', 'NA', 'NA', 'NA', 'NA', 'F1'),
         'A2': Individual('A2', 'NA', 'M', 'NA', 'NA', 'NA', 'NA', 'F1'),
     }
     ls2 = {
         'F1':
         Family('F1',
                husband='A1',
                wife='A2',
                marriage=formatDate('16 MAR 1990'),
                divorce='NA')
     }
     self.assertFalse(correct_gender_for_role_US21(ls1['A1'], ls2))
 def test_List_living_married_US30(self):
     from Individual import Individual
     from Family import Family
     ls1 = {
         'A1': Individual('A1', 'NA', 'F', 'NA', 'NA', 'NA', 'NA', 'F1'),
         'A2': Individual('A2', 'NA', 'M', 'NA', 'NA', 'NA', 'NA', 'F1'),
     }
     ls2 = {
         'F1':
         Family('F1',
                husband='A1',
                wife='A2',
                marriage=formatDate('16 MAR 1990'),
                divorce='NA')
     }
     self.assertFalse(List_living_married_US30(ls1['A1'], ls2))
예제 #27
0
 def test_parents_married_to_children(self):
     kid1 = Person()
     kid1.set_ID("@02@")
     kid1.spouse = "@01@"
     family = Family("@f1@")
     family.add_child(kid1)
     wife = Person()
     wife.spouse = "@02@"
     wife.set_ID("05")
     family.wife = wife
     husband = Person()
     husband.set_spouse("05")
     family.husband = husband
     self.assertTrue(family.parents_married_to_children())
예제 #28
0
def publish_rows(reader, tasks):
    current_family = None
    row_number = 0
    for row in reader:
        person = person_from_row(row)

        if current_family is None:
            current_family = Family(person.familiy_id)

        if current_family.ID == person.familiy_id:
            current_family.add_person(person)
        else:
            tasks.put(current_family)
            current_family = Family(person.familiy_id)
            current_family.add_person(person)
        row_number += 1
        if row_number % 10000 == 0:
            logger.info(row_number)
    tasks.put(current_family)
예제 #29
0
 def test_children_married_to_each_other(self):
     kid1 = Person()
     kid1.id = "@02@"
     kid1.spouse = "@01@"
     kid2 = Person()
     kid2.id = "@01@"
     family = Family("@f1@")
     family.add_child(kid1)
     family.add_child(kid2)
     self.assertTrue(family.children_married_to_each_other())
     kid1.spouse = "@05@"
     self.assertFalse(family.children_married_to_each_other())
    def test_List_upcoming_anniversries_US39(self):
        from Individual import Individual
        from Family import Family
        list1 = {
            'A1': Individual('A1', age='106'),
            'A2': Individual('A1', age='39')
        }

        list2 = {
            'B1':
            Family('B1',
                   husband='A1',
                   wife='A2',
                   marriage='1960-12-03',
                   divorce='NA')
        }

        self.assertFalse(List_upcoming_anniversries_US39(list2['B1']))
예제 #31
0
 def test_kids_have_same_name(self):
     kid1 = Person()
     kid1.set_name("Joe")
     kid1.set_birthday("1 JAN 1923")
     kid2 = Person()
     kid2.set_name("Joe")
     kid2.set_birthday("1 JAN 1923")
     family = Family("id")
     family.add_child(kid1)
     family.add_child(kid2)
     self.assertFalse(family.kids_have_same_name())
     kid2.name = "Bill"
     self.assertTrue(family.kids_have_same_name())
예제 #32
0
class GedcomTest(unittest.TestCase):

    def setUp(self):
        self.indi = Individual()
        self.indi.addID('@I2@')
        self.indi.addName('John Rivas')
        self.indi.addSex('M')
        self.indi.addBirt('9 MAY 1978')
        self.indi.addDeat('12 APR 2013')
        self.indi.addFams('@F2@')
        self.indi.addFamc('@F1@')
        self.fam1 = Family()
        self.fam1.addFamID('@F2@')
        self.fam1.addHusb('@I1@')
        self.fam1.addWife('@I2@')
        self.fam1.addChil('@I4@')
        self.fam1.addChil('@I5@')
        self.fam1.addMarr('5 OCT 1999')
        self.fam1.addDiv('12 JUN 2012')
        self.fam2 = Family()
        self.fam2.addFamID('@F3@')
        self.fam2.addHusb('@I3@')
        self.fam2.addWife('@I3@')

    def test_getID(self):
        ID = '@I2@'
        self.assertEqual(self.indi.getID(), ID)

    def test_getName(self):
        NAME = 'John Rivas'
        self.assertEqual(self.indi.getName(), NAME)

    def test_getSex(self):
        SEX = 'M'
        self.assertEqual(self.indi.getSex(), SEX)

    def test_getBirt(self):
        BIRT = '9 MAY 1978'
        self.assertEqual(self.indi.getBirt(), BIRT)

    def test_getDeat(self):
        DEAT = '12 APR 2013'
        self.assertEqual(self.indi.getDeat(), DEAT)

    def test_getFams(self):
        FAMS = '@F2@'
        self.assertEqual(self.indi.getFams(), FAMS)

    def test_getFamc(self):
        FAMC = '@F1@'
        self.assertEqual(self.indi.getFamc(), FAMC)

    def test_getFamID(self):
        FAMID = '@F2@'
        self.assertEqual(self.fam1.getFamID(), FAMID)

    def test_getHusb(self):
        HUSB = "@I1@"
        self.assertEqual(self.fam1.getHusb(), HUSB)

    def test_getWife(self):
        WIFE = "@I2@"
        self.assertEqual(self.fam1.getWife(), WIFE)

    def test_getChil(self):
        CHIL = ['@I4@', '@I5@']
        self.assertEqual(self.fam1.getChil(), CHIL)

    def test_getMarr(self):
        MARR = '5 OCT 1999'
        self.assertEqual(self.fam1.getMarr(), MARR)

    def test_getDiv(self):
        DIV = '12 JUN 2012'
        self.assertEqual(self.fam1.getDiv(), DIV)

    def test_checkSameHusbWife(self):
        self.assertTrue(checkSameHusbWife(self.fam2))