def __init__(self, nome_setor, responsavel=None, dia=None, mes=None, ano=None): self._nome_setor = nome_setor self._colaboradores = [] if responsavel != None: self._responsavel = Colaborador(responsavel, dia, mes, ano) self._colaboradores.append(Colaborador(responsavel, dia, mes, ano)) else: self._responsavel = None
def test_aniversario_hoje(self): dt1 = date.today() - timedelta(days=4) hoje = date.today() pessoa1 = Colaborador('Birth', hoje.day, hoje.month, 2000) pessoa2 = Colaborador('not Birth', dt1.day, dt1.month, 2000) assert pessoa1.aniversario_hoje() is True assert pessoa2.aniversario_hoje() is False
class Departamento: def __init__(self, nome_setor, responsavel={}): self._nome_setor = nome_setor self._responsavel = None if responsavel: self.informar_responsavel(responsavel['nome'], responsavel['dia'], responsavel['mes'], responsavel['ano']) self._colaboradores = [] @property def nome(self): return self._nome_setor @nome.setter def nome(self, value): self._nome_setor = value @property def responsavel(self): if self._responsavel is None: return None return str(self._responsavel) @property def colaboradores(self): return self._colaboradores def informar_responsavel(self, nome, dia, mes, ano): self._responsavel = Colaborador(nome, dia, mes, ano) def add_colaborador(self, nome, dia, mes, ano): self._colaboradores.append(Colaborador(nome, dia, mes, ano)) def verificar_aniversariantes(self): lista = [] for colaborador in self.colaboradores: if colaborador.aniversario_hoje(): lista.append( (colaborador.nome, colaborador.aniversario, self.nome)) if self.responsavel: if self._responsavel.aniversario_hoje(): lista.append((self._responsavel.nome, self._responsavel.aniversario, self.nome)) return lista def __str__(self): return self._nome_setor def __repr__(self): return 'Departamento = ' + self._nome_setor
def test_class_declared(self): objeto = Colaborador('John Doe', 15, 4, 1995) assert isinstance(objeto, Colaborador)
def test_setters(self): pessoa = Colaborador('José da Silva', 15, 4, 1995) assert pessoa.nome == 'José da Silva' pessoa.nome = 'José da Silva Júnior' assert pessoa.nome == 'José da Silva Júnior'
def test_str_repr(self): pessoa = Colaborador('José da Silva', 15, 4, 1995) assert str(pessoa) == 'José da Silva' assert repr(pessoa) == 'Colaborador: José da Silva'
def test_instanciar(self): objeto = Colaborador('José da Silva', 20, 10, 2000) assert objeto.nome, 'José da Silva' assert objeto.aniversario, '2000-10-20'
def test_class_declared_fail(self): msg_erro = "Informe dia, mês e ano" with pytest.raises(TypeError) as error: Colaborador('John Doe') assert str(error.value) == msg_erro
def add_colaborador(self, nome, responsavel, dia, mes, ano): self._colaboradores.append( Colaborador(nome, responsavel, dia, mes, ano)) if responsavel == True: self._responsavel = Colaborador(nome, responsavel, dia, mes, ano)
def add_colaborador(self, nome, dia, mes, ano): self._colaboradores.append(Colaborador(nome, dia, mes, ano))
def informar_responsavel(self, nome, dia, mes, ano): self._responsavel = Colaborador(nome, dia, mes, ano) self.add_colaborador(nome, dia, mes, ano)
def __init__(self, nome_setor, nome, dia, mes, ano): self._nome_setor = nome_setor self._responsavel = Colaborador(nome, dia, mes, ano) self._colaboradores = []