Ejercicio: Uso de los datos de prueba para exponer problemas lógicos en una aplicación de consola de C#

Completado

El MakeChange método puede procesar las transacciones simuladas correctamente al usar la testData matriz. Sin embargo, los problemas lógicos se exponen al simular las transacciones mediante un conjunto de datos mayor de elementos a precios aleatorios. Este problema muestra la importancia de probar exhaustivamente las aplicaciones.

Especificación

En este ejercicio de desafío, debe configurar las variables usadas para simular transacciones y comprobar que el informe de transacciones incluye las discrepancias esperadas.

Los siguientes requisitos se aplican a las transacciones simuladas:

  • Las instrucciones de nivel superior simulan transacciones mediante costos de elementos generados aleatoriamente.
  • Las instrucciones de nivel superior generan valores aleatorios para itemCost en el intervalo 2 - 49.
  • Instrucciones de nivel superior simulan 100 transacciones.

La salida de transacción notificada debe incluir:

  • Un registro de 100 transacciones intentadas.
  • Instancias de un mensaje que indica: "No se pudo realizar la transacción: InvalidOperationException: No hay suficiente dinero proporcionado para completar la transacción".
  • Instancias de un mensaje que indica: "No se pudo realizar la transacción: InvalidOperationException: El till no puede realizar cambios para el efectivo proporcionado".
  • Discrepancia entre el notificado un valor esperado hasta.

Revisa tu trabajo

Para validar que la aplicación genera los resultados esperados al implementar los requisitos de simulación especificados, complete los pasos siguientes:

  1. Asegúrese de que la carpeta ChallengeProject está abierta en Visual Studio Code.

  2. En la vista EXPLORER, expanda las carpetas ChallengeProject y Starter .

    La carpeta Starter contiene la aplicación de ejemplo para este módulo de proyecto guiado.

  3. Abra el archivo Program.cs en el editor de Visual Studio Code.

  4. Configure el entorno de depuración y la configuración de inicio.

  5. Configure la aplicación para usar la testData matriz para las transacciones simuladas (useTestData = true).

  6. Ejecute la aplicación en una sesión de depuración.

  7. Compruebe que los valores "notificados" y "esperados" son iguales en el informe de transacciones generado por la aplicación.

  8. Configure las variables de aplicación para cumplir los requisitos de simulación de la sección Especificación .

  9. Ejecute la aplicación en una sesión de depuración.

  10. Compruebe que la aplicación alcanza los siguientes requisitos de salida:

    • El informe de transacciones incluye un registro de 100 transacciones intentadas.

    • El informe de transacciones incluye una discrepancia entre los valores esperados hasta que se notifican.

    • El informe de transacciones incluye instancias de los mensajes siguientes:

      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.
      

Una vez que haya validado los resultados de este ejercicio, continúe con el ejercicio siguiente de este desafío.