def test_us_23_positive(self):
     """
     Validate that if a family contains an invalid id, regardless of where you are in the script, false is returned
     """
     gedcom_data = parse_gedcom_file("./sampledata/basetestdata.ged")
     individuals = gedcom_data[1]
     # Assert that this file contains duplicate individuals
     self.assertTrue(unique_name_b_date(individuals))
 def test_us_38(self):
     """
     Validate that there are upcoming birthdays for 2/21/2017 in this file.
     """
     gedcom_data = parse_gedcom_file("./sampledata/us25testdata.ged")
     individuals = gedcom_data[1]
     # Assert that this file contains upcoming birthdays for febraury.
     today = datetime.datetime.strptime("02 21 2017", '%m %d %Y')
     self.assertTrue(find_upcoming_birthdays(individuals, today=today))
 def test_us_38_neg(self):
     """
     Validate that there are NO upcoming birthdays for 12/21/2017 in this file.
     """
     gedcom_data = parse_gedcom_file("./sampledata/us25testdata.ged")
     individuals = gedcom_data[1]
     # Assert that this file contains NO upcoming birthdays for december.
     today = datetime.datetime.strptime("12 21 2017", '%m %d %Y')
     self.assertFalse(find_upcoming_birthdays(individuals, today=today))
Exemple #4
0
 def test_husband_is_14(self):
     """
     Validate that the husband is at least 14
     """
     gedcom_data = parse_gedcom_file("./sampledata/us10testdata.ged")
     families = gedcom_data[0]
     for fam_id in gedcom_data[0]:
         family = families[fam_id]
         self.assertFalse(family.husband_is_over_14(gedcom_data[1]))
Exemple #5
0
 def test_living_marrried(self):
     """
     Lists all living married people
     """
     gedcom_data = parse_gedcom_file("./sampledata/us30testdata.ged")
     famil = gedcom_data[0]
     individ = gedcom_data[1]
     for fam_id in gedcom_data[0]:
         family = famil[fam_id]
     self.assertTrue(family.validate_living_married(individ, famil))
 def test_marriage_before_divorce(self):
     """
     Validate if divorce date has happened before marriage date
     """
     gedcom_data = parse_gedcom_file("./sampledata/us04testdata.ged")
     for family in gedcom_data[0]:
         if gedcom_data[0].get(family).married != "NA" or gedcom_data[
                 0].get(family).divorced != "NA":
             self.assertTrue(gedcom_data[0].get(
                 family).validate_marriage_divorce_date())
Exemple #7
0
 def test_living_single_over_30(self):
     """
     Lists all living single people over 30
     """
     gedcom_data = parse_gedcom_file("./sampledata/us30testdata.ged")
     famil = gedcom_data[0]
     individ = gedcom_data[1]
     for individual_id in gedcom_data[1]:
         individual = individ[individual_id]
     self.assertTrue(individual.validate_living_single_over_30(individ, famil))
Exemple #8
0
 def test_marriage_descendants(self):
     """
     Validate if a family member has married their own descendants
     """
     gedcom_data = parse_gedcom_file("./sampledata/us17testdata.ged")
     for individual in gedcom_data[1]:
         spouse_ids = gedcom_data[1].get(individual).spouse
         for id in spouse_ids:
             self.assertTrue(
                 gedcom_data[1].get(individual).validate_spouse(id))
