testDescontoValido() valida a verificação para o produto caderno, mas gera uma e...

Questão de Programação da banca CESGRANRIO aplicada no concurso Petrobras (2008). Confira a resolução completa abaixo:

Considere as informações a seguir para responder às questões de nos 60 e 61.

São mostrados a seguir os códigos fontes das classes Produto e ProdutoTest. O método testDescontoValido() é invocado
pelo framework de testes automaticamente quando os testes são executados, para exercitar o método descontoValido() da
classe Produto. O método assertEquals gera um junit.framework.AssertionFailedError quando os valores de seus argumentos
são diferentes entre si.

Imagem 030.jpg

testDescontoValido() valida a verificação para o produto caderno, mas gera uma exceção para o produto caneta, indicando que o desconto de 90% não é válido para canetas, o que está incorreto. A causa do problema e uma possível solução seriam:

Imagem 032.jpg