Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/marcosfshirafuchi/devsuperior-exercicio-junit-vanilla

DEVSUPERIOR : Java Spring Expert - Exercício: JUnit vanilla
https://github.com/marcosfshirafuchi/devsuperior-exercicio-junit-vanilla

desenvolvimento-java devsuperior intellij intellij-idea java javadevelopment junit junit-test junit5 junit5-tests nelio-alves nelioalves poo tdd tdd-java testes-automatizados testes-unitarios

Last synced: 1 day ago
JSON representation

DEVSUPERIOR : Java Spring Expert - Exercício: JUnit vanilla

Awesome Lists containing this project

README

        

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

#### Desenvolvido na linguagem Java por:
- [Marcos Shirafuchi](https://github.com/marcosfshirafuchi)
## 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