示例#1
0
def test_lista_emails():
    c = Contato("Aluno", "1199999-9999", "*****@*****.**")
    c.adiciona_email("*****@*****.**", "particular")
    c.adiciona_email("*****@*****.**", "extra")
    assert c.lista_emails() == [('principal', Email("*****@*****.**")),
                               ('particular', Email("*****@*****.**")),
                                ('extra', Email("*****@*****.**"))]
示例#2
0
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("*****@*****.**")
示例#3
0
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("*****@*****.**")}
示例#4
0
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('*****@*****.**')
示例#5
0
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("*****@*****.**")
示例#6
0
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
示例#7
0
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("*****@*****.**")
示例#8
0
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_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')
示例#10
0
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("*****@*****.**")}
示例#11
0
 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')
示例#12
0
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()
        }