"No","テストID","対象ファイル","対象クラス/関数","対象メソッド","テスト観点","テストケース名","前提条件","入力値","期待結果","優先度","備考"
"1","UT-DEV-001","src/tools/DevAnalyzers/GenericVirtualAnalyzer.cs","GenericVirtualAnalyzer","SupportedDiagnostics","正常系","SupportedDiagnosticsがDiagnosticDescriptorを返すこと","なし","なし","AVADEV1001を含むImmutableArrayが返却される","高","アナライザーの基本設定"
"2","UT-DEV-002","src/tools/DevAnalyzers/GenericVirtualAnalyzer.cs","GenericVirtualAnalyzer","Initialize","正常系","コンテキストに正しく登録されること","AnalysisContextが提供される","有効なAnalysisContext","RegisterSymbolActionがMethodシンボルに対して登録される","高","アナライザー初期化処理"
"3","UT-DEV-003","src/tools/DevAnalyzers/GenericVirtualAnalyzer.cs","GenericVirtualAnalyzer","Initialize","正常系","生成コード解析が無効化されること","AnalysisContextが提供される","有効なAnalysisContext","ConfigureGeneratedCodeAnalysis(None)が呼ばれる","中","生成コードを解析対象外にする設定"
"4","UT-DEV-004","src/tools/DevAnalyzers/GenericVirtualAnalyzer.cs","GenericVirtualAnalyzer","Initialize","正常系","並行実行が有効化されること","AnalysisContextが提供される","有効なAnalysisContext","EnableConcurrentExecutionが呼ばれる","中","パフォーマンス最適化設定"
"5","UT-DEV-005","src/tools/DevAnalyzers/GenericVirtualAnalyzer.cs","GenericVirtualAnalyzer","AnalyzeMethod","正常系","ジェネリック仮想メソッドで警告が報告されること","メソッドシンボルが解析対象","IsGenericMethod=true かつ IsVirtual=true のメソッドシンボル","AVADEV1001の診断が報告される","高","主要機能のテスト"
"6","UT-DEV-006","src/tools/DevAnalyzers/GenericVirtualAnalyzer.cs","GenericVirtualAnalyzer","AnalyzeMethod","正常系","インターフェースのジェネリックメソッドで警告が報告されること","メソッドシンボルが解析対象","IsGenericMethod=true かつ ContainingType.TypeKind=Interface のメソッドシンボル","AVADEV1001の診断が報告される","高","インターフェースメソッドの検出"
"7","UT-DEV-007","src/tools/DevAnalyzers/GenericVirtualAnalyzer.cs","GenericVirtualAnalyzer","AnalyzeMethod","正常系","非ジェネリック仮想メソッドで警告が報告されないこと","メソッドシンボルが解析対象","IsGenericMethod=false かつ IsVirtual=true のメソッドシンボル","診断が報告されない","高","誤検出防止"
"8","UT-DEV-008","src/tools/DevAnalyzers/GenericVirtualAnalyzer.cs","GenericVirtualAnalyzer","AnalyzeMethod","正常系","ジェネリック非仮想メソッドで警告が報告されないこと","メソッドシンボルが解析対象","IsGenericMethod=true かつ IsVirtual=false かつ TypeKind!=Interface のメソッドシンボル","診断が報告されない","高","誤検出防止"
"9","UT-DEV-009","src/tools/DevAnalyzers/GenericVirtualAnalyzer.cs","GenericVirtualAnalyzer","AnalyzeMethod","正常系","診断メッセージにメソッド名が含まれること","ジェネリック仮想メソッドが検出される","メソッド名=""TestMethod""のジェネリック仮想メソッド","診断メッセージに""TestMethod""が含まれる","中","メッセージフォーマットの検証"
"10","UT-DEV-010","src/tools/DevAnalyzers/GenericVirtualAnalyzer.cs","GenericVirtualAnalyzer","AnalyzeMethod","正常系","診断の位置がメソッド宣言を指すこと","ジェネリック仮想メソッドが検出される","有効なメソッドシンボル","Locations[0]がメソッド宣言の位置を指す","中","エラー位置の正確性"
"11","UT-DEV-011","src/tools/DevAnalyzers/GenericVirtualAnalyzer.cs","GenericVirtualAnalyzer","AnalyzeMethod","境界値","抽象ジェネリックメソッドで警告が報告されること","メソッドシンボルが解析対象","IsGenericMethod=true かつ IsAbstract=true のメソッドシンボル","AVADEV1001の診断が報告される（IsVirtualがtrueとなるため）","中","抽象メソッドのケース"
"12","UT-DEV-012","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","SupportedDiagnostics","正常系","SupportedDiagnosticsがDiagnosticDescriptorを返すこと","なし","なし","AVADEV2001を含むImmutableArrayが返却される","高","アナライザーの基本設定"
"13","UT-DEV-013","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","Initialize","正常系","コンテキストに正しく登録されること","AnalysisContextが提供される","有効なAnalysisContext","RegisterSyntaxNodeActionがMethodDeclarationに対して登録される","高","アナライザー初期化処理"
"14","UT-DEV-014","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","Initialize","正常系","生成コード解析が無効化されること","AnalysisContextが提供される","有効なAnalysisContext","ConfigureGeneratedCodeAnalysis(None)が呼ばれる","中","生成コードを解析対象外にする設定"
"15","UT-DEV-015","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","Initialize","正常系","並行実行が有効化されること","AnalysisContextが提供される","有効なAnalysisContext","EnableConcurrentExecutionが呼ばれる","中","パフォーマンス最適化設定"
"16","UT-DEV-016","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","AnalyzeMethod","正常系","base.OnPropertyChangedが呼ばれていない場合に警告が報告されること","OnPropertyChangedをオーバーライドしたメソッド","base.OnPropertyChangedを呼ばないオーバーライドメソッド","AVADEV2001の診断が報告される","高","主要機能のテスト"
"17","UT-DEV-017","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","AnalyzeMethod","正常系","base.OnPropertyChangedが呼ばれている場合に警告が報告されないこと","OnPropertyChangedをオーバーライドしたメソッド","base.OnPropertyChangedを呼ぶオーバーライドメソッド","診断が報告されない","高","正しい実装の検証"
"18","UT-DEV-018","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","AnalyzeMethod","正常系","OnPropertyChanged以外のメソッドで解析されないこと","任意のオーバーライドメソッド","名前が""OnPropertyChanged""以外のオーバーライドメソッド","診断が報告されない","高","対象メソッドの限定"
"19","UT-DEV-019","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","AnalyzeMethod","正常系","オーバーライドでないメソッドで解析されないこと","OnPropertyChangedという名前の通常メソッド","OverriddenMethod=null のメソッド","診断が報告されない","高","オーバーライド判定"
"20","UT-DEV-020","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","AnalyzeMethod","正常系","診断メッセージにメソッド名が含まれること","base呼び出しがないオーバーライドメソッド","OnPropertyChangedオーバーライドメソッド","診断メッセージに""OnPropertyChanged""が含まれる","中","メッセージフォーマットの検証"
"21","UT-DEV-021","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","AnalyzeMethod","正常系","診断の位置がメソッド宣言を指すこと","base呼び出しがないオーバーライドメソッド","OnPropertyChangedオーバーライドメソッド","Locations[0]がメソッド宣言の位置を指す","中","エラー位置の正確性"
"22","UT-DEV-022","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","AnalyzeMethod","異常系","メソッドボディがnullの場合に例外が発生しないこと","抽象メソッドまたは式形式メソッド","Body=null のメソッド","診断が報告される（base呼び出しがないため）","中","null安全性"
"23","UT-DEV-023","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","AnalyzeMethod","正常系","別のbaseメソッド呼び出しがある場合に警告が報告されること","OnPropertyChangedオーバーライドメソッド","base.ToString()など別のbaseメソッドを呼ぶがbase.OnPropertyChangedは呼ばない","AVADEV2001の診断が報告される","高","誤った実装の検出"
"24","UT-DEV-024","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","AnalyzeMethod","境界値","複数のbase呼び出しがある場合に正しく判定されること","OnPropertyChangedオーバーライドメソッド","base.ToString()とbase.OnPropertyChanged()の両方を呼ぶメソッド","診断が報告されない","中","複数base呼び出しの検証"
"25","UT-DEV-025","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","AnalyzeMethod","正常系","GetDeclaredSymbolがnullを返す場合に例外が発生しないこと","不完全なコード","SemanticModel.GetDeclaredSymbol()がnullを返すケース","診断が報告されない（処理がスキップされる）","中","null安全性"
"26","UT-DEV-026","src/tools/DevAnalyzers/GenericVirtualAnalyzer.cs","GenericVirtualAnalyzer","DiagnosticId","正常系","DiagnosticIdが正しい値であること","なし","なし","DiagnosticId=""AVADEV1001""","低","定数値の検証"
"27","UT-DEV-027","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","DiagnosticId","正常系","DiagnosticIdが正しい値であること","なし","なし","DiagnosticId=""AVADEV2001""","低","定数値の検証"
"28","UT-DEV-028","src/tools/DevAnalyzers/GenericVirtualAnalyzer.cs","GenericVirtualAnalyzer","Rule","正常系","Ruleの診断カテゴリが正しいこと","なし","なし","Rule.Category=""Performance""","低","診断ルール設定の検証"
"29","UT-DEV-029","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","Rule","正常系","Ruleの診断カテゴリが正しいこと","なし","なし","Rule.Category=""Potential issue""","低","診断ルール設定の検証"
"30","UT-DEV-030","src/tools/DevAnalyzers/GenericVirtualAnalyzer.cs","GenericVirtualAnalyzer","Rule","正常系","Ruleの重大度がWarningであること","なし","なし","Rule.DefaultSeverity=DiagnosticSeverity.Warning","低","診断ルール設定の検証"
"31","UT-DEV-031","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","Rule","正常系","Ruleの重大度がWarningであること","なし","なし","Rule.DefaultSeverity=DiagnosticSeverity.Warning","低","診断ルール設定の検証"
"32","UT-DEV-032","src/tools/DevAnalyzers/GenericVirtualAnalyzer.cs","GenericVirtualAnalyzer","Rule","正常系","Ruleがデフォルトで有効であること","なし","なし","Rule.IsEnabledByDefault=true","低","診断ルール設定の検証"
"33","UT-DEV-033","src/tools/DevAnalyzers/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","Rule","正常系","Ruleがデフォルトで有効であること","なし","なし","Rule.IsEnabledByDefault=true","低","診断ルール設定の検証"
