def test_adiciona_email(): c = Contato("Aluno", "1199999-9999", "*****@*****.**") c.adiciona_email("*****@*****.**", "particular") c.adiciona_email("*****@*****.**", "extra") assert c.get_emails()['principal'] == Email('*****@*****.**') assert c.get_emails()['particular'] == Email('*****@*****.**') assert c.get_emails()['extra'] == Email('*****@*****.**')
def test_adiciona_outro_email_como_principal(): c = Contato("Funcionario", "1199999-9999", "*****@*****.**") assert c.get_emails()['principal'] == Email("*****@*****.**") try: c.adiciona_email("*****@*****.**") except ValueError: pass assert c.get_emails()['principal'] == Email("*****@*****.**")
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_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_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_get_emails(): c = Contato("Aluno", "1199999-9999", "*****@*****.**") c.adiciona_email("*****@*****.**", "particular") c.adiciona_email("*****@*****.**", "extra") assert c.get_emails() == {'principal': Email("*****@*****.**"), 'particular': Email("*****@*****.**"), 'extra': Email("*****@*****.**")}
def test_adiciona_email_invalido_1(): c = Contato("Aluno", "1199999-9999", "*****@*****.**") emails = [ '', # "aluno [email protected]", "amauri@@impacta.com.br", # "amauri..impacta.com.br", "amauriimpacta.com.br", "*****@*****.**", # "[email protected]", # "a@g", # "[email protected]", # "*****@*****.**", # "*****@*****.**", # "ama@[email protected]", # "[email protected].", # "*****@*****.**", #"[email protected]", # "@amauriimpacta.com.br", # "*****@*****.**", # "amauri@[email protected]" ] for email in emails: try: c.adiciona_email(email) except ValueError: pass else: raise AssertionError('O email deve conter @ e domínio corretamente') assert c.get_emails()['principal'] == Email("*****@*****.**")
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("*****@*****.**")}
def test_adiciona_email_invalido_2(): c = Contato("Aluno", "1199999-9999", "*****@*****.**") for email in [123, 12.30]: try: c.adiciona_email(email) except TypeError: pass else: raise AssertionError('Email deve ser do tipo string') assert c.get_emails()['principal'] == Email("*****@*****.**")
def test_12_adiciona_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.adiciona_email('*****@*****.**', 'jogos') c1.adiciona_email('*****@*****.**') assert emails['jogos'] == Email('*****@*****.**'), ( 'o email não foi salvo com o valor ou a chave correta no dicionário' ) assert emails['principal'] == Email('*****@*****.**'), ( 'o email principal não foi atualizado no dicionário')