"No","テストID","対象ファイル","対象クラス/関数","対象メソッド","テスト観点","テストケース名","前提条件","入力値","期待結果","優先度","備考"
"1","UT-DHA-001","src/tools/Avalonia.Designer.HostApp/DesignXamlLoader.cs","DesignXamlLoader","Load","正常系","有効なXAMLドキュメントが正常にロードされること","AvaloniaXamlIlRuntimeCompilerが正常動作","document=有効なRuntimeXamlLoaderDocument, configuration=有効な設定","ロードされたオブジェクトが返却される","高","デザイナーの基本XAML読み込み機能"
"2","UT-DHA-002","src/tools/Avalonia.Designer.HostApp/DesignXamlLoader.cs","DesignXamlLoader","Load","正常系","依存アセンブリがプリロードされること","LocalAssemblyが設定済み","configuration.LocalAssembly=有効なAssembly","PreloadDepsAssembliesが呼び出される","高","アセンブリ依存解決"
"3","UT-DHA-003","src/tools/Avalonia.Designer.HostApp/DesignXamlLoader.cs","DesignXamlLoader","Load","異常系","documentがnullの場合の挙動","なし","document=null, configuration=有効な設定","例外がスローされるか適切に処理される","中","nullハンドリング"
"4","UT-DHA-004","src/tools/Avalonia.Designer.HostApp/DesignXamlLoader.cs","DesignXamlLoader","Load","異常系","configurationがnullの場合の挙動","なし","document=有効, configuration=null","例外がスローされるか適切に処理される","中","nullハンドリング"
"5","UT-DHA-005","src/tools/Avalonia.Designer.HostApp/DesignXamlLoader.cs","DesignXamlLoader","PreloadDepsAssemblies","正常系","アセンブリLocationが有効な場合に依存関係がロードされること","deps.jsonが存在","targetAssembly=Locationが設定されたAssembly","依存アセンブリがロードされる","高","依存関係解決の基本機能"
"6","UT-DHA-006","src/tools/Avalonia.Designer.HostApp/DesignXamlLoader.cs","DesignXamlLoader","PreloadDepsAssemblies","異常系","targetAssemblyがnullの場合に早期リターンすること","なし","targetAssembly=null","処理が正常終了し何もロードされない","中","nullチェック"
"7","UT-DHA-007","src/tools/Avalonia.Designer.HostApp/DesignXamlLoader.cs","DesignXamlLoader","PreloadDepsAssemblies","異常系","assemblyLocationが空文字列の場合に早期リターンすること","なし","targetAssembly.Location=""""","処理が正常終了し何もロードされない","中","メモリロードアセンブリの考慮"
"8","UT-DHA-008","src/tools/Avalonia.Designer.HostApp/DesignXamlLoader.cs","DesignXamlLoader","PreloadDepsAssemblies","異常系","deps.jsonが存在しない場合のフォールバック処理","同ディレクトリに1つの*.deps.jsonが存在","targetAssembly=Location設定済みだがdeps.json不在","フォールバックdeps.jsonが使用される","中","フォールバック処理"
"9","UT-DHA-009","src/tools/Avalonia.Designer.HostApp/DesignXamlLoader.cs","DesignXamlLoader","PreloadDepsAssemblies","異常系","deps.jsonが存在せずフォールバックも複数ある場合","同ディレクトリに複数の*.deps.jsonが存在","targetAssembly=Location設定済み","警告が出力され早期リターン","中","曖昧なフォールバック"
"10","UT-DHA-010","src/tools/Avalonia.Designer.HostApp/DesignXamlLoader.cs","DesignXamlLoader","PreloadDepsAssemblies","境界値","deps.jsonが存在せずフォールバックが0件の場合","同ディレクトリに*.deps.jsonが存在しない","targetAssembly=Location設定済み","警告が出力され早期リターン","中","フォールバック不在"
"11","UT-DHA-011","src/tools/Avalonia.Designer.HostApp/DesignXamlLoader.cs","DesignXamlLoader","ParseRuntimeDeps","正常系","有効なdeps.jsonからランタイム依存関係が抽出されること","なし","text=有効なdeps.json形式の文字列","ランタイムライブラリのリストが返却される","高","deps.json解析の基本機能"
"12","UT-DHA-012","src/tools/Avalonia.Designer.HostApp/DesignXamlLoader.cs","DesignXamlLoader","ParseRuntimeDeps","正常系","複数ターゲットを持つdeps.jsonが正しく解析されること","なし","text=複数targetsを含むdeps.json","すべてのターゲットのランタイムライブラリが返却される","中","複数ターゲット対応"
"13","UT-DHA-013","src/tools/Avalonia.Designer.HostApp/DesignXamlLoader.cs","DesignXamlLoader","ParseRuntimeDeps","異常系","不正なJSON形式の場合に空リストが返却されること","なし","text=""invalid json""","空のリストが返却される","中","不正JSON耐性"
"14","UT-DHA-014","src/tools/Avalonia.Designer.HostApp/DesignXamlLoader.cs","DesignXamlLoader","ParseRuntimeDeps","境界値","空文字列の場合に空リストが返却されること","なし","text=""""","空のリストが返却される","低","空入力"
"15","UT-DHA-015","src/tools/Avalonia.Designer.HostApp/DesignXamlLoader.cs","DesignXamlLoader","ParseRuntimeDeps","異常系","targetsキーが存在しない場合に空リストが返却されること","なし","text=""{}""","空のリストが返却される","中","必須キー不在"
"16","UT-DHA-016","src/tools/Avalonia.Designer.HostApp/DesignXamlLoader.cs","DesignXamlLoader","ParseRuntimeDeps","異常系","runtimeセクションが存在しないライブラリがある場合","なし","text=runtimeなしのライブラリを含むdeps.json","runtimeありのライブラリのみ返却される","低","部分的なdeps.json"
"17","UT-DHA-017","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","FromJson<T>","正常系","有効なJSONからDictionary<string,object>がパースされること","なし","json=""{\"key\":\"value\"}""","Dictionary<string,object>が返却される","高","基本パース機能"
"18","UT-DHA-018","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","FromJson<T>","正常系","有効なJSONからList<object>がパースされること","なし","json=""[1,2,3]""","List<object>が返却される","高","配列パース"
"19","UT-DHA-019","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","FromJson<T>","正常系","ネストしたJSONオブジェクトが正しくパースされること","なし","json=""{\"nested\":{\"value\":10}}""","ネストしたDictionaryが返却される","中","ネスト構造"
"20","UT-DHA-020","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","FromJson<T>","正常系","エスケープ文字を含む文字列が正しくパースされること","なし","json=""{\"text\":\"hello\\nworld\"}""","改行を含む文字列が返却される","中","エスケープシーケンス"
"21","UT-DHA-021","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","FromJson<T>","正常系","Unicode エスケープ（\\uXXXX）が正しくパースされること","なし","json=""{\"text\":\"\\u0041\"}""","'A'を含む文字列が返却される","中","Unicodeエスケープ"
"22","UT-DHA-022","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","FromJson<T>","異常系","null JSONが正しく処理されること","なし","json=""null""","nullが返却される","中","null値"
"23","UT-DHA-023","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","FromJson<T>","境界値","空のJSONオブジェクトがパースされること","なし","json=""{}""","空のDictionaryが返却される","中","空オブジェクト"
"24","UT-DHA-024","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","FromJson<T>","境界値","空のJSON配列がパースされること","なし","json=""[]""","空のListが返却される","中","空配列"
"25","UT-DHA-025","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","FromJson<T>","異常系","不正なJSON形式でnullが返却されること","なし","json=""invalid""","nullまたはデフォルト値が返却される","中","不正形式"
"26","UT-DHA-026","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseValue","正常系","string型が正しくパースされること","なし","type=typeof(string), json=""\"hello\""""","文字列""hello""が返却される","高","string型パース"
"27","UT-DHA-027","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseValue","正常系","int型が正しくパースされること","なし","type=typeof(int), json=""42""","int値42が返却される","高","int型パース"
"28","UT-DHA-028","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseValue","正常系","bool型trueが正しくパースされること","なし","type=typeof(bool), json=""true""","bool値trueが返却される","高","bool型パース"
"29","UT-DHA-029","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseValue","正常系","bool型falseが正しくパースされること","なし","type=typeof(bool), json=""false""","bool値falseが返却される","高","bool型パース"
"30","UT-DHA-030","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseValue","正常系","double型が正しくパースされること","なし","type=typeof(double), json=""3.14""","double値3.14が返却される","中","double型パース"
"31","UT-DHA-031","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseValue","正常系","decimal型が正しくパースされること","なし","type=typeof(decimal), json=""123.456""","decimal値123.456が返却される","中","decimal型パース"
"32","UT-DHA-032","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseValue","正常系","DateTime型が正しくパースされること","なし","type=typeof(DateTime), json=""\"2024-01-15\""""","DateTime(2024,1,15)が返却される","中","DateTime型パース"
"33","UT-DHA-033","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseValue","正常系","Enum型が正しくパースされること（文字列）","なし","type=typeof(DayOfWeek), json=""\"Monday\""""","DayOfWeek.Mondayが返却される","中","Enum型パース（文字列）"
"34","UT-DHA-034","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseValue","正常系","配列型が正しくパースされること","なし","type=typeof(int[]), json=""[1,2,3]""","int配列{1,2,3}が返却される","中","配列型パース"
"35","UT-DHA-035","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseValue","正常系","List<T>型が正しくパースされること","なし","type=typeof(List<string>), json=""[\"a\",\"b\"]""","List<string>{""a"",""b""}が返却される","中","List型パース"
"36","UT-DHA-036","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseValue","正常系","Dictionary<string,T>型が正しくパースされること","なし","type=typeof(Dictionary<string,int>), json=""{\"x\":1}""","Dictionary{""x"":1}が返却される","中","Dictionary型パース"
"37","UT-DHA-037","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseValue","異常系","非string型キーのDictionaryでnullが返却されること","なし","type=typeof(Dictionary<int,string>), json=""{\"1\":\"a\"}""","nullが返却される","低","非サポート型"
"38","UT-DHA-038","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseValue","異常系","配列で[]記号がない場合にnullが返却されること","なし","type=typeof(int[]), json=""1,2,3""","nullが返却される","低","不正配列形式"
"39","UT-DHA-039","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseValue","境界値","空文字列（長さ2以下）で空文字列が返却されること","なし","type=typeof(string), json=""\"\"""""","空文字列が返却される","中","空文字列"
"40","UT-DHA-040","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseValue","異常系","不正なEnum値で0が返却されること","なし","type=typeof(DayOfWeek), json=""\"InvalidDay\""""","0が返却される","低","不正Enum"
"41","UT-DHA-041","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseAnonymousValue","正常系","オブジェクト形式でDictionaryが返却されること","なし","json=""{\"key\":\"value\"}""","Dictionary<string,object>が返却される","中","匿名オブジェクト"
"42","UT-DHA-042","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseAnonymousValue","正常系","配列形式でListが返却されること","なし","json=""[1,2,3]""","List<object>が返却される","中","匿名配列"
"43","UT-DHA-043","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseAnonymousValue","正常系","数値（整数）がintとしてパースされること","なし","json=""42""","int値42が返却される","中","匿名整数"
"44","UT-DHA-044","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseAnonymousValue","正常系","数値（小数）がdoubleとしてパースされること","なし","json=""3.14""","double値3.14が返却される","中","匿名小数"
"45","UT-DHA-045","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseAnonymousValue","正常系","負の数値が正しくパースされること","なし","json=""-10""","int値-10が返却される","中","負の数値"
"46","UT-DHA-046","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseAnonymousValue","正常系","trueがbool型trueとしてパースされること","なし","json=""true""","bool値trueが返却される","中","匿名bool"
"47","UT-DHA-047","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseAnonymousValue","正常系","falseがbool型falseとしてパースされること","なし","json=""false""","bool値falseが返却される","中","匿名bool"
"48","UT-DHA-048","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseAnonymousValue","正常系","nullがnullとしてパースされること","なし","json=""null""","nullが返却される","中","匿名null"
"49","UT-DHA-049","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseAnonymousValue","境界値","空文字列でnullが返却されること","なし","json=""""","nullが返却される","低","空入力"
"50","UT-DHA-050","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseObject","正常系","クラスのpublicフィールドが設定されること","なし","type=Fooクラス, json=""{\"Value\":10}""","Value=10のインスタンスが返却される","高","オブジェクトパース"
"51","UT-DHA-051","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseObject","正常系","クラスのpublicプロパティが設定されること","なし","type=プロパティ付きクラス, json=""{\"Name\":\"test\"}""","Name=""test""のインスタンスが返却される","高","プロパティパース"
"52","UT-DHA-052","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseObject","正常系","DataMemberAttributeで名前がカスタマイズされている場合","なし","type=DataMember属性付きクラス, json=""{\"custom_name\":1}""","対応するフィールドが設定される","中","属性サポート"
"53","UT-DHA-053","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseObject","正常系","IgnoreDataMemberAttributeのフィールドが無視されること","なし","type=IgnoreDataMember属性付きクラス, json=""{\"ignored\":1}""","対応するフィールドは設定されない","中","無視属性"
"54","UT-DHA-054","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseObject","異常系","key/valueペアが奇数の場合にインスタンスが返却されること","なし","type=有効クラス, json=""{\"key\"}""","空のインスタンスが返却される","低","不正形式"
"55","UT-DHA-055","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseObject","境界値","空のJSONオブジェクトで空インスタンスが返却されること","なし","type=有効クラス, json=""{}""","デフォルト状態のインスタンスが返却される","中","空オブジェクト"
"56","UT-DHA-056","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","ParseObject","正常系","大文字小文字を区別しない名前マッチングが行われること","なし","type=Valueフィールドを持つクラス, json=""{\"VALUE\":10}""","Value=10のインスタンスが返却される","中","大文字小文字無視"
"57","UT-DHA-057","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","Split","正常系","カンマ区切りの要素が正しく分割されること","なし","json=""[1,2,3]""","{""1"",""2"",""3""}のリストが返却される","中","基本分割"
"58","UT-DHA-058","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","Split","正常系","コロン区切りのkey:valueが正しく分割されること","なし","json=""{\"a\":1}""","{""\"a\""",""1""}のリストが返却される","中","key:value分割"
"59","UT-DHA-059","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","Split","正常系","ネストした配列内のカンマが分割されないこと","なし","json=""[[1,2],[3,4]]""","{""[1,2]"",""[3,4]""}のリストが返却される","中","ネスト配列"
"60","UT-DHA-060","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","Split","正常系","文字列内のカンマが分割されないこと","なし","json=""[\"a,b\",\"c,d\"]""","{""\"a,b\""",""\"c,d\"""}のリストが返却される","中","文字列内カンマ"
"61","UT-DHA-061","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","Split","境界値","長さ2のJSONで空リストが返却されること","なし","json=""[]""","空のリストが返却される","低","最小配列"
"62","UT-DHA-062","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","AppendUntilStringEnd","正常系","エスケープなし文字列が正しく抽出されること","なし","json=""\"hello\"""", startIdx=0","文字列終了位置が返却される","中","基本文字列"
"63","UT-DHA-063","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","AppendUntilStringEnd","正常系","エスケープ文字が正しく処理されること","なし","json=""\"hello\\nworld\"""", startIdx=0","改行エスケープが保持される","中","エスケープ処理"
"64","UT-DHA-064","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","AppendUntilStringEnd","正常系","エスケープされた引用符が正しく処理されること","なし","json=""\"say \\\"hi\\\"\"""", startIdx=0","内部引用符が保持される","中","引用符エスケープ"
"65","UT-DHA-065","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","AppendUntilStringEnd","境界値","閉じ引用符がない場合に最後のインデックスが返却されること","なし","json=""\"unclosed"", startIdx=0","json.Length-1が返却される","低","不正文字列"
"66","UT-DHA-066","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","CreateMemberNameDictionary","正常系","publicフィールドが辞書に登録されること","なし","members=publicフィールド配列","フィールド名をキーとする辞書が返却される","中","フィールド登録"
"67","UT-DHA-067","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","CreateMemberNameDictionary","正常系","IgnoreDataMember属性付きメンバーが除外されること","なし","members=IgnoreDataMember属性付きメンバーを含む配列","属性付きメンバーは辞書に含まれない","中","無視属性"
"68","UT-DHA-068","src/tools/Avalonia.Designer.HostApp/TinyJson.cs","JSONParser","CreateMemberNameDictionary","正常系","DataMemberAttribute.Nameでカスタム名が使用されること","なし","members=DataMember(Name=""custom"")属性付きメンバー","""custom""がキーとして使用される","中","カスタム名"
"69","UT-DHA-069","src/tools/Avalonia.Designer.HostApp/Program.cs","Program","Main","正常系","DesignXamlLoaderがAvaloniaLocatorにバインドされること","なし","args=任意","IRuntimeXamlLoaderにDesignXamlLoaderがバインドされる","高","起動処理"
"70","UT-DHA-070","src/tools/Avalonia.Designer.HostApp/Program.cs","Program","Main","正常系","RemoteDesignerEntryPoint.Mainが呼び出されること","なし","args=任意","リモートデザイナーエントリーポイントが実行される","高","デザイナー起動"
"71","UT-DHA-071","src/tools/Avalonia.Designer.HostApp/Program.cs","Program","Main","境界値","args配列が空の場合でも正常起動すること","なし","args=[]","例外なく起動処理が完了する","中","空引数"
"72","UT-DHA-072","src/tools/Avalonia.Designer.HostApp/Program.cs","Program","Main (NETFRAMEWORK)","正常系","AssemblyResolveイベントが登録されること","NETFRAMEWORKビルド","args=任意","CurrentDomain.AssemblyResolveにハンドラが登録される","中","アセンブリ解決"
"73","UT-DHA-073","src/tools/Avalonia.Designer.HostApp/Program.cs","Program","Main (NETFRAMEWORK)","正常系","現在ディレクトリのDLLがロードされること","NETFRAMEWORKビルド、dllファイルが存在","args=任意","Directory.GetFilesで取得されたDLLがロードされる","中","DLL事前ロード"
"74","UT-DHA-074","src/tools/Avalonia.Designer.HostApp/Program.cs","Program","CurrentDomain_AssemblyResolve","正常系","存在するアセンブリが正しくロードされること","NETFRAMEWORKビルド、DLLが存在","args.Name=有効なアセンブリ名","アセンブリが返却される","中","アセンブリ解決"
"75","UT-DHA-075","src/tools/Avalonia.Designer.HostApp/Program.cs","Program","CurrentDomain_AssemblyResolve","異常系","存在しないアセンブリの場合にnullが返却されること","NETFRAMEWORKビルド、DLLが存在しない","args.Name=存在しないアセンブリ名","nullが返却される","中","不在アセンブリ"
"76","UT-DHA-076","src/tools/Avalonia.Designer.HostApp/Program.cs","Program","Exec (NETFRAMEWORK)","正常系","DesignXamlLoaderがバインドされExec処理が完了すること","NETFRAMEWORKビルド","args=任意","リモートデザイナーが起動される","高","NETFRAMEWORK起動"
