Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvida sobre o lambda usado

Apenas uma pequena dúvida do por quê foi necessário usar os () e o lambda no código, não ficou muito claro pra mim:

assertThrows(IllegalArgumentException.class,() -> service.calcularBonus(new Funcionario("Jorge", LocalDate.now(), new BigDecimal(25000))));

1 resposta
solução!

Oi Matheus,

O método assertThrows tem como segundo parâmetro a interface Executable, que é uma interface funcional(interface com apenas 1 método abstrato) e portanto podemos passar um lambda como parâmetro.

O lambda a ser passado vai depender da assinatura do método abastrato da interface funcional, que no caso da interface Executable é um método sem retorno e sem parâmetros. Justamente por isso que ficou o () vazio. Precisa desse abre e fecha parêntesis por conta da sintaxe lambda do Java mesmo.

Bons estudos!