def __init__(self, age: Union[int, float, str] = 0, kinder_garden: str = '0', sfo: str = '0', pregnant: str = '0'): """ Constructor / Instantiate the class Parameters ---------- age : int, float, str age of person kinder_garden : str kids in kinder garden, '1' true or '0' false sfo : str After school programme, '1' true or '0' false pregnant : str Pregnant female, '1' true or '0' false """ try: super().__init__('k', age, kinder_garden, sfo) Assertor.assert_data_types([age, kinder_garden, sfo], [(float, int, str), str, str]) Assertor.assert_arguments({pregnant: ['pregnant', ('0', '1')]}) if Person.sifo_age(age) not in ('19', '50') and pregnant == '1': raise ValueError("pregnancy at this age is not possible") self._gravid = pregnant LOGGER.success("created '{}', with id: [{}]".format( self.__class__.__name__, self.id_str)) except Exception as female_exception: LOGGER.exception(female_exception) raise female_exception
def sektor(self, sekt: list): """ sektor setter """ Assertor.assert_data_types([sekt], [list]) Assertor.assert_arguments([sekt], [{"sektor": (["04b"], ["04a"])}]) self._sektor = sekt
def test_assert_arguments(correct_argument): """ Test the assert_arguments() method, i.e. the object in dictionary of {object: [name, possible]} to see if 'object' is in 'possible' list. Raises ValueError if not match. """ invalid_argument = '2' with pt.raises(ValueError): Assertor.assert_arguments( {invalid_argument: ['invalid_argument', correct_argument]})
def sfo(self, _sfo: str): """ after-school/sfo program setter Parameters ---------- s : str new after-school/sfo str """ Assertor.assert_data_types([_sfo], [str]) Assertor.assert_arguments({_sfo: ['kinder_garden:', ('0', '1')]}) self._sfo = _sfo
def gravid(self, pregnant: str): """ pregnancy setter Parameters ---------- pregnant : str new pregnancy str to be set """ Assertor.assert_data_types([pregnant], [str]) Assertor.assert_arguments({pregnant: ['pregnant', ('0', '1')]}) self._gravid = pregnant
def student(self, _student: str): """ student setter Parameters ---------- _student : str new student str """ Assertor.assert_data_types([_student], [str]) Assertor.assert_arguments([_student], [{"student": ('0', '1')}]) self._student = _student
def sfo(self, _sfo: str): """ after-school/sfo program setter Parameters ---------- _sfo : str new after-school/sfo str """ Assertor.assert_data_types([_sfo], [str]) Assertor.assert_arguments([_sfo], [{"sfo": ('0', '1')}]) self._sfo = _sfo
def barnehage(self, kinder_garden: str): """ kinder_garden status setter Parameters ---------- kinder_garden : str new kinder_garden str """ Assertor.assert_data_types([kinder_garden], [str]) Assertor.assert_arguments([kinder_garden], [{"kinder_garden": ('0', '1')}]) self._barnehage = kinder_garden
def rentebinding(self, rente_binding: list): """ rentebinding setter Parameters ---------- rente_binding : list new rentebinding to set """ Assertor.assert_data_types([rente_binding], [list]) Assertor.assert_arguments([rente_binding], [{ "rentebinding": (["06"], ["08"], ["09"], ["10"], ["11"], ["12"], ["99"]) }]) self._rentebinding = rente_binding
def utlanstype(self, utlans_type: list): """ utlanstype setter Parameters ---------- utlans_type : list type of loan, default ["70"] """ Assertor.assert_data_types([utlans_type], [list]) Assertor.assert_arguments([utlans_type], [{ "utlanstype": (["04"], ["70"], ["30"]) }]) self._utlanstype = utlans_type
def __init__(self, utlanstype: list = None, sektor: list = None, rentebinding: list = None, tid: list = None): """ Constructor / Instantiate the class Parameters ---------- utlanstype : list type of loan, default ["70"] sektor : list sektor, default is ["04b"] rentebinding : list type of interest rate, default is ["08", "12", "10", "11", "06"] tid : list time frame """ try: LOGGER.info("trying to create '{}'".format( self.__class__.__name__)) Assertor.assert_data_types([utlanstype, sektor, rentebinding, tid], [(type(None), list) for _ in range(4)]) Assertor.assert_arguments([utlanstype, sektor, rentebinding], [{ "utlanstype": (["04"], ["70"], ["30"]) }, { "sektor": (["04b"], ["04a"]) }, { "rentebinding": (["06"], ["08"], ["09"], ["10"], ["11"], ["12"], ["99"]) }]) self.validate_date(tid) self._utlanstype = ["70"] if not utlanstype else utlanstype self._sektor = ["04b"] if not sektor else sektor self._rentebinding = ["08", "12", "10", "11", "06" ] if not rentebinding else rentebinding self._tid = self.updated_table_date() if not tid else tid LOGGER.success("created {}".format(self.__class__.__name__)) except Exception as ssb_payload_exception: LOGGER.exception(ssb_payload_exception) raise ssb_payload_exception
def __init__(self, sex: str = 'm', age: Union[int, float, str] = 0, kinder_garden: str = '0', sfo: str = '0'): """ Constructor / Instantiate the class Parameters ---------- sex : str sex of the person, male ('m') or female ('f') age : int, float, str age of person kinder_garden : str kids in kinder_garden, '1' true or '0' false sfo : str after school programme, '0' no, '1' half-day or '2' full-day """ super().__init__() Assertor.assert_data_types([sex, age, kinder_garden, sfo], [str, (int, float, str), str, str]) Assertor.assert_arguments({ kinder_garden: ['kinder_garden:', ('0', '1')], sfo: ['sfo:', ('0', '1', '2')] }) if self.sifo_age(age) not in ('1', '2', '3', '5') and kinder_garden == '1': raise ValueError( "only persons between 1-5 years can attend kinder_garden") if self.sifo_age(age) not in ('9', '13') and sfo == '1': raise ValueError("only persons between 6-13 years can attend sfo") self._kjonn = sex self._alder = self.sifo_age(age) self._barnehage = kinder_garden self._sfo = sfo
def __init__(self, age: Union[int, float, str] = 0, kinder_garden: str = '0', sfo: str = '0', pregnant: str = '0', student: str = '0'): """ Constructor / Instantiate the class Parameters ---------- age : int, float, str age of person kinder_garden : str kids in kinder garden, '1' true or '0' false sfo : str After school programme, '1' true or '0' false pregnant : str Pregnant female, '1' true or '0' false student : str Student classification, '1' true or '0' false """ try: super().__init__('k', age, kinder_garden, sfo) Assertor.assert_data_types([age, kinder_garden, sfo, student], [(float, int, str), str, str, str]) Assertor.assert_arguments([pregnant], [{"pregnant": ('0', '1')}]) if self.sifo_age(age) not in ('17', '19', '30', '50') and pregnant == '1': raise ValueError( "[{}] pregnancy at this age is not possible".format( self.__class__.__name__)) self._gravid = pregnant except Exception as female_exception: raise female_exception