def test_get_extrato_2(self): extrato = [('I', 100.55), ('S', 20), ('S', 25), ('S', 10), ('D', 100)] conta = ContaPoupanca(nome='John Doe', saldo=100.55) conta.saque(20) conta.saque(25) conta.saque(10) conta.deposito(100) assert conta.get_extrato() == extrato
def test_saques_ok(self, valor_ini, valor_saque, valor_f): conta = ContaPoupanca(nome='John Doe', saldo=valor_ini) valor_sacado = conta.saque(valor_saque) assert valor_saque == pytest.approx(valor_sacado, 0.001) assert conta.saldo == pytest.approx(valor_f, 0.001)
def test_depositos_com_valores_errados(self, deposito): with pytest.raises(TypeError) as error: conta = ContaPoupanca(nome='John Doe', saldo=10) conta.deposito(deposito) assert str(error.value) == 'O depósito precisa ser numérico'
def test_depositos_com_erro(self, valor_inicial, deposito): msg = 'Valor do depósito precisa ser maior que zero' with pytest.raises(ValueError) as error: conta = ContaPoupanca(nome='John Doe', saldo=valor_inicial) conta.deposito(deposito) assert str(error.value) == msg
def test_class_declared(self): conta = ContaPoupanca() assert isinstance(conta, ContaPoupanca) assert issubclass(ContaPoupanca, Conta)
def test_depositos(self, valor_inicial, deposito, valor_f): conta = ContaPoupanca(nome='John Doe', saldo=valor_inicial) conta.deposito(deposito) assert conta.saldo == valor_f
def test_limite(self): objeto = ContaPoupanca(nome='John Doe', saldo=10.00, limite=1000) objeto.deposito(20) assert objeto.saldo == 30 assert objeto.limite == 1000
def test_instanciar_objeto_saldo_negativo(self): with pytest.raises(ValueError) as error: ContaPoupanca(nome='John Doe', profissao='dev', saldo=-10.00) assert str(error.value) == 'Saldo negativo'
def test_instanciar_objeto_saldo_positivo(self): conta = ContaPoupanca(nome='John Doe', profissao='Dev', saldo=10) assert conta.nome, 'John Doe' assert conta.profissao, 'Dev' assert conta.saldo == 10 assert conta.limite == 0
def test_instanciar_objeto_saldo_padrao(self): conta = ContaPoupanca(nome='John Doe', profissao='Dev Java') assert conta.nome, 'John Doe' assert conta.profissao == 'Dev Java' assert conta.saldo == 0 assert conta.limite == 0
def test_rendimentos_com_erro(self, juros): with pytest.raises(ValueError) as error: conta = ContaPoupanca(nome='John Doe', saldo=10) conta.rendimento_aniversario(juros) assert str( error.value) == 'Os juros precisam ser entre 0 (0%) e 1 (100%).'
def test_rendimento_aniversario_ok(self, juros, valor_final): conta = ContaPoupanca(nome='John Doe', saldo=100) conta.rendimento_aniversario(juros) assert conta.saldo == pytest.approx(valor_final)
def test_get_extrato_sem_operacoes(self): extrato = [('I', 10.55)] conta = ContaPoupanca(nome='John Doe', saldo=10.55) assert conta.get_extrato() == extrato
def test_saques_com_erro(self, valor_saque): with pytest.raises(TypeError) as error: conta = ContaPoupanca(nome='John Doe', saldo=10) conta.saque(valor_saque) assert str(error.value) == 'O valor do saque precisa ser numérico'
def test_instanciar_objeto_somente_nome(self): conta = ContaPoupanca(nome='John Doe') assert conta.nome, 'John Doe' assert conta.profissao == '' assert conta.saldo == 0 assert conta.limite == 0
def test_saques_falha(self, valor_inicial, valor_saque): msg = 'Valor do saque supera seu saldo.' with pytest.raises(ValueError) as error: conta = ContaPoupanca(nome='John Doe', saldo=valor_inicial) conta.saque(valor_saque) assert str(error.value) == msg