def test_06_email_funcionario_erro(self):
     e1 = Email('*****@*****.**')
     e2 = Email('*****@*****.**')
     e3 = Email('*****@*****.**')
     e4 = Email('*****@*****.**')
     msg = 'todos os emails criados deveriam retornar False para a property eh_impacta'
     assert not any([e.eh_impacta for e in [e1, e2, e3, e4]]), msg
Exemple #2
0
def test__eq__():
    e1 = Email("*****@*****.**")
    e2 = Email("*****@*****.**")
    e1.__eq__(Email("*****@*****.**"))
    e2.__eq__(Email("*****@*****.**"))
    assert e1.email == "*****@*****.**"
    assert e2.email == "*****@*****.**"
Exemple #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("*****@*****.**")}
Exemple #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('*****@*****.**')
Exemple #5
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("*****@*****.**"))]
Exemple #6
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("*****@*****.**")
Exemple #7
0
def test_nao_eh_impacta():
    e1 = Email('*****@*****.**')
    e2 = Email('*****@*****.**')
    e3 = Email('*****@*****.**')
    e4 = Email('*****@*****.**')
    #e5 = Email('*****@*****.**')
    e6 = Email("*****@*****.**")
    assert not any([e.eh_impacta for e in [e1, e2, e3, e4, e6]
                    ]), "Emails deveriam retornar False"
Exemple #8
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("*****@*****.**")
Exemple #9
0
def test_cria_email_invalido_2():
    emails = [123, 12.5, Email("*****@*****.**")]
    for email in emails:
        try:
            Email(email)
        except TypeError:
            pass
        except Exception:
            raise AssertionError(
                'Levantou um erro de tipo diferente do pedido')
        else:
            raise AssertionError(
                "Não pode criar instância com e-mail inválido!")
 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_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')
Exemple #12
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("*****@*****.**")
Exemple #13
0
def test_cria_email_invalido_1():
    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:
            Email(email)
        except ValueError:
            pass
        except Exception:
            raise AssertionError(
                'Levantou um erro de tipo diferente do pedido')
        else:
            raise AssertionError('Não levantou erro para email inválido')
    def test_02_cria_email_erro(self):
        tipos_errados = [
            1, True, 3.0, None, ('email', '*****@*****.**'), {
                'email': '*****@*****.**'
            }
        ]
        for item in tipos_errados:
            try:
                Email(item)
            except TypeError:
                pass
            except Exception:
                raise AssertionError(
                    'Levantou um erro de tipo diferente do pedido')
            else:
                raise AssertionError('Não levantou erro para email inválido')

        try:
            Email('*****@*****.**')
        except ValueError:
            pass
        except Exception:
            raise AssertionError(
                'Levantou um erro de tipo diferente do pedido')
        else:
            raise AssertionError('Email com _ não deveria ser válido')

        try:
            Email('teste@exemplo@com')
        except ValueError:
            pass
        except Exception:
            raise AssertionError(
                'Levantou um erro de tipo diferente do pedido')
        else:
            raise AssertionError('Email com 2 @ não deveria ser válido')

        try:
            Email('teste.exemplo.com')
        except ValueError:
            pass
        except Exception:
            raise AssertionError(
                'Levantou um erro de tipo diferente do pedido')
        else:
            raise AssertionError('Email sem @ não deveria ser válido')
Exemple #15
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("*****@*****.**")
Exemple #16
0
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)
Exemple #17
0
def test_cria_email_valido():
    emails = [
        "*****@*****.**", "*****@*****.**", "*****@*****.**",
        "*****@*****.**", "*****@*****.**",
        "*****@*****.**",
        "*****@*****.**"
    ]
    for email in emails:
        e = Email(email)
        assert isinstance(e, Email) == True
        assert e.email == 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')
Exemple #19
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("*****@*****.**")}
Exemple #20
0
def test_to_json():
    e = Email("*****@*****.**")
    assert e.to_json() == "*****@*****.**"
Exemple #21
0
def test_eh_impacta():
    e1 = Email("*****@*****.**")
    e2 = Email('*****@*****.**')
    e3 = Email('*****@*****.**')
    assert all([e.eh_impacta
                for e in [e1, e2, e3]]), "Emails deveriam retornar True"
 def test_01_cria_email(self):
     e1 = Email('*****@*****.**')
     msg = 'o email criado não foi salvo na property `email`'
     assert e1.email == '*****@*****.**', msg
Exemple #23
0
def test_eh_aluno_impacta():
    e = Email("*****@*****.**")
    assert e.eh_aluno_impacta is True
Exemple #24
0
def test_nao_eh_aluno_impacta():
    e = Email("*****@*****.**")
    assert e.eh_aluno_impacta is False
 def test_03_email_aluno(self):
     e1 = Email('*****@*****.**')
     msg = 'o email criado deveria retornar True para a property eh_aluno_impacta'
     assert e1.eh_aluno_impacta, msg
 def test_04_email_aluno_erro(self):
     e1 = Email('*****@*****.**')
     msg = 'o email criado deveria retornar False para a property eh_aluno_impacta'
     assert not e1.eh_aluno_impacta, msg
 def test_05_email_funcionario(self):
     e1 = Email('*****@*****.**')
     e2 = Email('*****@*****.**')
     e3 = Email('*****@*****.**')
     msg = 'todos os emails criados deveriam retornar True para a property eh_impacta'
     assert all([e.eh_impacta for e in [e1, e2, e3]]), msg
Exemple #28
0
def test__repr__():
    e = Email("*****@*****.**")
    assert e.__repr__() == '<Email: [email protected]>'
Exemple #29
0
def test__eq__2():
    e1 = Email("*****@*****.**")
    e2 = Email("*****@*****.**")
    assert e1.email == "*****@*****.**"
    assert e2.email == "*****@*****.**"