Considere a seguinte classe Java:
public class CartaoService {
public double realizarCompra(double limite, double valor) {
if (valor > limite) {
throw new IllegalArgumentException("Limite insuficiente");
}
return limite - valor;
}
}
Um desenvolvedor deseja criar um teste utilizando JUnit para verificar que uma compra de valor superior ao limite disponível produz uma IllegalArgumentException, e que a mensagem da exceção é "Limite insuficiente".
O teste foi iniciado da seguinte forma:
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.*;
class CartaoServiceTest {
private final CartaoService service = new CartaoService();
@______
void deveRejeitarCompraAcimaDoLimite() {
var excecao = ______(
IllegalArgumentException.class,
() -> service.realizarCompra(1000, 1500));
______("Limite insuficiente", excecao.getMessage());
}
} Assinale a opção que apresenta, respectivamente, os termos que preenchem as lacunas para que o teste esteja correto.