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_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_lista_telefones(): c = Contato("Aluno", "1199999-9999", "*****@*****.**") c.adiciona_telefone("113322-4567", "fixo") c.adiciona_telefone("1198888-8888", "celular") assert c.lista_telefones() == [('principal', TelefoneAtualizado('1199999-9999')), ('fixo', TelefoneAtualizado('113322-4567')), ('celular', TelefoneAtualizado('1198888-8888'))]
def test_buscar(): c1 = Contato("Aluno1", "115111-1111", "*****@*****.**") c1.adiciona_telefone("111111-1111", "fixo") c1.adiciona_telefone("1191111-1111", "celular") c1.adiciona_email("*****@*****.**", "email2") c1.adiciona_email("*****@*****.**", "email3") assert c1.buscar("Alun") is True assert c1.buscar("1111") is True assert c1.buscar("@aluno") is True assert c1.buscar("234315435") is False
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_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_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') }
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_create_dump(): c1 = Contato("Aluno1", "115111-1111", "*****@*****.**") c1.adiciona_telefone("111111-1111", "fixo") c1.adiciona_telefone("1191111-1111", "celular") c1.adiciona_email("*****@*****.**", "email2") c1.adiciona_email("*****@*****.**", "email3") c2 = Contato("Aluno2", "115222-2222", "*****@*****.**") c2.adiciona_telefone("112222-2222", "fixo") c2.adiciona_telefone("1192222-2222", "celular") c2.adiciona_email("*****@*****.**", "email2") c2.adiciona_email("*****@*****.**", "email3") c3 = Contato("Aluno3", "115333-3333", "*****@*****.**") c3.adiciona_telefone("113333-3333", "fixo") c3.adiciona_telefone("1193333-3333", "celular") c3.adiciona_email("*****@*****.**", "email2") c3.adiciona_email("*****@*****.**", "email3") for c in [c1, c2, c3]: assert c.create_dump() == { 'nome': c.nome, 'telefones': c.get_telefones(), 'emails': c.get_emails() }