Conforme o modelo apresentado, foi executado e exibido td certinho.
Ao declarar uma segunda fila, como no modelo abaixo descrito, o resultado esperado não é o correto.
from FilaFactory import FilaFactory
from Constantes import TIPO_FILA_NORMAL, TIPO_FILA_PRIORITARIA
# Instancia fila normal
fila1 = FilaFactory.pega_fila(TIPO_FILA_NORMAL)
fila1.atualiza_fila()
fila1.atualiza_fila()
fila1.atualiza_fila()
print(fila1.chama_cliente(8))
print(fila1.chama_cliente(15))
# Instancia fila prioritária
fila2 = FilaFactory.pega_fila(TIPO_FILA_PRIORITARIA)
fila2.atualiza_fila()
fila2.atualiza_fila()
fila2.atualiza_fila()
print(fila2.chama_cliente(6))
print(fila2.chama_cliente(2))
Ao executar imprime a seguinte saída:
E:\Desenvolvimento\Anaconda3\envs\bytebank\python.exe E:/Desenvolvimento/EstudosAlura/Python/bytebank/main.py
Caixa 8 livre. Senha NR1 chamada.
Caixa 15 livre. Senha NR2 chamada.
Caixa 6 livre. Senha NR3 chamada.
Caixa 2 livre. Senha PR1 chamada.
Process finished with exit code 0
Para o caixa 6, a senha a ser chamada deveria ter sido a PR1 e não NR3.
Os fontes para apreciação estão no meu github: https://github.com/lucazcabral/-bytebank-pip8/tree/erro_logica