Example #1
0
def checkSiblingPair(sibling1, sibling2, family):
    errMsg = []
    sib1BirthDate = utils.calcDate(sibling1['BIRT'][0])
    sib2BirthDate = utils.calcDate(sibling2['BIRT'][0])
    if(abs((sib1BirthDate - sib2BirthDate).days)/30 <= 8 and abs((sib1BirthDate - sib2BirthDate).days) >= 2):
        errMsg += [(("Anomaly US13: Sibling %s: %s and sibling %s: %s  in family %s were born too close together" %(sibling1['ID'], sibling1['NAME'][0], sibling2['ID'], sibling2['NAME'][0], family['ID'])))]
    return errMsg
Example #2
0
def checkFamily(family):
    errMsg = []
    marriageDate = utils.calcDate(family['MARR'][0])
    if("DIV" in family.keys()):
        divorceDate = utils.calcDate(family['DIV'][0])
        if(divorceDate < marriageDate):
            errMsg+= [("Error US04: Divorce date is before marriage date in family %s" %(family['ID']))] 
    return errMsg
Example #3
0
 def test_calcDate(self):
     dateObj = datetime.datetime(2000, 8, 10)
     calculatedDate = utils.calcDate("10 AUG 2000")
     self.assertEqual(
         calculatedDate, dateObj,
         "Date was calculated as %s when it should be %s" %
         (calculatedDate, dateObj))
Example #4
0
def marriageAllowed(family, husband, wife):
    allowableMarriage = True
    marriageDate = utils.calcDate(family["MARR"][0])
    wifeAgeAtMarriage = utils.calculateAge(wife, marriageDate)
    husbandAgeAtMarriage = utils.calculateAge(husband, marriageDate)
    if wifeAgeAtMarriage < 14 or husbandAgeAtMarriage < 14:
        allowableMarriage = False
    return allowableMarriage
Example #5
0
def checkFamily(family, individualDict):
    errMsg = []
    marriageDate = utils.calcDate(family['MARR'][0])
    husband = individualDict[family['HUSB'][0]]
    wife = individualDict[family['WIFE'][0]]
    if ('DEAT' in wife.keys()):
        wifeDeath = utils.calcDate(wife['DEAT'][0])
        if (wifeDeath < marriageDate):
            errMsg += [(
                "Error US05: Wife %s: %s in family %s died before she got married"
                % (wife['ID'], wife['NAME'][0], family['ID']))]
    if ('DEAT' in husband.keys()):
        husbandDeath = utils.calcDate(husband['DEAT'][0])
        if (husbandDeath < marriageDate):
            errMsg += [(
                "Error US05: Husband %s: %s in family %s died before he got married"
                % (husband['ID'], husband['NAME'][0], family['ID']))]
    return errMsg
Example #6
0
def checkForDiff(family, husband, wife):
    allowableMarriage = True
    marriageDate = utils.calcDate(family["MARR"][0])
    wifeAgeAtMarriage = utils.calculateAge(wife, marriageDate)
    husbandAgeAtMarriage = utils.calculateAge(husband, marriageDate)
    ageDifference = abs(wifeAgeAtMarriage - husbandAgeAtMarriage)
    if (((wifeAgeAtMarriage > husbandAgeAtMarriage) and
         (ageDifference >= husbandAgeAtMarriage))
            or ((wifeAgeAtMarriage < husbandAgeAtMarriage) and
                (ageDifference >= wifeAgeAtMarriage))):
        allowableMarriage = False
    return allowableMarriage