Skip to content

Testes finais (ncurses + raylib) #18

Description

@samuka7abr

Due: 04/07 18h
Depends on: #12, #13, #14 e #15
Blocks: #19

Validação final — Simulação concorrente com interface raylib

Esta é a barreira final de qualidade do PRD definido na #13.

Decisão de produto

A entrega para bônus usa raylib como interface integral. A validação ncurses permanece apenas como histórico/regressão enquanto o port é desenvolvido; ncurses não é requisito do artefato final se tiver sido removido conforme o PRD.

Matriz obrigatória

Para cada cenário 0, 1 e 2:

  • iniciar pelo seletor gráfico;
  • iniciar pelo argumento CLI;
  • acompanhar geração, coleta, esteira e entrega;
  • confirmar atualização do painel;
  • confirmar acúmulo e drenagem da esteira;
  • concluir exatamente o total configurado;
  • confirmar encerramento limpo.

Executar adicionalmente:

  • fechamento antecipado por Esc;
  • fechamento pelo botão da janela;
  • redimensionamento durante carga;
  • janela abaixo do tamanho mínimo;
  • execução repetida do cenário 2;
  • execução headless de todos os testes de domínio e snapshot.

Critérios de aceite

  • Cenário 0 termina com 20/20.
  • Cenário 1 termina com 50/50.
  • Cenário 2 termina com 100/100.
  • Nenhum deadlock em execuções repetidas.
  • Nenhuma colisão de células.
  • Nenhum contador negativo ou pacote perdido.
  • Interface permanece responsiva.
  • Pacotes acumulam e avançam corretamente na esteira visual.
  • Fechamento sempre executa joins e libera recursos.
  • Build e testes passam no ambiente-alvo.
  • README/documentação descrevem dependências e uso da raylib.
  • Pacote final não depende de ncurses caso a substituição integral tenha sido concluída.

Evidências esperadas

  • Saída dos testes automatizados.
  • Registro dos totais finais dos três cenários.
  • Resultado dos analisadores disponíveis.
  • Captura da interface mostrando coleta, esteira com múltiplos blocos e expedição.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions