Nó módulo 2 (https://cursos.alura.com.br/course/design-patterns-python/task/9744), no penúltimo bloco de código, no trecho abaixo é necessário fazer um ajuste para que seja referenciada a váriavel interna "_proximodesconto"
Onde consta return self.proximo_desconto.calcula(orcamento):
class Desconto_por_mais_de_quinhentos_reais(object):
def __init__(self, proximo_desconto):
self.__proximo_desconto = proximo_desconto
def calcula(self, orcamento):
if orcamento.valor > 500:
return orcamento.valor * 0.07
else:
return self.proximo_desconto.calcula(orcamento)
Deveria constar return self._proximodesconto.calcula(orcamento):
class Desconto_por_mais_de_quinhentos_reais(object):
def __init__(self, proximo_desconto):
self.__proximo_desconto = proximo_desconto
def calcula(self, orcamento):
if orcamento.valor > 500:
return orcamento.valor * 0.07
else:
return self.__proximo_desconto.calcula(orcamento)