Olá, vim compartilhar o código que fiz para realizar o teste dos outros reajustes:
No ReajusteServiceTest.java adicionei esse trecho:
@Test
public void reajusteDeveriaSerDeQuinzePorCentoQuandoDesempenhoForBom() {
ReajusteService service = new ReajusteService();
Funcionario funcionario = new Funcionario("Ana", LocalDate.now(), new BigDecimal("1000.00"));
service.concederReajuste(funcionario, Desempenho.BOM);
assertEquals(new BigDecimal("1150.00"), funcionario.getSalario());
}
@Test
public void reajusteDeveriaSerDeQuinzePorCentoQuandoDesempenhoForOtimo() {
ReajusteService service = new ReajusteService();
Funcionario funcionario = new Funcionario("Ana", LocalDate.now(), new BigDecimal("1000.00"));
service.concederReajuste(funcionario, Desempenho.OTIMO);
assertEquals(new BigDecimal("1200.00"), funcionario.getSalario());
}
O ReajusteService.java ficou assim:
package br.com.alura.tdd.service;
import java.math.BigDecimal;
import br.com.alura.tdd.modelo.Desempenho;
import br.com.alura.tdd.modelo.Funcionario;
public class ReajusteService {
public void concederReajuste(Funcionario funcionario, Desempenho desempenho) {
if(desempenho == Desempenho.A_DESEJAR) {
BigDecimal reajuste = funcionario.getSalario().multiply(new BigDecimal("0.03"));
funcionario.reajustarSalario(reajuste);
}
else if(desempenho == Desempenho.BOM) {
BigDecimal reajuste = funcionario.getSalario().multiply(new BigDecimal("0.15"));
funcionario.reajustarSalario(reajuste);
}
else if(desempenho == Desempenho.OTIMO) {
BigDecimal reajuste = funcionario.getSalario().multiply(new BigDecimal("0.20"));
funcionario.reajustarSalario(reajuste);
}
}
}
E o Desempenho.java ficou assim:
package br.com.alura.tdd.modelo;
public enum Desempenho {
A_DESEJAR, BOM, OTIMO;
}