Boa tarde!
A forma como foi implementado o cálculo de orçamentos, percebi que somente faz a soma dos dois primeiros impostos. Se passarmos 3, exemplo: calculadora.calcular(orcamento, new ICMS(new INSS(new ICSS(null))))); o ICSS não é incluso no cálculo.
Alterei o método calcular da classe abstrata Imposto, no lugar do if fiz um while
// ANTES
if(outro !=null) {
valorDoOutroImposto = outro.realizarCalculo(orcamento);
}
// DEPOIS
while(outro != null) {
valorDoOutroImposto = outro.realizarCalculo(orcamento);
valorTotalImposto = valorTotalImposto.add(valorDoOutroImposto);
this.outro = outro.getOutro();
}
Poderiam me dizer se há outra forma mais elegante do que essa para resolver esse problema ou esse while que eu fiz está bom?