def test_adiciona_telefone(): c = Contato("Aluno", "1199999-9999", "*****@*****.**") c.adiciona_telefone("113322-4567", "fixo") c.adiciona_telefone("1198888-8888", "celular") assert c.get_telefones()['principal'] == TelefoneAtualizado("1199999-9999") assert c.get_telefones()['fixo'] == TelefoneAtualizado("113322-4567") assert c.get_telefones()['celular'] == TelefoneAtualizado("1198888-8888")
def test_cria_contato(): try: c = Contato("Aluno", "1199999-9999", "*****@*****.**") except TypeError: assert False, "Erro ao criar o contato" else: assert c.nome == "Aluno", 'O nome foi criado incorretamente' assert c.get_telefones()['principal'] == TelefoneAtualizado("1199999-9999") assert c.get_emails()['principal'] == Email("*****@*****.**") assert isinstance(c.get_telefones()['principal'], Telefone) assert isinstance(c.get_emails()['principal'], Email)
def test_07_cria_contato(self): c1 = Contato('Rafael', '11999777888', '*****@*****.**') assert c1.nome == 'Rafael', 'O nome foi criado incorretamente' assert isinstance(c1.get_telefones()['principal'], Telefone), ( 'Objeto adicionado ao dicionário de telefones não é do tipo Telefone' ) assert c1.get_telefones()['principal'] == TelefoneAtualizado( '11999777888'), ( 'o telefone não foi salvo com o valor correto no dicionário') assert isinstance(c1.get_emails()['principal'], Email), ( 'Objeto adicionado ao dicionário de emails não é do tipo Email') assert c1.get_emails()['principal'] == Email('*****@*****.**'), ( 'o email não foi salvo com o valor correto no dicionário')
def test_10_apaga_telefone(self): c1 = Contato('Rafael', '11999777888', '*****@*****.**') c1.adiciona_telefone('11987654321', 'trabalho') telefones = c1.get_telefones() assert telefones['principal'] == TelefoneAtualizado('11999777888'), ( 'o telefone não foi salvo com o valor correto no dicionário') assert telefones['trabalho'] == TelefoneAtualizado('11987654321'), ( 'o telefone não foi salvo com o valor ou a chave correta no dicionário' ) c1.apaga_telefone('trabalho') telefones = c1.get_telefones() assert 'trabalho' not in telefones, 'o telefone de trabalho não foi apagado do dicionário' assert 'principal' in telefones, ( 'o telefone principal não deveria ter sido apagado do dicionário')
def test_apaga_telefone_tipo_nao_existe(): c = Contato("Aluno", "1199999-9999", "*****@*****.**") c.adiciona_telefone("113322-4567", "fixo") c.adiciona_telefone("1198888-8888", "celular") tipos = ['particular', '1198888-8888', 11988888888] for tipo in tipos: try: c.apaga_telefone(tipo) except KeyError: pass else: raise AssertionError("Não levantou erro para chave inexistente") assert c.get_telefones()['principal'] == TelefoneAtualizado("1199999-9999") assert c.get_telefones()['fixo'] == TelefoneAtualizado("113322-4567") assert c.get_telefones()['celular'] == TelefoneAtualizado("1198888-8888")
def test_adiciona_outro_telefone_como_principal(): c = Contato("Aluno", "1199999-9999", "*****@*****.**") try: c.adiciona_telefone("1198888-8888") except ValueError: pass assert c.get_telefones()['principal'] == TelefoneAtualizado("1198888-8888")
def test_get_telefones(): c = Contato("Aluno", "1199999-9999", "*****@*****.**") c.adiciona_telefone("113322-4567", "fixo") c.adiciona_telefone("1198888-8888", "celular") assert c.get_telefones() == {'principal': TelefoneAtualizado('1199999-9999'), 'fixo': TelefoneAtualizado('113322-4567'), 'celular': TelefoneAtualizado('1198888-8888')}
def test_adiciona_telefone_invalido_2(): c = Contato("Aluno", "1199999-9999", "*****@*****.**") try: c.adiciona_telefone(1198888, "celular") c.adiciona_telefone(11.98888 - 8888, "celular") except TypeError: pass else: raise AssertionError('Telefone deve ser do tipo string') assert not any(['celular' in c.get_telefones()])
def test_adiciona_telefone_invalido_1(): c = Contato("Aluno", "1199999-9999", "*****@*****.**") telefones = [ ("11332211-456789", "fixo"), ("1198888", "celular"), ('', "fixo"), ("1199-999", "principal"), ("1198888") ] for telefone in telefones: try: c.adiciona_telefone(telefone[0], telefone[1]) except ValueError: pass # except AssertionError: # assert True, 'Telefone pode conter hífens e ter de 8 a 11 dígitos' else: raise AssertionError('Telefone pode conter hífens e ter de 8 a 11 dígitos') assert not any(['fixo' in c.get_telefones()]) assert not any(['celular' in c.get_telefones()])
def test_09_adiciona_telefone(self): c1 = Contato('Rafael', '11999777888', '*****@*****.**') c1.adiciona_telefone('11987654321', 'trabalho') telefones = c1.get_telefones() assert telefones['principal'] == TelefoneAtualizado('11999777888'), ( 'o telefone não foi salvo com o valor correto no dicionário') assert telefones['trabalho'] == TelefoneAtualizado('11987654321'), ( 'o telefone não foi salvo com o valor ou a chave correta no dicionário' ) c1.adiciona_telefone('1144556677', 'casa') c1.adiciona_telefone('11-999-555-111') assert telefones['casa'] == TelefoneAtualizado('1144556677'), ( 'o telefone não foi salvo com o valor ou a chave correta no dicionário' ) assert telefones['principal'] == TelefoneAtualizado('11999555111'), ( 'o telefone principal não foi atualizado no dicionário')
def test_16_get_telefones(self): """ Este teste não será disponibilizado, faça a verificação com base nas instruções do enunciado """ # c1 = Contato('Rafael', '11999777888', '*****@*****.**') # c2 = Contato('Alex', '11967427007', '*****@*****.**') # c1.get_telefones() # c2.get_telefones() c = Contato("Aluno", "1199999-9999", "*****@*****.**") c.adiciona_telefone("113322-4567", "fixo") c.adiciona_telefone("1198888-8888", "celular") assert c.get_telefones() == { 'principal': TelefoneAtualizado('1199999-9999'), 'fixo': TelefoneAtualizado('113322-4567'), 'celular': TelefoneAtualizado('1198888-8888') }