def test_same_name_birthdate(self): """ Two individuals have same name and birth date""" ged = Gedcom('./GEDCOM_files/us23/same_name_birthdate.ged') expected = [ ('@I6@', '@I7@') ] self.assertEqual(ged.us23_unique_name_and_birt(debug=True), expected)
def test_mar_before_birt(self): """ Marriage before birth""" ged = Gedcom('./GEDCOM_files/us02/us02_mar_before_birt.ged') self.assertEqual(ged.us02_birth_before_marriage(debug=True), [('husband', '08/06/3169', '@F1@', 'Oswaldo Mccarthy', '@I2@', '01/01/1992')])
def test_wife_male_husb_female(self): """Wife has the gender male and husband has gender female""" ged = Gedcom('./GEDCOM_files/us21/test_wife_male_husb_female.ged') expected = [('Oswaldo Mccarthy', '@I2@', 'husband', '@F1@', 'male'), ('Sherika Ault', '@I3@', 'wife', '@F1@', 'female')] self.assertEqual(ged.us21_correct_gender_for_role(debug=True), expected)
def test_mar_on_birt_wife(self): """ Marriage is on the birth date""" ged = Gedcom('./GEDCOM_files/us02/us02_mar_on_birt.ged') self.assertEqual(ged.us02_birth_before_marriage(debug=True), [('wife', '04/17/1972', '@F1@', 'Sherika Ault', '@I3@', '08/06/1969')])
def test_both_die_before_divorce(self): """ husband and wife both die before divorce""" expected = [ ('Jack Monroe', 'husband', '@F1@', '05/16/1997', '02/10/2004'), ('Lucy Oliver', 'wife', '@F1@', '03/02/2003', '02/10/2004') ] ged = Gedcom('./GEDCOM_files/us06/us06_both_die_b4_div.ged') self.assertEqual(ged.us06_divorce_before_death(debug=True), expected)
def test_same_lastname(self): """ Positive test, males' last names are the same""" mongo_instance = MongoDB() mongo_instance.drop_collection("family") mongo_instance.drop_collection("individual") ged = Gedcom('./GEDCOM_files/us16/us16_male_last_name_same.ged') ged.insert_to_mongo() self.assertEqual(ged.us16_male_last_name(debug=True), [])
def test_diff_lastname(self): """ Negative test, males' last names are different""" mongo_instance = MongoDB() mongo_instance.drop_collection("family") mongo_instance.drop_collection("individual") ged = Gedcom('./GEDCOM_files/us16/us16_male_last_name_diff.ged') ged.insert_to_mongo() self.assertEqual(ged.us16_male_last_name(debug=True), [('@F1@', '@I2@, @I3@', 'LastName,Test')])
def test_niece_marr_uncle(self): """ test case niece marries with her uncle""" expected = [( 'Ably Pedersen', '@I4@', 'Molly Pedersen', '@I11@', 'Gisilbert Pedersen', '@I6@', )] ged = Gedcom('./GEDCOM_files/us20/us20_niece_marr_uncle.ged') self.assertEqual(ged.us20_aunts_and_uncle(debug=True), expected)
def test_nephew_marr_aunt(self): """ test case nephew marries with his aunt""" expected = [( 'Ably Pedersen', '@I4@', 'Cam Pedersen', '@I10@', 'Karla Pedersen', '@I7@', )] ged = Gedcom('./GEDCOM_files/us20/us20_nephew_marr_aunt.ged') self.assertEqual(ged.us20_aunts_and_uncle(debug=True), expected)
def test_less_than_150yr_dead(self): """ Test the person is less than 150 year old and alive.""" expected = [] res = Gedcom('GEDCOM_files/us07/us07_less_than_150yr_dead.ged' ).us07_less_than_150_yrs(debug=True) self.assertEqual(res, expected)
def test_list_living_single(self): expected_ids = ["@I9@", "@I17@", "@I22@", "@I23@"] result = Gedcom('./GEDCOM_files/integrated_no_err.ged' ).us31_list_living_single(debug=True) result_ids = [] for indi in result: result_ids.append(indi.indi_id) self.assertEqual(result_ids, expected_ids)
def test_diff_name_same_birt(self): """Sort the siblings with different names BUT same birth dates (twins)""" expected = { ('@F1@', 'Rogan'): [('@I3@', 24, 'Sataglo'), ('@I5@', 22, 'Julia'), ('@I4@', 22, 'Jassica'), ('@I6@', 22, 'Jane'), ('@I7@', 20, 'Slovikansky')] } self.assertEqual( Gedcom('./GEDCOM_files/us28/us28_diff_name_same_birth.ged'). us28_order_siblings_by_age(debug=True), expected)
import unittest from datetime import datetime from gedcom_ajry import Gedcom # Marriage and divorce dates gdm1 = Gedcom("./GEDCOM_files/us04/us04_divorcebeforemarriage.ged" ) # 8 OCT 1980 and 6 SEP 1979 gdm2 = Gedcom("./GEDCOM_files/us04/us04_divorcemarriagesamedate.ged" ) # 8 OCT 1980 and 8 OCT 1980 gdm3 = Gedcom("./GEDCOM_files/us04/us04_properdivorcemarriage.ged" ) # 8 OCT 1980 and 6 SEP 1993 class Sprint2us13_john(unittest.TestCase): def test_divorceb4marriage(self): res1 = [('@F3@')] self.assertCountEqual(gdm1.us04_marr_b4_div(debug=True), res1) def test_divorcemarriagesamedate(self): res2 = [] self.assertCountEqual(gdm2.us04_marr_b4_div(debug=True), res2) def test_properdivorcemarriage(self): res3 = [] self.assertCountEqual(gdm3.us04_marr_b4_div(debug=True), res3) if __name__ == "__main__": unittest.main()
def test_birth_before_9_div(self): """ Birth of a child 9 months before the divorce""" ged = Gedcom('./GEDCOM_files/us08/birth_before_9_div.ged') self.assertEqual(ged.us08_birt_b4_marr_of_par(debug=True), [])
def test_birth_after_9_div(self): """ Birth of a child 9 months after the divorce""" ged = Gedcom('./GEDCOM_files/us08/birth_after_9_div.ged') expected = [('@F7@', '@I10@', '@I12@')] self.assertEqual(ged.us08_birt_b4_marr_of_par(debug=True), expected)
def test_birth_before_marr(self): """ Birth of a child before the marriage""" ged = Gedcom('./GEDCOM_files/us08/birth_before_marr.ged') expected = [('@F3@', '@I15@', '@I16@')] self.assertEqual(ged.us08_birt_b4_marr_of_par(debug=True), expected)
def test_birth_after_marr(self): """ Birth of all the children after marriage""" ged = Gedcom('./GEDCOM_files/us08/birth_after_marr.ged') self.assertEqual(ged.us08_birt_b4_marr_of_par(debug=True), [])
import unittest from datetime import datetime from gedcom_ajry import Gedcom # birthdays of siblings gdm1 = Gedcom("./GEDCOM_files/us13/us13_within9months.ged") # 24 AUG 1997 and 22 NOV 1997 gdm2 = Gedcom("./GEDCOM_files/us13/us13_within2days.ged") # 24 AUG 1997 and 26 AUG 1997 gdm3 = Gedcom("./GEDCOM_files/us13/us13_within1day.ged") # 24 AUG 1997 and 25 AUG 1997 gdm4 = Gedcom("./GEDCOM_files/us13/us13_properbirthdays.ged") # 24 AUG 1997 and 22 APR 1993 class Sprint2us13_john(unittest.TestCase): def test_us13_within9months(self): res1 = [('Jordon Mccarthy','@I4@','Harold Mccarthy','@I1@',90)] i=-1 for tupl in gdm1.us13_sibling_spacing(debug=True): i=i+1 self.assertCountEqual(tuple(tupl),tuple(res1[i])) def test_us13_within2days(self): res2 = [('Jordon Mccarthy','@I4@','Harold Mccarthy','@I1@',2)] i=-1 for tupl in gdm2.us13_sibling_spacing(debug=True): i=i+1 self.assertCountEqual(tuple(tupl),tuple(res2[i])) def test_us13_within1day(self): res3=[] i=-1 for tupl in gdm3.us13_sibling_spacing(debug=True): i=i+1 self.assertCountEqual(tuple(tupl),tuple(res3[i]))
def test_prev_marr_end_partner_dies(self): """ Previous marriage ends with the partner's death""" ged = Gedcom('./GEDCOM_files/us11/us11_prev_partner_dies.ged') expected = [('@I1@', 'Fake Arshel', '@F1@ and @F2@')] self.assertEqual(ged.us11_no_bigamy(debug=True), expected)
def test_no_bigamy(self): """ None of the spouses are involved in multiple marriages""" ged = Gedcom('./GEDCOM_files/us11/test04.ged') self.assertEqual(ged.us11_no_bigamy(debug=True), [])
import unittest from datetime import datetime from gedcom_ajry import Gedcom gdm1 = Gedcom("./GEDCOM_files/us05/test1_us05_john.ged") gdm2 = Gedcom("./GEDCOM_files/us05/test2_us05_john.ged") gdm3 = Gedcom("./GEDCOM_files/us05/test3_us05_john.ged") gdm4 = Gedcom("./GEDCOM_files/us05/test4_us05_john.ged") res1 = [('wife', 'Lilia Orourke', '@I7@', '@F2@')] res2 = [('husband', 'Oswaldo Mccarthy', '@I2@', '@F1@')] res3 = [('husband', 'Winfred Ault', '@I15@', '@F3@')] class Sprint1us03_john(unittest.TestCase): def test_us05_marriage_before_death(self): self.assertCountEqual(gdm1.us05_marriage_before_death(debug=True), res1) self.assertCountEqual(gdm2.us05_marriage_before_death(debug=True), res2) self.assertCountEqual(gdm3.us05_marriage_before_death(debug=True), res3) self.assertCountEqual(gdm4.us05_marriage_before_death(debug=True), []) if __name__ == "__main__": unittest.main()
""" John, 7th April 2019 US29 : List all deceased individuals in a GEDCOM file """ import unittest from datetime import datetime from gedcom_ajry import Gedcom gdm1 = Gedcom("./GEDCOM_files/us29/us29_some_deaths.ged") gdm2 = Gedcom("./GEDCOM_files/us29/us29_no_deaths.ged") gdm3 = Gedcom("./GEDCOM_files/us29/us29_one_death.ged") class test_us29(unittest.TestCase): def test_some_deaths(self): result = { '@I7@': 'Lilia Orourke', '@I12@': 'Minna Jensen', '@I15@': 'Winfred Ault', '@I21@': 'Vivian Sue' } self.assertDictEqual(gdm1.us29_list_deceased(debug=True), result) def test_no_deaths(self): result = {} self.assertDictEqual(gdm2.us29_list_deceased(debug=True), result) def test_one_death(self): result = {'@I13@': 'Mellisa Triplett'} self.assertDictEqual(gdm3.us29_list_deceased(debug=True), result)
def test_all_unique_name_birthdate(self): """ None of the individual has same name or birthdate""" ged = Gedcom('./GEDCOM_files/us23/no_err.ged') self.assertEqual(ged.us23_unique_name_and_birt(debug=True), [])
def test_multi_birt_less_than_5(self): """ No more than five siblings should be born at the same time within a family """ ged = Gedcom('./GEDCOM_files/integrated_no_err.ged') self.assertEqual(ged.us14_multi_birt_less_than_5(debug=True), [])
def test_duplicate_ids(self): gdm = Gedcom("./GEDCOM_files/us22/us22_duplicate_id.ged") self.assertEqual(gdm.us22_unique_ids(debug=True), [('@I1@', 'INDI')])
def setUp(self): self.current_date = datetime.now() self.gdm = Gedcom("./GEDCOM_files/integrated_no_err.ged") self.indis = self.gdm.indis self.fams = self.gdm.fams
def test_unique_ids(self): gdm = Gedcom("./GEDCOM_files/us01/proj01.ged") self.assertEqual(gdm.us22_unique_ids(debug=True), [])
def test_prev_marr_end_with_div(self): """ Previous marriage ends with divorce""" ged = Gedcom('./GEDCOM_files/us11/us11_prev_div.ged') expected = [('@I1@', 'Fake Arshel', '@F1@ and @F2@')] self.assertEqual(ged.us11_no_bigamy(debug=True), expected)
""" John, 7th April 2019 US19 : First cousins should not marry one another """ import unittest from datetime import datetime from gedcom_ajry import Gedcom gdm1 = Gedcom("./GEDCOM_files/us19/us19_first_cousins_married.ged") gdm2 = Gedcom("./GEDCOM_files/us19/us19_first_cousins_not_married.ged") class test_us19(unittest.TestCase): def test_first_cousins_married(self): result = [('Andre Benjamin', '@I18@', 'Jasmine Colman', '@I25@'), ('Jasmine Colman', '@I25@', 'Andre Benjamin', '@I18@')] i = -1 for tupl in gdm1.us19_first_cousins_should_not_marry(debug=True): i = i + 1 self.assertCountEqual(tuple(tupl), tuple(result[i])) def test_first_cousins_not_married(self): result = [] i = -1 for tupl in gdm2.us19_first_cousins_should_not_marry(debug=True): i = i + 1 self.assertCountEqual(tuple(tupl), tuple(result[i])) if __name__ == "__main__": unittest.main()
def test_over_150yr_dead(self): """ Test the person is over 150 years old and dead.""" expected = [('@I1@', 'Frank Davis', 152)] res = Gedcom('GEDCOM_files/us07/us07_over_150yr_dead.ged' ).us07_less_than_150_yrs(debug=True) self.assertEqual(res, expected)