演習 - Visual Studio Code デバッガーを使用して、C# コンソール アプリケーションでロジックの問題を分離して修正する

完了

この課題の演習では、Visual Studio Code デバッガー ツールを使用して、 MakeChange メソッドが till のバランスを正常に調整できなくなる問題を分離して修正する必要があります。 アプリケーションが更新されたら、結果を確認する必要があります。

仕様

シミュレートされたトランザクションには、次の仕様要件が適用されます。

  • 最上位レベルのステートメントは、ランダムに生成された品目コストを使用してトランザクションをシミュレートします。
  • 最上位レベルのステートメントは、範囲itemCost内の2 - 49のランダムな値を生成します。
  • 最上位レベルのステートメントは、100 個のトランザクションをシミュレートします。

報告されるトランザクションの出力には、次のものが含まれている必要があります。

  • 試みられた 100 件のトランザクションの記録。
  • "トランザクションを実行できませんでした: InvalidOperationException: トランザクションを完了するのに十分な金額が提供されていません" というメッセージのインスタンス。
  • 次を示すメッセージのインスタンス:"トランザクションを実行できませんでした:InvalidOperationException:レジは、指定された現金を変更できません。"
  • 予想されるレジの値と等しい報告されたレジの値。

アプリケーションをデバッグする

ロジックの問題を分離して修正するには、次の手順を使用します。

  1. デバッグ環境を構成します。

  2. デバッグ セッションでアプリケーションを実行します。

  3. Visual Studio Code デバッガー ツールを使用して、ロジックの問題を分離して修正します。

  4. 更新したアプリケーションを保存します。

作業を確認する

指定したシミュレーション要件を実装するときに、更新されたアプリケーションで期待される結果が生成されることを検証するには、次の手順を実行します。

  1. Visual Studio Code エディターで Program.cs ファイルを開きます。

  2. 「仕様」セクションのシミュレートされたトランザクション要件を満たすようにアプリケーション変数を構成します。

  3. 更新したアプリケーションを実行します。

  4. アプリケーションが次の出力要件を満たしていることを確認します。

    • トランザクション レポートには、試行された 100 件のトランザクションのレコードが含まれています。

    • トランザクション レポートに、予想されるレジの値と等しい報告されたレジの値が含まれます。

    • トランザクション レポートには、次のメッセージのインスタンスが含まれています。

      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.
      

このチャレンジに成功したら完了です。