Exemple #9
0
 def test_integration(self):
     """
     This is a sanity check on the integration with some sample data.
     Verify that Cheryl is F and Jimmy is M.
     """
     gedcom_data = parse_gedcom_file("./sampledata/us21testdata.ged")
     families = gedcom_data[0]
     individuals = gedcom_data[1]
     for fam_id in families:
         family = families[fam_id]
         self.assertTrue(family.validate_husb_role(individuals))
         self.assertTrue(family.validate_wife_role(individuals))
 def test_us_25_hs4(self):
     """
     Validate that if a family contains an invalid id, regardless of where you are in the script, false is returned
     """
     gedcom_data = parse_gedcom_file("./sampledata/us25testdata.ged")
     for family in gedcom_data[0]:
         children_ids = gedcom_data[0].get(family).children
         for id in children_ids:
             if id in gedcom_data[1]:
                 gedcom_data[1].get(id)
                 if id == "hs4":
                     self.assertFalse(gedcom_data[0].get(family).validate_children(gedcom_data[1]))
 def test_us_02(self):
     """
     Validate Birthday does not occur before Marriage
     """
     gedcom_data = parse_gedcom_file("./sampledata/basetestdata.ged")
     families = gedcom_data[0]
     individuals = gedcom_data[1]
     results = []
     for fam_id in families:
         family = families[fam_id]
         result = family.birth_before_marriage(individuals)
         if not result:
             results.append(result)
     self.assertTrue(results == [])
 def test_us_01_marriages(self):
     """
     Validate Dates are not before current date.
     """
     gedcom_data = parse_gedcom_file("./sampledata/basetestdata.ged")
     families = gedcom_data[0]
     dates = []
     for fam_id in families:
         family = families[fam_id]
         result = family.verify_date_not_future(fam_id, family.married,
                                                "FAMILY MARRIAGE")
         if result:
             dates.append(result)
     self.assertTrue(dates == [])
 def test_us_01_death_neg(self):
     """
     Validate Dates are not before current date.
     """
     gedcom_data = parse_gedcom_file("./sampledata/proj02test.ged")
     individuals = gedcom_data[1]
     dates = []
     for indi_id in individuals:
         individual = individuals[indi_id]
         result = individual.verify_date_not_future(individual.id,
                                                    individual.death,
                                                    "INDIVIDUAL DEATH")
         if result:
             dates.append(result)
     self.assertFalse(dates == [])
 def test_us_01_birthdays(self):
     """
     Validate Dates are not before current date.
     """
     gedcom_data = parse_gedcom_file("./sampledata/basetestdata.ged")
     individuals = gedcom_data[1]
     dates = []
     for indi_id in individuals:
         individual = individuals[indi_id]
         result = individual.verify_date_not_future(individual.id,
                                                    individual.birthday,
                                                    "INDIVIDUAL BIRTHDAY")
         if result:
             dates.append(result)
     self.assertTrue(dates == [])
 def test_us_01_divorces_neg(self):
     """
     Validate Dates are not before current date.
     """
     gedcom_data = parse_gedcom_file(
         "./sampledata/US01futuredatestests.ged")
     families = gedcom_data[0]
     dates = []
     for fam_id in families:
         family = families[fam_id]
         result = family.verify_date_not_future(fam_id, family.divorced,
                                                "FAMILY DIVORCE")
         if result:
             dates.append(result)
     self.assertFalse(dates == [])
    def test_us_29_not_dead(self):
        """
        Validate individuals living are not identified as dead. (False Positive)
        """
        gedcom_data = parse_gedcom_file("./sampledata/US29NegTst.ged")

        individuals = gedcom_data[1]
        outcome = []
        result = False
        for indi_id in individuals:
            individual = individuals[indi_id]
            result = individual.is_dead()
            if result:
                outcome.append(result)
        self.assertFalse(result)
Exemple #17
0
 def test_us_39_neg(self):
     """
     Validate that there are NO upcoming anniversaries for 12/21/2017 in this file.
     """
     gedcom_data = parse_gedcom_file("./sampledata/us39testdata.ged")
     families = gedcom_data[0]
     individuals = gedcom_data[1]
     data = []
     # Assert that this file contains NO upcoming anniversaries for december.
     today = datetime.datetime.strptime("12 21 2017", '%m %d %Y')
     for fam_id in families:
         family = families[fam_id]
         result = family.anniversary_upcoming(individuals, today=today)
         if result:
             data.append(result)
     self.assertTrue(data == [])
Exemple #18
0
    def test_parser(self):
        print("~~~~~~~~~~~~~~~~SPRINT 1 TEST BEGIN~~~~~~~~~~~~~~~~")
        sprint1_data = parse_gedcom_file("./sampledata/sprint1testdata.ged")
        self.assertTrue(sprint1_data != [])
        print_individuals_data(sprint1_data[1], False)
        print_family_data(sprint1_data[0], sprint1_data[1], False)

        validate_families(sprint1_data[0], sprint1_data[1])
        validate_individuals(sprint1_data[1])
        if len(sprint1_data) <= 3:
            for error in sprint1_data[2]:
                print(error + "\n")
        if len(sprint1_data) <= 4:
            for error in sprint1_data[2]:
                print(error + "\n")
            for error in sprint1_data[3]:
                print(error + "\n")
        print("~~~~~~~~~~~~~~~~SPRINT 1 TEST END~~~~~~~~~~~~~~~~")
 def test_parser(self):
     proj2_test_data = parse_gedcom_file("./sampledata/proj02test.ged")
     self.assertTrue(proj2_test_data != [])
     print_individuals_data(proj2_test_data[1], False)
     print_family_data(proj2_test_data[0], proj2_test_data[1], True)
 def test_larger_dataset_parser(self):
     other_test_data = parse_gedcom_file("./sampledata/basetestdata.ged")
     self.assertTrue(other_test_data != [])
     print_individuals_data(other_test_data[1], False)
     print_family_data(other_test_data[0], other_test_data[1], True)