Skip to content

marcosfshirafuchi/DEVSuperior-Exercicio-JUnit-vanilla

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

image-2024-07-01-T11-45-10-371-Z Java Spring Expert - Exercício: JUnit vanilla

Desenvolvido na linguagem Java por:

Formação Desenvolvedor Moderno Módulo: Back end

Capítulo: Testes automatizados

Principais Tecnologias

  • Java 21 : Utilizaremos a versão LTS mais recente do Java para tirar vantagem das últimas inovações que essa linguagem robusta e amplamente utilizada oferece;
  • JUnit 5.8.1 : Usamos o Junit 5.8 para fazer os testes unitários

Exercício: JUnit vanilla

image-2024-08-04-T19-41-00-630-Z



Um financiamento possui três dados:

  • totalAmont: valor total de dinheiro financiado
  • income: renda mensal do cliente que está financiando
  • months: número de meses do financiamento

E dois métodos:

  • entry: entrada do financiamento, igual a 20% do valor total
  • quota: prestação mensal do financiamento (sem juros)

Há ainda uma regra: o valor da prestação não pode ser maior que metade da renda mensal do cliente. A seguir alguns exemplos de financiamentos para ajudar a entender a regra:

Exemplo 1: { totalAmount: 100000, income: 2000, months: 20 }
Este exemplo é INVÁLIDO porque com esses dados a entrada seria 20000 e a prestação seria 4000.
Porém a prestação não pode passar de 1000, que é a metade da renda do cliente.

Exemplo 2: { totalAmount: 100000, income: 2000, months: 80 }
Já este exemplo é VÁLIDO porque a entrada seria 20000 e a prestação seria 1000.
Neste caso, a prestação é menor ou igual a metade da renda do cliente, satisfazendo a regra.

Você deve implementar os seguintes testes para validar esta classe (total = 10 testes):

Construtor

  • Deve criar o objeto com os dados corretos quando os dados forem válidos
  • Deve lançar IllegalArgumentException quando os dados não forem válidos

setTotalAmount

  • Deve atualizar o valor quando os dados forem válidos
  • Deve lançar IllegalArgumentException quando os dados não forem válidos

setIncome

  • Deve atualizar o valor quando os dados forem válidos
  • Deve lançar IllegalArgumentException quando os dados não forem válidos

setMonths

  • Deve atualizar o valor quando os dados forem válidos
  • Deve lançar IllegalArgumentException quando os dados não forem válidos

entry

  • Deve calcular corretamente o valor da entrada

quota

  • Deve calcular corretamente o valor da prestação