Exercício - Use os dados de teste para expor problemas de lógica em um aplicativo de console C#

Concluído

O MakeChange método é capaz de processar transações simuladas com êxito ao usar a testData matriz. No entanto, problemas de lógica são expostos ao simular as transações usando um conjunto de dados maior de itens com preços aleatórios. Esse problema demonstra a importância de testar completamente seus aplicativos.

Especificação

Neste exercício de desafio, você precisa configurar as variáveis usadas para simular transações e verificar se o relatório de transações inclui as discrepâncias esperadas.

Os seguintes requisitos aplicam-se às transações simuladas:

  • As instruções de nível superior simulam transações usando custos de itens gerados aleatoriamente.
  • instruções de nível superior geram valores aleatórios para itemCost no intervalo 2 - 49.
  • Instruções de nível superior simulam 100 transações.

A saída da transação relatada deve incluir:

  • Um recorde de 100 tentativas de transações.
  • Instâncias de uma mensagem informando: "Não foi possível fazer transação: InvalidOperationException: Não foi fornecido dinheiro suficiente para concluir a transação."
  • Instâncias de uma mensagem informando: "Não foi possível fazer transação: InvalidOperationException: O caixa não pode fazer troco para o dinheiro fornecido."
  • Uma discrepância entre os valores reportados e esperados.

Verifique o seu trabalho

Para validar se seu aplicativo produz os resultados esperados ao implementar os requisitos de simulação especificados, conclua as seguintes etapas:

  1. Verifique se a pasta ChallengeProject está aberta no Visual Studio Code.

  2. Na visualização EXPLORER, expanda as pastas ChallengeProject e Starter .

    A pasta Starter contém o aplicativo de exemplo para este módulo de projeto guiado.

  3. Abra o arquivo Program.cs no Editor de Códigos do Visual Studio.

  4. Configure o ambiente de depuração e a configuração de lançamento.

  5. Configure o aplicativo para usar a testData matriz para as transações simuladas (useTestData = true).

  6. Execute o aplicativo em uma sessão de depuração.

  7. Verifique se os valores "relatado" e "esperado" até são iguais no relatório de transações gerado pelo aplicativo.

  8. Configure as variáveis de aplicativo para atender aos requisitos de simulação na seção Especificação .

  9. Execute o aplicativo em uma sessão de depuração.

  10. Verifique se seu aplicativo atinge os seguintes requisitos de saída:

    • O relatório de transações inclui um registro de 100 tentativas de transações.

    • O relatório de transações inclui uma discrepância entre os valores relatados e esperados.

    • O relatório de transações inclui instâncias das seguintes mensagens:

      Could not make transaction: InvalidOperationException: Not enough money provided to complete the transaction.
      
      Could not make transaction: InvalidOperationException: The till is unable to make change for the cash provided.
      

Depois de validar os resultados deste exercício, prossiga para o próximo exercício neste desafio.