フォークを作成し、このフォークのクローンを自分で作成します。あなたのタスクは、テストとログを追加することです。メソッドとして実装する必要があります。メソッドの名前を考えるときは、簡潔にすると同時に、そのメソッドで正確に何がテストされているかを大まかに理解できるようにしてください。つのテスト結果を比較します。番目のケースでは、どのようなテストが不合格だったかを理解するのがさらに難しく、ログを確認する必要があります。スローされることを確認しますnull。これを行うには、メソッドを使用しますassertThrows。することはできません。」というメッセージが含まれていることを確認します。これを行うには、キャッチした例外からメッセージを取得し、assertEquals;を使用する必要があります。スローされることを確認しますIllegalArgumentException。空白文字のさまざまなバリアントを使用してテストするには、テストをパラメータ化する必要があります。含む文字列を最初のパラメーターとしてコンストラクターに渡すと、スローされる例外に「名前を空白にすることはできません。」というメッセージが含まれることを確認します。番目のパラメーターとしてコンストラクターに渡されるとき、IllegalArgumentException;を確認してください。番目のパラメーターとしてコンストラクターに渡された場合、スローされる例外に「速度を負にすることはできません。」というメッセージが含まれることを確認します。番目のパラメーターとしてコンストラクターに渡されるとき、IllegalArgumentException;を確認してください。番目のパラメーターとして負の数値をコンストラクターに渡すときに、スローされる例外に「距離を負にすることはできません」というメッセージが含まれることを確認します。メソッドメソッドが最初のパラメーターとしてコンストラクターに渡された文字列を返すことを確認します。番目のパラメーターとして渡された数値を返すことを確認します。番目のパラメーターとして渡された数値を返すことを確認します。つのパラメーターを持つコンストラクターを使用して作成された場合、メソッドがゼロを返すことを確認します。使用して呼び出していることを確認します。MockedStaticこれを行うには、そのメソッドを使用する必要がありますverify。getRandomDoubleこれを行うには、テストをパラメータ化して設定する必要がある特定の値を返すようにロックする必要があります。スローされることを確認しますnull。null.」というメッセージが含まれることを確認します。スローされることを確認しますIllegalArgumentException。empty.」というメッセージが含まれることを確認します。メソッドメソッドが、コンストラクターに渡されたリストと同じオブジェクトを含むリストを同じ順序で返すことを確認します。頭の異なる馬のリストをコンストラクターに渡します。メソッドを呼び出していることを確認します。メソッドメソッドが最大の距離値を持つ馬を返すことを確認してください。秒以内に実行されていることを確認してください。アノテーションを使用します。アノテーションを使用します)。したがって、すべてのテストを実行するのに時間はかかりません。必要に応じて手動で実行できます。オブジェクトを作成した後、次のようなエントリをログに追加します。7勝者に関する情報を表示した後、次のようなエントリをログに追加します。コンストラクターに渡された場合は、例外をスローする前に、次のようなエントリをログに追加します。空のリストがコンストラクターに渡された場合は、例外をスローする前に、次のようなエントリをログに追加します。emptyコンストラクターの最後に、次のようなエントリをログに追加します。コンストラクターに渡される場合は、例外をスローする前に、次のようなエントリをログに追加します。nullコンストラクターに渡された名前が空の場合は、例外をスローする前に、次のようなエントリをログに追加します。blankコンストラクターに渡される速度がゼロ未満の場合は、例外をスローする前に、次のようなエントリをログに追加します。negativeコンストラクターに渡された距離がゼロ未満の場合は、例外をスローする前に、次のようなエントリをログに追加します。negativeコンストラクターの最後に、次のようなエントリをログに追加します。hippodrome.logファイルに書き込まれる必要があります。ルートに配置されます。作成される必要があります。これを行うには、RollingFileアペンダを使用します。日より古いファイルは削除する必要があります。これを行うには、次のような構成を使用できます。