def test_apaga_email(): c = Contato("Aluno", "1199999-9999", "*****@*****.**") c.adiciona_email("*****@*****.**", "particular") c.adiciona_email("*****@*****.**", "trabalho") c.apaga_email('particular') c.apaga_email('trabalho') assert not any(['particular' in c.get_emails()]) assert not any(['trabalho' in c.get_emails()]) assert c.get_emails() == {'principal': Email("*****@*****.**")} assert c.get_emails()['principal'] == Email("*****@*****.**")
def test_14_apaga_email_principal(self): c1 = Contato('Rafael', '11999777888', '*****@*****.**') try: c1.apaga_email('principal') except DeleteError: pass except Exception: raise AssertionError('Levantou o tipo de erro incorreto') else: raise AssertionError( 'Não levantou erro ao tentar apagar o email principal')
def test_13_apaga_email(self): c1 = Contato('Rafael', '11999777888', '*****@*****.**') c1.adiciona_email('*****@*****.**', 'trabalho') emails = c1.get_emails() assert emails['principal'] == Email('*****@*****.**'), ( 'o email não foi salvo com o valor correto no dicionário') assert emails['trabalho'] == Email('*****@*****.**'), ( 'o email não foi salvo com o valor ou a chave correta no dicionário' ) c1.apaga_email('trabalho') emails = c1.get_emails() assert 'trabalho' not in emails, 'o email de trabalho não foi apagado do dicionário' assert 'principal' in emails, ( 'o email principal não deveria ter sido apagado do dicionário')
def test_apaga_email_tipo_nao_existe(): c = Contato("Aluno", "1199999-9999", "*****@*****.**") c.adiciona_email("*****@*****.**", "particular") c.adiciona_email("*****@*****.**", "trabalho") tipos = ['faculdade', 'empresa', 11988888888, '*****@*****.**'] for tipo in tipos: try: c.apaga_email(tipo) except KeyError: pass else: raise AssertionError("Não levantou erro para chave inexistente") assert c.get_emails()['principal'] == Email("*****@*****.**") assert c.get_emails()['particular'] == Email("*****@*****.**") assert c.get_emails()['trabalho'] == Email("*****@*****.**") assert c.get_emails() == {'principal': Email("*****@*****.**"), 'particular': Email("*****@*****.**"), 'trabalho': Email("*****@*****.**")}