"No","テストID","対象ファイル","対象クラス/関数","対象メソッド","テスト観点","テストケース名","前提条件","入力値","期待結果","優先度","備考"
"1","UT-HNU-001","src/Headless/Avalonia.Headless.NUnit/AvaloniaTest.cs","AvaloniaTestAttribute","Wrap","正常系","有効なTestCommandをラップして処理されること","HeadlessUnitTestSessionが初期化可能な状態","command=有効なTestCommand（Method.MethodInfo.DeclaringType.Assemblyが存在）","AvaloniaTestMethodCommand.ProcessCommandで処理されたTestCommandが返却される","高","NUnitテストをAvaloniaディスパッチャーで実行するための基本機能"
"2","UT-HNU-002","src/Headless/Avalonia.Headless.NUnit/AvaloniaTest.cs","AvaloniaTestAttribute","Wrap","異常系","commandのMethodがnullの場合","HeadlessUnitTestSessionが初期化可能な状態","command.Test.Method=null","例外がスローされずに処理が継続される（nullセーフ）","中","null安全性の確認"
"3","UT-HNU-003","src/Headless/Avalonia.Headless.NUnit/AvaloniaTest.cs","AvaloniaTestAttribute","Wrap","異常系","DeclaringTypeがnullの場合","HeadlessUnitTestSessionが初期化可能な状態","command.Test.Method.MethodInfo.DeclaringType=null","例外がスローされずに処理が継続される","中","null安全性の確認"
"4","UT-HNU-004","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","ProcessCommand","正常系","単純なTestCommandが正しく処理されること","HeadlessUnitTestSessionが有効","session=有効なセッション, command=TestMethodCommand","AvaloniaTestMethodCommandインスタンスが返却される","高","テストコマンド処理の基本機能"
"5","UT-HNU-005","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","ProcessCommand","正常系","BeforeAndAfterTestCommandが正しく処理されること","HeadlessUnitTestSessionが有効","session=有効, command=BeforeAndAfterTestCommand（BeforeTest設定済み）","BeforeTestアクションが抽出され、コマンドが処理される","高","セットアップ/ティアダウン処理の統合"
"6","UT-HNU-006","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","ProcessCommand","正常系","DelegatingTestCommandがネスト処理されること","HeadlessUnitTestSessionが有効","session=有効, command=DelegatingTestCommand（内部にTestMethodCommand）","内部コマンドが再帰的に処理される","高","コマンドチェーンの処理"
"7","UT-HNU-007","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","ProcessCommand","正常系","AfterTestが正しく抽出されること","HeadlessUnitTestSessionが有効","session=有効, command=BeforeAndAfterTestCommand（AfterTest設定済み）","AfterTestアクションがリストに追加される","高","ティアダウン処理の統合"
"8","UT-HNU-008","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","ProcessCommand","境界値","beforeとafterが空リストの場合","HeadlessUnitTestSessionが有効","session=有効, command=TestMethodCommand, before=[], after=[]","空リストでAvaloniaTestMethodCommandが生成される","中","空リストの処理"
"9","UT-HNU-009","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","ProcessCommand","異常系","DelegatingTestCommandでもTestMethodCommandでもない場合","HeadlessUnitTestSessionが有効","session=有効, command=カスタムTestCommand","元のcommandがそのまま返却される","中","未対応コマンド型の処理"
"10","UT-HNU-010","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","Execute","正常系","テストメソッドが正常に実行されること","セッションが有効、テストメソッドが存在","context=有効なTestExecutionContext","ResultState.Successが設定されたTestResultが返却される","高","テスト実行の基本機能"
"11","UT-HNU-011","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","Execute","正常系","同期テストメソッドが実行されること","テストメソッドがvoidを返す","context=有効, テストメソッド=同期（void）","テストが正常に完了する","高","同期テストのサポート"
"12","UT-HNU-012","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","Execute","正常系","非同期Taskテストメソッドが実行されること","テストメソッドがTaskを返す","context=有効, テストメソッド=async Task","Taskが完了後にテスト結果が返却される","高","async/awaitテストのサポート"
"13","UT-HNU-013","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","Execute","正常系","ValueTaskテストメソッドが実行されること","テストメソッドがValueTaskを返す","context=有効, テストメソッド=async ValueTask","ValueTaskが完了後にテスト結果が返却される","高","ValueTaskテストのサポート"
"14","UT-HNU-014","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","Execute","正常系","BeforeTestが実行されること","_beforeTestにアクションが登録済み","context=有効, _beforeTest=[アクション1, アクション2]","テストメソッド実行前にすべてのBeforeTestが順番に実行される","高","セットアップ実行の確認"
"15","UT-HNU-015","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","Execute","正常系","AfterTestが実行されること","_afterTestにアクションが登録済み","context=有効, _afterTest=[アクション1, アクション2]","テストメソッド実行後にすべてのAfterTestが順番に実行される","高","ティアダウン実行の確認"
"16","UT-HNU-016","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","Execute","異常系","AbortRequestedの場合AfterTestが実行されないこと","ExecutionStatusがAbortRequested","context.ExecutionStatus=AbortRequested","AfterTestがスキップされ、Dispatcher.UIThread.RunJobs()も呼ばれない","中","中断時の動作確認"
"17","UT-HNU-017","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","Execute","正常系","AssertionResultsがある場合RecordTestCompletionが呼ばれること","テストでアサーションが実行された","context.CurrentResult.AssertionResults.Count > 0","RecordTestCompletion()が呼び出される","中","アサーション結果の記録"
"18","UT-HNU-018","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","Execute","正常系","Dispatcher.UIThread.RunJobs()が呼ばれること","テストが正常に完了","context=有効","テスト完了後にRunJobs()が実行されペンディングジョブが処理される","中","ディスパッチャージョブの処理"
"19","UT-HNU-019","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","AddBeforeOrAfterAction","正常系","SetUpTearDownItemからSetUpMethodsが抽出されること","actionがSetUpTearDownItem.RunSetUpを参照","action=SetUpTearDownItem.RunSetUp","SetUpMethodsがtargetsリストに追加される","高","セットアップメソッドの抽出"
"20","UT-HNU-020","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","AddBeforeOrAfterAction","正常系","SetUpTearDownItemからTearDownMethodsが抽出されること","actionがSetUpTearDownItem.RunTearDownを参照","action=SetUpTearDownItem.RunTearDown","TearDownMethodsがtargetsリストに追加される","高","ティアダウンメソッドの抽出"
"21","UT-HNU-021","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","AddBeforeOrAfterAction","正常系","staticメソッドが正しく実行されること","抽出されたメソッドがstatic","method.IsStatic=true","nullインスタンスでInvokeが呼ばれる","中","静的セットアップ/ティアダウンの処理"
"22","UT-HNU-022","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","AddBeforeOrAfterAction","正常系","インスタンスメソッドが正しく実行されること","抽出されたメソッドがインスタンスメソッド","method.IsStatic=false","context.TestObjectインスタンスでInvokeが呼ばれる","中","インスタンスセットアップ/ティアダウンの処理"
"23","UT-HNU-023","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","AddBeforeOrAfterAction","異常系","SetUpTearDownItem以外のターゲットの場合","action.TargetがSetUpTearDownItemではない","action=通常のAction<TestExecutionContext>","アクションがそのままtargetsに追加される","中","非標準アクションの処理"
"24","UT-HNU-024","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","AddBeforeOrAfterAction","境界値","methodsがnullの場合","メソッド名がRunSetUp/RunTearDown以外","action.Method.Name=""Unknown""","フォールバック処理が実行される","低","未知のメソッド名の処理"
"25","UT-HNU-025","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","ToTask","正常系","Task型がそのまま返却されること","resultがTask型","result=Task.CompletedTask","入力Taskがそのまま返却される","高","Task変換の基本動作"
"26","UT-HNU-026","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","ToTask","正常系","ValueTaskがTaskに変換されること","resultがValueTask型","result=new ValueTask()","AsTask()で変換されたTaskが返却される","高","ValueTask変換の動作"
"27","UT-HNU-027","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","ToTask","正常系","null/その他の型でTask.CompletedTaskが返却されること","resultがnullまたは非Task型","result=null または result=""string""","Task.CompletedTaskが返却される","中","非同期以外の戻り値の処理"
"28","UT-HNU-028","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","ToTask","境界値","void（object null）の場合","テストメソッドがvoidを返す","result=null（void相当）","Task.CompletedTaskが返却される","中","同期テストの処理"
"29","UT-HNU-029","src/Headless/Avalonia.Headless.NUnit/NUnitReflectionHelper.cs","NUnitReflectionHelper","InnerCommand","正常系","DelegatingTestCommandの内部コマンドへの参照が取得できること","DelegatingTestCommandインスタンスが存在","instance=有効なDelegatingTestCommand","内部のinnerCommandフィールドへの参照が返却される","高","リフレクションによるフィールドアクセス"
"30","UT-HNU-030","src/Headless/Avalonia.Headless.NUnit/NUnitReflectionHelper.cs","NUnitReflectionHelper","BeforeTest","正常系","BeforeAndAfterTestCommandのBeforeTestへの参照が取得できること","BeforeAndAfterTestCommandインスタンスが存在","instance=有効なBeforeAndAfterTestCommand","BeforeTestフィールドへの参照が返却される","高","BeforeTestフィールドアクセス"
"31","UT-HNU-031","src/Headless/Avalonia.Headless.NUnit/NUnitReflectionHelper.cs","NUnitReflectionHelper","AfterTest","正常系","BeforeAndAfterTestCommandのAfterTestへの参照が取得できること","BeforeAndAfterTestCommandインスタンスが存在","instance=有効なBeforeAndAfterTestCommand","AfterTestフィールドへの参照が返却される","高","AfterTestフィールドアクセス"
"32","UT-HNU-032","src/Headless/Avalonia.Headless.NUnit/NUnitReflectionHelper.cs","NUnitReflectionHelper","SetUpMethods","正常系","SetUpTearDownItemのSetUpMethodsへの参照が取得できること","SetUpTearDownItemインスタンスが存在","instance=有効なSetUpTearDownItem","_setUpMethodsフィールドへの参照が返却される","高","セットアップメソッドリストへのアクセス"
"33","UT-HNU-033","src/Headless/Avalonia.Headless.NUnit/NUnitReflectionHelper.cs","NUnitReflectionHelper","TearDownMethods","正常系","SetUpTearDownItemのTearDownMethodsへの参照が取得できること","SetUpTearDownItemインスタンスが存在","instance=有効なSetUpTearDownItem","_tearDownMethodsフィールドへの参照が返却される","高","ティアダウンメソッドリストへのアクセス"
"34","UT-HNU-034","src/Headless/Avalonia.Headless.NUnit/NUnitReflectionHelper.cs","ReflectionDelegatingTestCommand","Execute","異常系","Executeが呼ばれた場合NotSupportedExceptionがスローされること","ReflectionDelegatingTestCommandインスタンス","context=任意のTestExecutionContext","NotSupportedExceptionがスローされる","低","リフレクション専用型の保護"
"35","UT-HNU-035","src/Headless/Avalonia.Headless.NUnit/AvaloniaTheory.cs","AvaloniaTheoryAttribute","Wrap","正常系","有効なTestCommandをラップして処理されること","HeadlessUnitTestSessionが初期化可能な状態","command=有効なTestCommand（Method.MethodInfo.DeclaringType.Assemblyが存在）","AvaloniaTestMethodCommand.ProcessCommandで処理されたTestCommandが返却される","高","NUnit Theory属性のAvaloniaサポート"
"36","UT-HNU-036","src/Headless/Avalonia.Headless.NUnit/AvaloniaTheory.cs","AvaloniaTheoryAttribute","Wrap","異常系","commandのMethodがnullの場合","HeadlessUnitTestSessionが初期化可能な状態","command.Test.Method=null","例外がスローされずに処理が継続される（nullセーフ）","中","null安全性の確認"
"37","UT-HNU-037","src/Headless/Avalonia.Headless.NUnit/AvaloniaTheory.cs","AvaloniaTheoryAttribute","Wrap","異常系","DeclaringTypeがnullの場合","HeadlessUnitTestSessionが初期化可能な状態","command.Test.Method.MethodInfo.DeclaringType=null","例外がスローされずに処理が継続される","中","null安全性の確認"
"38","UT-HNU-038","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","Execute","異常系","テストメソッドが例外をスローした場合","テストメソッドが例外をスロー","context=有効, テストメソッドが例外をスロー","例外がキャッチされテスト失敗として記録される","高","例外ハンドリング"
"39","UT-HNU-039","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","Execute","異常系","BeforeTestが例外をスローした場合","BeforeTestアクションが例外をスロー","_beforeTest=[例外をスローするアクション]","テストメソッドは実行されず例外が伝播する","高","セットアップ失敗の処理"
"40","UT-HNU-040","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","Execute","異常系","AfterTestが例外をスローした場合","AfterTestアクションが例外をスロー","_afterTest=[例外をスローするアクション]","例外が伝播しテスト失敗として記録される","高","ティアダウン失敗の処理"
"41","UT-HNU-041","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","Execute","正常系","CancellationTokenが渡されること","セッションが有効","context.CancellationToken=有効なトークン","DispatchCoreにCancellationTokenが正しく渡される","中","キャンセレーショントークンの伝播"
"42","UT-HNU-042","src/Headless/Avalonia.Headless.NUnit/AvaloniaTestMethodCommand.cs","AvaloniaTestMethodCommand","Execute","異常系","CancellationTokenがキャンセルされた場合","キャンセル要求が発行された","context.CancellationToken=キャンセル済み","OperationCanceledExceptionがスローされる","中","キャンセル処理"
