"No","テストID","対象ファイル","対象クラス/関数","対象メソッド","テスト観点","テストケース名","前提条件","入力値","期待結果","優先度","備考"
"1","UT-ACS-001","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","Initialize","正常系","Analyzer初期化時にコンパイル開始アクションが登録されること","Roslyn解析コンテキストが利用可能","AnalysisContextオブジェクト","ConfigureGeneratedCodeAnalysisとEnableConcurrentExecutionが呼び出され、RegisterCompilationStartActionが登録される","高","Analyzerの基本動作"
"2","UT-ACS-002","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","Initialize","異常系","AvaloniaObjectTypeが見つからない場合は解析を行わないこと","AvaloniaObjectが参照されていないコンパイル","AnalysisContext（Avalonia未参照）","CompileAnalyzerが生成されない","中","非Avaloniaプロジェクトでの動作"
"3","UT-ACS-003","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","IsAvaloniaPropertyType","正常系","StyledPropertyがAvaloniaPropertyとして認識されること","StyledProperty型の定義が存在","StyledProperty<T>型","trueが返却される","高","型判定の基本機能"
"4","UT-ACS-004","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","IsAvaloniaPropertyType","正常系","AttachedPropertyがAvaloniaPropertyとして認識されること","AttachedProperty型の定義が存在","AttachedProperty<T>型","trueが返却される","高","型判定の基本機能"
"5","UT-ACS-005","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","IsAvaloniaPropertyType","正常系","DirectPropertyがAvaloniaPropertyとして認識されること","DirectProperty型の定義が存在","DirectProperty<TOwner, TValue>型","trueが返却される","高","型判定の基本機能"
"6","UT-ACS-006","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","IsAvaloniaPropertyType","異常系","通常の型がAvaloniaPropertyとして認識されないこと","なし","string型","falseが返却される","中","型判定の境界ケース"
"7","UT-ACS-007","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","DerivesFrom","正常系","派生型がベース型から派生していると判定されること","クラス階層が定義されている","派生クラスとベースクラス","trueが返却される","高","継承判定の基本機能"
"8","UT-ACS-008","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","DerivesFrom","正常系","includeSelf=trueの場合、同一型がtrueを返すこと","なし","同一の型、includeSelf=true","trueが返却される","中","自己参照の判定"
"9","UT-ACS-009","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","DerivesFrom","正常系","includeSelf=falseの場合、同一型がfalseを返すこと","なし","同一の型、includeSelf=false","falseが返却される","中","自己参照の除外"
"10","UT-ACS-010","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","DerivesFrom","異常系","baseTypeがnullの場合falseが返されること","なし","type=有効な型、baseType=null","falseが返却される","低","null入力処理"
"11","UT-ACS-011","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","DerivesFrom","異常系","typeがnullの場合falseが返されること","なし","type=null、baseType=有効な型","falseが返却される","低","null入力処理"
"12","UT-ACS-012","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","ResolveOperationSource","正常系","変換操作が正しく解決されること","IConversionOperationが存在","変換操作のオペレーション","オペランドが返却される","高","操作解決の基本機能"
"13","UT-ACS-013","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","ResolveOperationSource","正常系","単純代入操作が正しく解決されること","ISimpleAssignmentOperationが存在","代入操作のオペレーション","代入値が返却される","高","操作解決の基本機能"
"14","UT-ACS-014","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","ResolveOperationSource","正常系","ネストした変換と代入が正しく解決されること","複合操作が存在","変換と代入がネストした操作","最終的なソースが返却される","中","複合操作の解決"
"15","UT-ACS-015","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","ResolveOperationSource","異常系","循環参照が検出された場合、現在の操作が返されること","循環参照を含む操作","循環参照のあるオペレーション","現在のオペレーションが返却される（無限ループ防止）","高","循環参照の処理"
"16","UT-ACS-016","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","ResolveOperationTarget","正常系","変換操作のターゲットが正しく解決されること","IConversionOperationが存在","変換操作のオペレーション","親オペレーションが返却される","高","ターゲット解決の基本機能"
"17","UT-ACS-017","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","ResolveOperationTarget","正常系","単純代入操作のターゲットが正しく解決されること","ISimpleAssignmentOperationが存在","代入操作のオペレーション","代入ターゲットが返却される","高","ターゲット解決の基本機能"
"18","UT-ACS-018","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","GetReferencedFieldOrProperty","正常系","フィールド参照から正しくシンボルが取得されること","フィールド参照操作が存在","IFieldReferenceOperation","フィールドシンボルが返却される","高","シンボル取得の基本機能"
"19","UT-ACS-019","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","GetReferencedFieldOrProperty","正常系","プロパティ参照から正しくシンボルが取得されること","プロパティ参照操作が存在","IPropertyReferenceOperation","プロパティシンボルが返却される","高","シンボル取得の基本機能"
"20","UT-ACS-020","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","GetReferencedFieldOrProperty","正常系","引数操作から正しくシンボルが取得されること","引数操作が存在","IArgumentOperation","引数内のシンボルが返却される","中","間接参照の解決"
"21","UT-ACS-021","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","GetReferencedFieldOrProperty","異常系","操作がnullの場合nullが返されること","なし","null","nullが返却される","低","null入力処理"
"22","UT-ACS-022","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","IsValidAvaloniaPropertyStorage","正常系","staticかつreadonlyのフィールドが有効と判定されること","フィールドが定義されている","static readonly IFieldSymbol","trueが返却される","高","ストレージ検証"
"23","UT-ACS-023","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","IsValidAvaloniaPropertyStorage","異常系","非staticのフィールドが無効と判定されること","フィールドが定義されている","非static readonly IFieldSymbol","falseが返却される","高","ストレージ検証"
"24","UT-ACS-024","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","IsValidAvaloniaPropertyStorage","異常系","非readonlyのフィールドが無効と判定されること","フィールドが定義されている","static 非readonly IFieldSymbol","falseが返却される","高","ストレージ検証"
"25","UT-ACS-025","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","WrapAndThrowIfNotCancellation","正常系","キャンセル例外の場合は再スローされないこと","なし","OperationCanceledException（一致するトークン）","例外がスローされない","中","例外処理"
"26","UT-ACS-026","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","WrapAndThrowIfNotCancellation","異常系","非キャンセル例外の場合はAvaloniaAnalysisExceptionがスローされること","なし","通常のException","AvaloniaAnalysisExceptionがスローされる","高","例外ラッピング"
"27","UT-ACS-027","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","SymbolEquals","正常系","同一シンボルがtrueを返すこと","シンボルが存在","同一のシンボル2つ","trueが返却される","中","シンボル比較"
"28","UT-ACS-028","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","SymbolEquals","正常系","異なるシンボルがfalseを返すこと","シンボルが存在","異なるシンボル2つ","falseが返却される","中","シンボル比較"
"29","UT-ACS-029","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","SymbolEquals","境界値","nullシンボルの比較が正しく動作すること","なし","null, null","trueが返却される","低","null比較"
"30","UT-ACS-030","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","コンストラクタ","正常系","プロパティ説明が正しく初期化されること","なし","name=""Test"", propertyType=StyledProperty, valueType=string","Name, PropertyType, ValueTypeが設定される","高","オブジェクト初期化"
"31","UT-ACS-031","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","AddOwner","正常系","所有者が正しく追加されること","プロパティ説明が存在","TypeReference","OwnerTypesに追加される","高","所有者管理"
"32","UT-ACS-032","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","AddOwner","異常系","Seal後にAddOwnerを呼び出すとInvalidOperationExceptionがスローされること","Seal()が呼び出されている","TypeReference","InvalidOperationExceptionがスローされる","高","不変性の保証"
"33","UT-ACS-033","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","AddPropertyWrapper","正常系","プロパティラッパーが正しく追加されること","プロパティ説明が存在","IPropertySymbol","PropertyWrappersに追加される","中","ラッパー管理"
"34","UT-ACS-034","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","AddPropertyWrapper","異常系","Seal後にAddPropertyWrapperを呼び出すとInvalidOperationExceptionがスローされること","Seal()が呼び出されている","IPropertySymbol","InvalidOperationExceptionがスローされる","高","不変性の保証"
"35","UT-ACS-035","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","SetAssignment","正常系","代入情報が正しく設定されること","プロパティ説明が存在","ISymbol, TypeReference","AssignedToに追加される","高","代入追跡"
"36","UT-ACS-036","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","SetAssignment","異常系","Seal後にSetAssignmentを呼び出すとInvalidOperationExceptionがスローされること","Seal()が呼び出されている","ISymbol, TypeReference","InvalidOperationExceptionがスローされる","高","不変性の保証"
"37","UT-ACS-037","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","Seal","正常系","Seal後にコレクションが不変になること","プロパティ説明が存在","なし","OwnerTypes, PropertyWrappers, AssignedToがImmutableになる","高","不変化処理"
"38","UT-ACS-038","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","Seal","正常系","複数回Seal()を呼び出しても問題ないこと","すでにSeal()が呼び出されている","なし","thisが返却される","低","冪等性"
"39","UT-ACS-039","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","ClosestAssignmentFor","正常系","指定型の最も近い代入先が返されること","代入情報が設定されている","ITypeSymbol","最も近い代入先シンボルが返却される","高","継承階層検索"
"40","UT-ACS-040","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","ClosestAssignmentFor","境界値","該当する代入先がない場合nullが返されること","代入情報が設定されている","関連のないITypeSymbol","nullが返却される","中","検索結果なし"
"41","UT-ACS-041","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","TypeReference","コンストラクタ","正常系","TypeReferenceが正しく初期化されること","なし","ITypeSymbol, Location","TypeとLocationが設定される","低","構造体初期化"
"42","UT-ACS-042","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","コンストラクタ","正常系","CompileAnalyzerが正しく初期化されること","AvaloniaObjectTypeが存在","CompilationStartAnalysisContext, INamedTypeSymbol","各種メソッドとアクションが登録される","高","初期化処理"
"43","UT-ACS-043","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","コンストラクタ","異常系","必須の型が見つからない場合KeyNotFoundExceptionがスローされること","System.Stringなどが見つからない","不完全なCompilation","KeyNotFoundExceptionがスローされる","中","型解決エラー"
"44","UT-ACS-044","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","RegisterAvaloniaPropertySymbols","正常系","AvaloniaPropertyフィールドが正しく登録されること","AvaloniaPropertyフィールドを含むクラス","Compilation","_avaloniaPropertyDescriptionsに登録される","高","プロパティ登録"
"45","UT-ACS-045","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","RegisterAvaloniaPropertySymbols","正常系","静的コンストラクタ内の代入が追跡されること","静的コンストラクタでプロパティを初期化","Compilation","代入チェーンが解決される","高","代入追跡"
"46","UT-ACS-046","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","RegisterInitializer_Invocation","正常系","Register呼び出しからプロパティ情報が抽出されること","AvaloniaProperty.Register呼び出し","IInvocationOperation","所有者、値型、名前が抽出される","高","登録解析"
"47","UT-ACS-047","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","RegisterInitializer_Invocation","正常系","AddOwner呼び出しからプロパティ情報が更新されること","AddOwner呼び出し","IInvocationOperation","新しい所有者が追加される","高","AddOwner解析"
"48","UT-ACS-048","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","RegisterInitializer_Invocation","正常系","nameof()を使用したプロパティ名が正しく抽出されること","nameof()で名前指定","nameofを使用したRegister呼び出し","nameofのプロパティ名が抽出される","中","名前抽出"
"49","UT-ACS-049","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","RegisterInitializer_Invocation","正常系","リテラル文字列のプロパティ名が正しく抽出されること","リテラルで名前指定","文字列リテラルを使用したRegister呼び出し","リテラル文字列が抽出される","中","名前抽出"
"50","UT-ACS-050","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","RegisterInitializer_Invocation","正常系","inherits引数が正しく抽出されること","inherits=trueで登録","inherits=trueのRegister呼び出し","Inherits=trueが設定される","中","継承フラグ抽出"
"51","UT-ACS-051","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeFieldInitializer","正常系","AVP1000診断が不正なストレージで報告されること","非static/readonlyフィールド","不正なフィールド初期化","InappropriatePropertyAssignment診断が報告される","高","診断AVP1000"
"52","UT-ACS-052","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeFieldInitializer","正常系","正しいストレージでは診断が報告されないこと","static readonlyフィールド","正しいフィールド初期化","診断が報告されない","高","診断AVP1000"
"53","UT-ACS-053","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzePropertyInitializer","正常系","AVP1000診断が不正なプロパティストレージで報告されること","非static/readonlyプロパティ","不正なプロパティ初期化","InappropriatePropertyAssignment診断が報告される","高","診断AVP1000"
"54","UT-ACS-054","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzePropertyStorageAssignment","正常系","代入操作で不正なストレージが検出されること","非static/readonlyへの代入","不正な代入操作","InappropriatePropertyAssignment診断が報告される","高","診断AVP1000"
"55","UT-ACS-055","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeInitializer_Shared","正常系","AVP1022診断が名前不一致で報告されること","名前不一致のフィールド","BrushPropertyに""Color""プロパティを代入","PropertyNameMismatch診断が報告される","中","診断AVP1022"
"56","UT-ACS-056","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeInitializer_Shared","正常系","privateフィールドでは名前不一致診断が報告されないこと","privateフィールド","private名前不一致フィールド","診断が報告されない","低","プライベート除外"
"57","UT-ACS-057","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeInitializer_Shared","正常系","AVP1010診断が所有者不一致で報告されること","所有者が異なる型","非AttachedPropertyの所有者不一致","OwnerDoesNotMatchOuterType診断が報告される","中","診断AVP1010"
"58","UT-ACS-058","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzePropertyWrapperAssignment","正常系","AVP1012診断がスタイルプロパティのローカル代入で報告されること","StyledPropertyへのthis代入","this.Property = valueの代入","SettingOwnStyledPropertyValue診断が報告される","高","診断AVP1012"
"59","UT-ACS-059","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzePropertyWrapperAssignment","正常系","コンストラクタでのパラメータ転送では診断が報告されないこと","コンストラクタでパラメータを代入","new MyClass(param)","診断が報告されない","中","パラメータ転送の除外"
"60","UT-ACS-060","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzePropertyWrapperAssignment","正常系","UserControl派生では診断が報告されないこと","UserControlを継承したクラス","UserControl内でのProperty代入","診断が報告されない","中","UserControl除外"
"61","UT-ACS-061","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzePropertyWrapperAssignment","正常系","TopLevel派生では診断が報告されないこと","TopLevelを継承したクラス","TopLevel内でのProperty代入","診断が報告されない","中","TopLevel除外"
"62","UT-ACS-062","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeMethodInvocation","正常系","AVP1011診断が不適切なプロパティアクセスで報告されること","所有または添付されていないプロパティ","GetValue/SetValue with unowned property","UnexpectedPropertyAccess診断が報告される","高","診断AVP1011"
"63","UT-ACS-063","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeMethodInvocation","正常系","AVP1001診断が非静的コンテキストでの登録で報告されること","インスタンスメソッド内でRegister","非静的コンテキストでのRegister呼び出し","InappropriatePropertyRegistration診断が報告される","高","診断AVP1001"
"64","UT-ACS-064","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeMethodInvocation","正常系","静的コンストラクタでの登録では診断が報告されないこと","静的コンストラクタ","静的コンストラクタ内でのRegister","診断が報告されない","高","正常な登録パターン"
"65","UT-ACS-065","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeMethodInvocation","正常系","AVP1002診断がジェネリック型所有者で報告されること","ジェネリック型でプロパティ登録","ジェネリック型でのRegister","PropertyOwnedByGenericType診断が報告される","中","診断AVP1002"
"66","UT-ACS-066","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeMethodInvocation","正常系","AVP1013診断が冗長なAddOwnerで報告されること","基底型ですでに所有","派生型でのAddOwner","SuperfluousAddOwnerCall診断が報告される","中","診断AVP1013"
"67","UT-ACS-067","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeWrapperCrlProperty","正常系","AVP0001診断がCLRプロパティに関連付けられること","CLRプロパティとAvaloniaProperty","名前が一致するCLRプロパティ","AssociatedAvaloniaProperty情報診断が報告される","低","情報診断"
"68","UT-ACS-068","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeWrapperCrlProperty","正常系","AVP1021診断が曖昧なプロパティ名で報告されること","同名の複数AvaloniaProperty","複数候補のあるCLRプロパティ","AmbiguousPropertyName診断が報告される","中","診断AVP1021"
"69","UT-ACS-069","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeWrapperCrlProperty","正常系","AVP1040診断が型不一致で報告されること","CLRプロパティの型がAvaloniaPropertyの値型と異なる","型不一致のCLRプロパティ","PropertyTypeMismatch診断が報告される","高","診断AVP1040"
"70","UT-ACS-070","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeWrapperCrlProperty","正常系","AVP1032診断がアクセシビリティ不一致で報告されること","CLRプロパティのアクセシビリティが異なる","アクセシビリティ不一致","InconsistentAccessibility診断が報告される","中","診断AVP1032"
"71","UT-ACS-071","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeWrapperCrlProperty","正常系","AVP1031診断がアクセサ欠落で報告されること","publicプロパティでgetterなし","アクセサ欠落のCLRプロパティ","MissingAccessor診断が報告される","中","診断AVP1031"
"72","UT-ACS-072","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzePropertyMethods","正常系","AVP1030診断が副作用のあるアクセサで報告されること","GetValue/SetValue以外の処理を含むアクセサ","副作用のあるgetter/setter","AccessorSideEffects診断が報告される","中","診断AVP1030"
"73","UT-ACS-073","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzePropertyMethods","正常系","純粋なGetValue/SetValueのみのアクセサでは診断が報告されないこと","純粋なアクセサ","GetValue(Prop)/SetValue(Prop, value)のみ","診断が報告されない","中","正常なアクセサ"
"74","UT-ACS-074","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzePropertyMethods","正常系","DirectPropertyのアクセサでは診断が報告されないこと","DirectPropertyのCLRプロパティ","DirectPropertyのアクセサ","診断が報告されない","中","DirectProperty除外"
"75","UT-ACS-075","src/tools/Avalonia.Analyzers.CSharp/BitmapAnalyzer.cs","BitmapAnalyzer","Initialize","正常系","ObjectCreationExpressionに対してアクションが登録されること","Roslyn解析コンテキスト","AnalysisContext","ObjectCreationExpressionのSyntaxNodeActionが登録される","高","Analyzer初期化"
"76","UT-ACS-076","src/tools/Avalonia.Analyzers.CSharp/BitmapAnalyzer.cs","BitmapAnalyzer","AnalyzeNode","正常系","avares://スキームを使用したBitmap初期化で診断が報告されること","Bitmapクラスが定義されている","new Bitmap(""avares://..."")","AVA2002診断が報告される","高","avares検出"
"77","UT-ACS-077","src/tools/Avalonia.Analyzers.CSharp/BitmapAnalyzer.cs","BitmapAnalyzer","AnalyzeNode","正常系","通常のファイルパスでは診断が報告されないこと","Bitmapクラスが定義されている","new Bitmap(""C:/path/image.png"")","診断が報告されない","高","正常パス"
"78","UT-ACS-078","src/tools/Avalonia.Analyzers.CSharp/BitmapAnalyzer.cs","BitmapAnalyzer","AnalyzeNode","正常系","Bitmap以外のクラスでは診断が報告されないこと","他のクラスが定義されている","new OtherClass(""avares://..."")","診断が報告されない","中","対象外クラス"
"79","UT-ACS-079","src/tools/Avalonia.Analyzers.CSharp/BitmapAnalyzer.cs","BitmapAnalyzer","AnalyzeNode","境界値","非定数引数では診断が報告されないこと","Bitmapクラスが定義されている","new Bitmap(variable)","診断が報告されない","低","非定数引数"
"80","UT-ACS-080","src/tools/Avalonia.Analyzers.CSharp/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","Initialize","正常系","MethodDeclarationに対してアクションが登録されること","Roslyn解析コンテキスト","AnalysisContext","MethodDeclarationのSyntaxNodeActionが登録される","高","Analyzer初期化"
"81","UT-ACS-081","src/tools/Avalonia.Analyzers.CSharp/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","AnalyzeMethod","正常系","base.OnPropertyChangedを呼び出さないオーバーライドで診断が報告されること","AvaloniaObjectを継承したクラス","base呼び出しのないOnPropertyChangedオーバーライド","AVA2001診断が報告される","高","base呼び出し検出"
"82","UT-ACS-082","src/tools/Avalonia.Analyzers.CSharp/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","AnalyzeMethod","正常系","base.OnPropertyChangedを呼び出すオーバーライドでは診断が報告されないこと","AvaloniaObjectを継承したクラス","base.OnPropertyChanged()を含むオーバーライド","診断が報告されない","高","正常なオーバーライド"
"83","UT-ACS-083","src/tools/Avalonia.Analyzers.CSharp/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","AnalyzeMethod","正常系","OnPropertyChanged以外のメソッドでは診断が報告されないこと","任意のクラス","OnPropertyChanged以外のメソッド","診断が報告されない","中","対象外メソッド"
"84","UT-ACS-084","src/tools/Avalonia.Analyzers.CSharp/OnPropertyChangedOverrideAnalyzer.cs","OnPropertyChangedOverrideAnalyzer","AnalyzeMethod","正常系","非オーバーライドメソッドでは診断が報告されないこと","任意のクラス","overrideでないOnPropertyChangedメソッド","診断が報告されない","中","非オーバーライド"
"85","UT-ACS-085","src/tools/Avalonia.Analyzers.CSharp/DiagnosticIds.cs","DiagnosticIds","定数","正常系","OnPropertyChangedOverrideが正しい値であること","なし","DiagnosticIds.OnPropertyChangedOverride","AVA2001が返却される","低","定数確認"
"86","UT-ACS-086","src/tools/Avalonia.Analyzers.CSharp/DiagnosticIds.cs","DiagnosticIds","定数","正常系","Bitmapが正しい値であること","なし","DiagnosticIds.Bitmap","AVA2002が返却される","低","定数確認"
"87","UT-ACS-087","src/tools/Avalonia.Analyzers.CSharp/AvaloniaAnalysisException.cs","AvaloniaAnalysisException","コンストラクタ","正常系","メッセージとinner例外で初期化できること","なし","message=""error"", innerException=Exception","Message, InnerExceptionが設定される","中","例外初期化"
"88","UT-ACS-088","src/tools/Avalonia.Analyzers.CSharp/AvaloniaAnalysisException.cs","AvaloniaAnalysisException","コンストラクタ","正常系","inner例外なしで初期化できること","なし","message=""error"", innerException=null","Messageが設定され、InnerExceptionはnull","中","例外初期化"
"89","UT-ACS-089","src/tools/Avalonia.Analyzers.CSharp/AvaloniaAnalysisException.cs","AvaloniaAnalysisException","シリアライゼーション","正常系","シリアライズとデシリアライズが正しく動作すること","シリアライゼーションコンテキスト","SerializationInfo, StreamingContext","例外が復元される","低","シリアライズ対応"
"90","UT-ACS-090","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CSharp.cs","AvaloniaPropertyAnalyzer","TypeReferenceFromInvocationTypeParameter","正常系","型パラメータからTypeReferenceが正しく生成されること","ジェネリックメソッド呼び出し","IInvocationOperation, ITypeParameterSymbol","正しいTypeReferenceが返却される","高","型参照抽出"
"91","UT-ACS-091","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CSharp.cs","AvaloniaPropertyAnalyzer","TypeReferenceFromInvocationTypeParameter","正常系","型引数リストがない場合でも動作すること","型推論されたメソッド呼び出し","型引数リストのないIInvocationOperation","呼び出し構文の位置が返却される","中","型推論対応"
"92","UT-ACS-092","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CSharp.cs","AvaloniaPropertyAnalyzer","IsSimpleAssignmentNode","正常系","SimpleAssignmentExpressionがtrueを返すこと","C#のソースコード","SimpleAssignmentExpressionノード","trueが返却される","中","構文判定"
"93","UT-ACS-093","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CSharp.cs","AvaloniaPropertyAnalyzer","IsSimpleAssignmentNode","正常系","他の式がfalseを返すこと","C#のソースコード","AddExpressionノード","falseが返却される","低","構文判定"
"94","UT-ACS-094","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CSharp.cs","AvaloniaPropertyAnalyzer","IsInvocationNode","正常系","InvocationExpressionがtrueを返すこと","C#のソースコード","InvocationExpressionノード","trueが返却される","中","構文判定"
"95","UT-ACS-095","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CSharp.cs","AvaloniaPropertyAnalyzer","IsInvocationNode","正常系","他の式がfalseを返すこと","C#のソースコード","ObjectCreationExpressionノード","falseが返却される","低","構文判定"
"1","UT-ACF-001","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","FixableDiagnosticIds","正常系","FixableDiagnosticIdsがAVA2002を含むこと","なし","なし","ImmutableArray<string>に""AVA2002""が含まれる","高","診断IDの正確性は修正対象の特定に必須"
"2","UT-ACF-002","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","FixableDiagnosticIds","正常系","FixableDiagnosticIdsが1件のみ返却されること","なし","なし","ImmutableArray<string>の要素数が1","中","想定外の診断IDに反応しないことの確認"
"3","UT-ACF-003","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","GetFixAllProvider","正常系","WellKnownFixAllProviders.BatchFixerが返却されること","なし","なし","WellKnownFixAllProviders.BatchFixerと等しいオブジェクトが返却される","高","一括修正機能の提供確認"
"4","UT-ACF-004","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","GetFixAllProvider","正常系","GetFixAllProviderがnullを返却しないこと","なし","なし","戻り値がnullではない","中","FixAllProviderの存在確認"
"5","UT-ACF-005","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","RegisterCodeFixesAsync","正常系","avares://で始まる文字列引数を含むローカル変数宣言に対してコード修正が登録されること","AVA2002診断が報告されたドキュメント","診断位置にLocalDeclarationStatementSyntaxが存在","CodeFixContextにコード修正が1件登録される","高","基本的なコード修正登録機能"
"6","UT-ACF-006","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","RegisterCodeFixesAsync","正常系","登録されるコード修正のタイトルが正しいこと","AVA2002診断が報告されたドキュメント","診断位置にLocalDeclarationStatementSyntaxが存在","登録されるCodeActionのタイトルが""Use AssetLoader to open assets as stream first""である","中","ユーザー向け表示の確認"
"7","UT-ACF-007","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","RegisterCodeFixesAsync","異常系","複数の診断がある場合に最初の診断のみ処理されること","AVA2002診断が複数報告されたドキュメント","context.Diagnosticsに複数の診断が含まれる","最初の診断位置に対してのみコード修正が登録される","中","First()による取得動作の確認"
"8","UT-ACF-008","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","RegisterCodeFixesAsync","異常系","LocalDeclarationStatementSyntaxが見つからない場合に例外がスローされること","AVA2002診断が報告されたドキュメント","診断位置にLocalDeclarationStatementSyntaxが存在しない","InvalidOperationExceptionがスローされる","高","異常ケースのエラーハンドリング確認"
"9","UT-ACF-009","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","正常系","avares://で始まる文字列がAssetLoader.Open(new Uri(...))に置換されること","ObjectCreationExpressionSyntaxを含むローカル変数宣言","引数に""avares://MyAssembly/Assets/image.png""を含む","引数がAssetLoader.Open(new Uri(""avares://MyAssembly/Assets/image.png""))に変換される","高","コア機能のテスト"
"10","UT-ACF-010","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","正常系","avares://で始まらない文字列引数は変換されないこと","ObjectCreationExpressionSyntaxを含むローカル変数宣言","引数に""https://example.com/image.png""を含む","引数がそのまま保持される","高","非対象引数の保護確認"
"11","UT-ACF-011","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","正常系","複数の引数がある場合にavares://で始まる引数のみ置換されること","ObjectCreationExpressionSyntaxを含むローカル変数宣言","引数に""avares://...""と""file://...""の両方を含む","avares://の引数のみAssetLoader.Open形式に変換され、他の引数はそのまま","高","選択的変換の確認"
"12","UT-ACF-012","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","正常系","Avalonia.Platform using文が追加されること","using Avalonia.Platformが存在しないドキュメント","avares://で始まる引数を含む宣言","変換後のドキュメントにusing Avalonia.Platform;が追加される","高","必要な名前空間の自動追加"
"13","UT-ACF-013","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","正常系","System using文が追加されること","using Systemが存在しないドキュメント","avares://で始まる引数を含む宣言","変換後のドキュメントにusing System;が追加される","高","Uriクラス用の名前空間追加"
"14","UT-ACF-014","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","正常系","既存のAvalonia.Platform using文がある場合は重複追加されないこと","using Avalonia.Platformが既に存在するドキュメント","avares://で始まる引数を含む宣言","using Avalonia.Platform;が重複して追加されない","中","重複using防止の確認"
"15","UT-ACF-015","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","正常系","既存のSystem using文がある場合は重複追加されないこと","using Systemが既に存在するドキュメント","avares://で始まる引数を含む宣言","using System;が重複して追加されない","中","重複using防止の確認"
"16","UT-ACF-016","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","境界値","空文字列の引数がある場合は変換されないこと","ObjectCreationExpressionSyntaxを含むローカル変数宣言","引数に空文字列""""を含む","引数がそのまま保持される","中","空文字列の境界値テスト"
"17","UT-ACF-017","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","境界値","avares://のみの文字列（パスなし）が正しく処理されること","ObjectCreationExpressionSyntaxを含むローカル変数宣言","引数に""avares://""のみを含む","AssetLoader.Open(new Uri(""avares://""))に変換される","低","最小avares文字列の処理"
"18","UT-ACF-018","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","境界値","引数が0件の場合に例外がスローされないこと","ObjectCreationExpressionSyntaxを含むローカル変数宣言","ArgumentListが空","空のArgumentListのままオブジェクト生成式が保持される","中","空引数リストの処理"
"19","UT-ACF-019","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","異常系","定数でない式の引数は変換されないこと","ObjectCreationExpressionSyntaxを含むローカル変数宣言","引数に変数参照や関数呼び出しを含む","定数でない引数はそのまま保持される","高","GetConstantValue().HasValueがfalseの場合"
"20","UT-ACF-020","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","異常系","文字列以外の定数値の引数は変換されないこと","ObjectCreationExpressionSyntaxを含むローカル変数宣言","引数に数値リテラル(例: 123)を含む","数値引数はそのまま保持される","中","constantValue.Valueが文字列でない場合"
"21","UT-ACF-021","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","正常系","avares://の大文字小文字が保持されること","ObjectCreationExpressionSyntaxを含むローカル変数宣言","引数に""avares://MyAssembly/Path""を含む","変換後のUri引数で元の大文字小文字が保持される","中","文字列の完全性確認"
"22","UT-ACF-022","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","正常系","特殊文字を含むパスが正しく処理されること","ObjectCreationExpressionSyntaxを含むローカル変数宣言","引数に""avares://Assembly/Path With Space/image.png""を含む","特殊文字を含むパスがそのままUri引数として保持される","中","パスの特殊文字処理"
"23","UT-ACF-023","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","正常系","日本語パスが正しく処理されること","ObjectCreationExpressionSyntaxを含むローカル変数宣言","引数に""avares://Assembly/画像/test.png""を含む","日本語パスがそのままUri引数として保持される","低","マルチバイト文字の処理"
"24","UT-ACF-024","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","RegisterCodeFixesAsync","異常系","CancellationTokenがキャンセルされた場合の動作","AVA2002診断が報告されたドキュメント","context.CancellationTokenがキャンセル済み","OperationCanceledExceptionがスローされるか、処理が中断される","中","キャンセル処理の確認"
"25","UT-ACF-025","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","異常系","SyntaxRootがnullの場合の動作","不正なドキュメント状態","GetSyntaxRootAsync()がnullを返す","NullReferenceExceptionがスローされる","中","異常ドキュメント状態のテスト"
"26","UT-ACF-026","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","異常系","SemanticModelがnullの場合の動作","不正なドキュメント状態","GetSemanticModelAsync()がnullを返す","NullReferenceExceptionがスローされる","中","異常ドキュメント状態のテスト"
"27","UT-ACF-027","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","ReplaceArgumentAsync","異常系","ObjectCreationExpressionSyntaxが見つからない場合の動作","LocalDeclarationStatementSyntaxは存在するが内部にObjectCreationExpressionSyntaxがない","ObjectCreationExpressionSyntaxを含まない宣言","InvalidOperationExceptionがスローされる","高","First()による例外発生の確認"
"28","UT-ACF-028","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","クラス属性","正常系","ExportCodeFixProvider属性が正しく設定されていること","なし","なし","LanguageNames.CSharpとName=nameof(BitmapAnalyzerCodeFixProvider)で属性が設定されている","高","MEFによるエクスポート設定の確認"
"29","UT-ACF-029","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","クラス属性","正常系","Shared属性が設定されていること","なし","なし","[Shared]属性がクラスに付与されている","中","MEFによる共有設定の確認"
"30","UT-ACF-030","src/tools/Avalonia.Analyzers.CodeFixes.CSharp/BitmapAnalyzerCodeFixProvider.cs","BitmapAnalyzerCodeFixProvider","継承","正常系","CodeFixProviderを継承していること","なし","なし","BitmapAnalyzerCodeFixProviderがCodeFixProviderを継承している","高","Roslyn Analyzerフレームワークとの互換性"
"1","UT-AVB-001","src/tools/Avalonia.Analyzers.VisualBasic/AvaloniaPropertyAnalyzer.VisualBasic.cs","AvaloniaPropertyAnalyzer","TypeReferenceFromInvocationTypeParameter","正常系","型パラメータから正しいTypeReferenceが生成されること","IInvocationOperationが有効なVisual Basic構文を持つ","invocation=有効なInvocationOperation, typeParameter=Ordinal=0のITypeParameterSymbol","対応する型引数とロケーションを持つTypeReferenceが返却される","高","Visual Basic固有の型参照解決"
"2","UT-AVB-002","src/tools/Avalonia.Analyzers.VisualBasic/AvaloniaPropertyAnalyzer.VisualBasic.cs","AvaloniaPropertyAnalyzer","TypeReferenceFromInvocationTypeParameter","正常系","複数の型パラメータがある場合にOrdinalで正しい型が選択されること","ジェネリックメソッド呼び出しで複数の型引数がある","invocation=Register<TOwner, TValue>呼び出し, typeParameter=Ordinal=1","TValueに対応するTypeReferenceが返却される","高","型パラメータ順序の正確性"
"3","UT-AVB-003","src/tools/Avalonia.Analyzers.VisualBasic/AvaloniaPropertyAnalyzer.VisualBasic.cs","AvaloniaPropertyAnalyzer","TypeReferenceFromInvocationTypeParameter","境界値","Ordinalが0の場合に最初の型引数が取得されること","単一の型パラメータを持つメソッド呼び出し","invocation=単一型引数のメソッド, typeParameter=Ordinal=0","最初の型引数のTypeReferenceが返却される","中","境界値: 最小インデックス"
"4","UT-AVB-004","src/tools/Avalonia.Analyzers.VisualBasic/AvaloniaPropertyAnalyzer.VisualBasic.cs","AvaloniaPropertyAnalyzer","TypeReferenceFromInvocationTypeParameter","正常系","Locationが正しくSyntaxから取得されること","Visual Basic構文ノードが有効なロケーション情報を持つ","invocation=ロケーション情報を持つVB構文","TypeReference.Locationがinvocation.Syntax.GetLocation()と一致する","中","ロケーション情報の正確性"
"5","UT-AVB-005","src/tools/Avalonia.Analyzers.VisualBasic/AvaloniaPropertyAnalyzer.VisualBasic.cs","AvaloniaPropertyAnalyzer","IsSimpleAssignmentNode","正常系","SimpleAssignmentStatementノードでtrueが返されること","Visual Basic構文ノードがSimpleAssignmentStatement","node=SyntaxKind.SimpleAssignmentStatementのノード","trueが返却される","高","VB代入文の識別"
"6","UT-AVB-006","src/tools/Avalonia.Analyzers.VisualBasic/AvaloniaPropertyAnalyzer.VisualBasic.cs","AvaloniaPropertyAnalyzer","IsSimpleAssignmentNode","異常系","非代入文ノードでfalseが返されること","Visual Basic構文ノードが代入文以外","node=SyntaxKind.InvocationExpressionのノード","falseが返却される","高","非代入文の除外"
"7","UT-AVB-007","src/tools/Avalonia.Analyzers.VisualBasic/AvaloniaPropertyAnalyzer.VisualBasic.cs","AvaloniaPropertyAnalyzer","IsSimpleAssignmentNode","異常系","CompoundAssignmentノードでfalseが返されること","Visual Basic構文ノードが複合代入文","node=SyntaxKind.AddAssignmentStatementのノード","falseが返却される","中","複合代入文の除外"
"8","UT-AVB-008","src/tools/Avalonia.Analyzers.VisualBasic/AvaloniaPropertyAnalyzer.VisualBasic.cs","AvaloniaPropertyAnalyzer","IsSimpleAssignmentNode","異常系","VariableDeclaratorノードでfalseが返されること","Visual Basic構文ノードが変数宣言","node=SyntaxKind.VariableDeclaratorのノード","falseが返却される","低","変数宣言の除外"
"9","UT-AVB-009","src/tools/Avalonia.Analyzers.VisualBasic/AvaloniaPropertyAnalyzer.VisualBasic.cs","AvaloniaPropertyAnalyzer","IsInvocationNode","正常系","InvocationExpressionノードでtrueが返されること","Visual Basic構文ノードがInvocationExpression","node=SyntaxKind.InvocationExpressionのノード","trueが返却される","高","VBメソッド呼び出しの識別"
"10","UT-AVB-010","src/tools/Avalonia.Analyzers.VisualBasic/AvaloniaPropertyAnalyzer.VisualBasic.cs","AvaloniaPropertyAnalyzer","IsInvocationNode","異常系","非呼び出しノードでfalseが返されること","Visual Basic構文ノードがメソッド呼び出し以外","node=SyntaxKind.SimpleAssignmentStatementのノード","falseが返却される","高","非呼び出し文の除外"
"11","UT-AVB-011","src/tools/Avalonia.Analyzers.VisualBasic/AvaloniaPropertyAnalyzer.VisualBasic.cs","AvaloniaPropertyAnalyzer","IsInvocationNode","異常系","MemberAccessExpressionノードでfalseが返されること","Visual Basic構文ノードがメンバーアクセス（呼び出しなし）","node=SyntaxKind.SimpleMemberAccessExpressionのノード","falseが返却される","中","メンバーアクセスの除外"
"12","UT-AVB-012","src/tools/Avalonia.Analyzers.VisualBasic/AvaloniaPropertyAnalyzer.VisualBasic.cs","AvaloniaPropertyAnalyzer","IsInvocationNode","異常系","ObjectCreationExpressionノードでfalseが返されること","Visual Basic構文ノードがNew式","node=SyntaxKind.ObjectCreationExpressionのノード","falseが返却される","低","オブジェクト生成式の除外"
"13","UT-AVB-013","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","Initialize","正常系","AnalysisContextにコールバックが正しく登録されること","AvaloniaObjectTypeがコンパイルに存在する","context=有効なAnalysisContext","RegisterCompilationStartActionが呼び出される","高","Analyzer初期化"
"14","UT-AVB-014","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","Initialize","正常系","AvaloniaObjectTypeが見つからない場合CompileAnalyzerが作成されないこと","AvaloniaObjectTypeがコンパイルに存在しない","context=Avalonia参照なしのコンパイル","CompileAnalyzerが生成されない","中","依存関係欠如時の安全な処理"
"15","UT-AVB-015","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","SupportedDiagnostics","正常系","サポートされる診断が正しく返されること","なし","なし","15個のDiagnosticDescriptorを含むImmutableArrayが返却される","中","診断定義の完全性"
"16","UT-AVB-016","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","IsAvaloniaPropertyType","正常系","StyledPropertyTypeでtrueが返されること","有効な型シンボル","type=StyledProperty<T>","trueが返却される","高","プロパティ型識別"
"17","UT-AVB-017","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","IsAvaloniaPropertyType","正常系","AttachedPropertyTypeでtrueが返されること","有効な型シンボル","type=AttachedProperty<T>","trueが返却される","高","プロパティ型識別"
"18","UT-AVB-018","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","IsAvaloniaPropertyType","正常系","DirectPropertyTypeでtrueが返されること","有効な型シンボル","type=DirectProperty<TOwner, TValue>","trueが返却される","高","プロパティ型識別"
"19","UT-AVB-019","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","IsAvaloniaPropertyType","異常系","無関係な型でfalseが返されること","有効な型シンボル","type=System.String","falseが返却される","高","非AvaloniaProperty型の除外"
"20","UT-AVB-020","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","DerivesFrom","正常系","派生型でtrueが返されること","有効な型階層","type=DerivedType, baseType=BaseType (DerivedType : BaseType)","trueが返却される","高","型階層の検証"
"21","UT-AVB-021","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","DerivesFrom","正常系","includeSelf=trueで同一型でtrueが返されること","有効な型シンボル","type=MyType, baseType=MyType, includeSelf=true","trueが返却される","中","自己参照許可"
"22","UT-AVB-022","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","DerivesFrom","異常系","includeSelf=falseで同一型でfalseが返されること","有効な型シンボル","type=MyType, baseType=MyType, includeSelf=false","falseが返却される","中","自己参照除外"
"23","UT-AVB-023","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","DerivesFrom","異常系","無関係な型でfalseが返されること","有効な型シンボル","type=TypeA, baseType=TypeB (継承関係なし)","falseが返却される","高","無関係型の除外"
"24","UT-AVB-024","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","DerivesFrom","境界値","baseTypeがnullの場合falseが返されること","type有効, baseType=null","type=ValidType, baseType=null","falseが返却される","中","null baseType処理"
"25","UT-AVB-025","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","ResolveOperationSource","正常系","変換操作が元のオペランドに解決されること","IConversionOperationが存在","operation=IConversionOperation with Operand","元のオペランドが返却される","高","変換操作の追跡"
"26","UT-AVB-026","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","ResolveOperationSource","正常系","代入操作がソース値に解決されること","ISimpleAssignmentOperationが存在","operation=ISimpleAssignmentOperation with Value","Value部分が返却される","高","代入操作の追跡"
"27","UT-AVB-027","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","ResolveOperationSource","正常系","チェーンされた操作が最終ソースに解決されること","複数の変換・代入のチェーン","operation=変換→代入→変換のチェーン","最終的なソースオペレーションが返却される","中","複合操作の追跡"
"28","UT-AVB-028","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","ResolveOperationSource","異常系","循環参照が検出された場合に無限ループせず終了すること","循環参照を持つ操作","operation=自己参照または循環参照を持つ操作","現在のoperationが返却される（無限ループなし）","高","循環参照防止"
"29","UT-AVB-029","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","ResolveOperationSource","異常系","キャンセル要求時にOperationCanceledExceptionがスローされること","CancellationTokenがキャンセル済み","operation=有効な操作, cancellationToken=キャンセル済み","OperationCanceledExceptionがスローされる","高","キャンセル処理"
"30","UT-AVB-030","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","ResolveOperationTarget","正常系","変換操作がParentに解決されること","IConversionOperationが存在","operation=IConversionOperation with Parent","Parent操作が返却される","高","変換操作のターゲット追跡"
"31","UT-AVB-031","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","ResolveOperationTarget","正常系","代入操作がTargetに解決されること","ISimpleAssignmentOperationが存在","operation=ISimpleAssignmentOperation with Target","Target部分が返却される","高","代入操作のターゲット追跡"
"32","UT-AVB-032","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","GetReferencedFieldOrProperty","正常系","フィールド参照操作からフィールドシンボルが取得されること","IFieldReferenceOperationが存在","operation=IFieldReferenceOperation","IFieldSymbolが返却される","高","フィールド参照解決"
"33","UT-AVB-033","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","GetReferencedFieldOrProperty","正常系","プロパティ参照操作からプロパティシンボルが取得されること","IPropertyReferenceOperationが存在","operation=IPropertyReferenceOperation","IPropertySymbolが返却される","高","プロパティ参照解決"
"34","UT-AVB-034","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","GetReferencedFieldOrProperty","正常系","引数操作からネストされた参照が取得されること","IArgumentOperationが存在","operation=IArgumentOperation wrapping IFieldReferenceOperation","内部のIFieldSymbolが返却される","中","引数内参照解決"
"35","UT-AVB-035","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","GetReferencedFieldOrProperty","異常系","nullの入力でnullが返されること","operation=null","operation=null","nullが返却される","中","null入力処理"
"36","UT-AVB-036","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","GetReferencedFieldOrProperty","異常系","フィールド/プロパティ参照以外でnullが返されること","ILocalReferenceOperationなど","operation=ILocalReferenceOperation","nullが返却される","中","非対象操作の除外"
"37","UT-AVB-037","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","IsValidAvaloniaPropertyStorage (Field)","正常系","static readonlyフィールドでtrueが返されること","有効なフィールドシンボル","field=static readonly IFieldSymbol","trueが返却される","高","有効なプロパティ格納場所"
"38","UT-AVB-038","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","IsValidAvaloniaPropertyStorage (Field)","異常系","非staticフィールドでfalseが返されること","有効なフィールドシンボル","field=instance readonly IFieldSymbol","falseが返却される","高","無効な格納場所の検出"
"39","UT-AVB-039","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","IsValidAvaloniaPropertyStorage (Field)","異常系","非readonlyフィールドでfalseが返されること","有効なフィールドシンボル","field=static non-readonly IFieldSymbol","falseが返却される","高","無効な格納場所の検出"
"40","UT-AVB-040","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","IsValidAvaloniaPropertyStorage (Property)","正常系","static readonlyプロパティでtrueが返されること","有効なプロパティシンボル","property=static readonly IPropertySymbol","trueが返却される","高","有効なプロパティ格納場所"
"41","UT-AVB-041","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","WrapAndThrowIfNotCancellation","正常系","キャンセル例外の場合は再スローしないこと","OperationCanceledExceptionが発生","exception=OperationCanceledException（対応するtoken）","例外がスローされない（単に戻る）","高","キャンセル例外の特別処理"
"42","UT-AVB-042","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","WrapAndThrowIfNotCancellation","異常系","非キャンセル例外がAvaloniaAnalysisExceptionにラップされること","他の例外が発生","exception=InvalidOperationException","AvaloniaAnalysisExceptionがスローされる","高","例外ラップ"
"43","UT-AVB-043","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","SymbolEquals","正常系","同一シンボルでtrueが返されること","有効なシンボル","x=Symbol1, y=Symbol1（同一）","trueが返却される","中","シンボル比較"
"44","UT-AVB-044","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","SymbolEquals","異常系","異なるシンボルでfalseが返されること","有効なシンボル","x=Symbol1, y=Symbol2（異なる）","falseが返却される","中","シンボル比較"
"45","UT-AVB-045","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyAnalyzer","SymbolEquals","境界値","両方nullでtrueが返されること","null入力","x=null, y=null","trueが返却される","低","null比較"
"46","UT-AVB-046","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","AddOwner","正常系","所有者が追加されること","未シール状態のPropertyDescription","owner=有効なTypeReference","OwnerTypesに追加される","高","所有者管理"
"47","UT-AVB-047","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","AddOwner","異常系","シール後に追加するとInvalidOperationExceptionがスローされること","シール済みPropertyDescription","owner=有効なTypeReference","InvalidOperationExceptionがスローされる","高","シール後の変更防止"
"48","UT-AVB-048","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","AddPropertyWrapper","正常系","プロパティラッパーが追加されること","未シール状態のPropertyDescription","property=有効なIPropertySymbol","PropertyWrappersに追加される","中","ラッパー管理"
"49","UT-AVB-049","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","SetAssignment","正常系","代入ターゲットが設定されること","未シール状態のPropertyDescription","assignmentTarget=ISymbol, ownerType=TypeReference","AssignedToに設定される","高","代入情報管理"
"50","UT-AVB-050","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","Seal","正常系","シール後にコレクションがImmutableになること","未シール状態のPropertyDescription","なし","OwnerTypes, PropertyWrappers, AssignedToがImmutableコレクションになる","高","シール処理"
"51","UT-AVB-051","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","Seal","正常系","既にシール済みの場合は同じインスタンスが返されること","シール済みPropertyDescription","なし","同一インスタンスが返却される","中","二重シール防止"
"52","UT-AVB-052","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","ClosestAssignmentFor","正常系","型階層で最も近い代入シンボルが返されること","複数の所有者を持つPropertyDescription","type=DerivedType（BaseTypeにも代入あり）","DerivedTypeの代入シンボルが返却される","高","階層型検索"
"53","UT-AVB-053","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","AvaloniaPropertyDescription","ClosestAssignmentFor","異常系","代入がない型でnullが返されること","PropertyDescription","type=無関係なType","nullが返却される","中","代入なしの処理"
"54","UT-AVB-054","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.cs","TypeReference","Constructor","正常系","TypeとLocationが正しく設定されること","有効な引数","type=ITypeSymbol, location=Location","プロパティが正しく設定される","低","構造体初期化"
"55","UT-AVB-055","src/tools/Avalonia.Analyzers.CSharp/AvaloniaAnalysisException.cs","AvaloniaAnalysisException","Constructor (message, innerException)","正常系","メッセージと内部例外が設定されること","有効な引数","message=""Error"", innerException=new Exception()","MessageとInnerExceptionが設定される","中","例外構築"
"56","UT-AVB-056","src/tools/Avalonia.Analyzers.CSharp/AvaloniaAnalysisException.cs","AvaloniaAnalysisException","Constructor (message, innerException)","正常系","内部例外がnullでも動作すること","innerException=null","message=""Error"", innerException=null","InnerExceptionがnull","低","オプショナル内部例外"
"57","UT-AVB-057","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","Constructor","正常系","必要な型シンボルが正しく解決されること","有効なコンパイルコンテキスト","context=Avalonia参照を含むコンパイル","全てのプロパティ型が解決される","高","Analyzer初期化"
"58","UT-AVB-058","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","Constructor","異常系","必要な型が見つからない場合KeyNotFoundExceptionがスローされること","不完全なコンパイルコンテキスト","context=AvaloniaPropertyが欠如","KeyNotFoundExceptionがスローされる","高","依存関係検証"
"59","UT-AVB-059","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeFieldInitializer","正常系","有効なAvaloniaProperty格納に診断が報告されないこと","static readonlyフィールドでの初期化","operation=static readonly フィールド初期化","診断が報告されない","高","正常初期化"
"60","UT-AVB-060","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeFieldInitializer","異常系","無効なAvaloniaProperty格納でAVP1000が報告されること","非static/非readonlyフィールドでの初期化","operation=instance フィールド初期化","InappropriatePropertyAssignment診断が報告される","高","無効格納検出"
"61","UT-AVB-061","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzePropertyInitializer","正常系","有効なAvaloniaProperty格納に診断が報告されないこと","static readonlyプロパティでの初期化","operation=static readonly プロパティ初期化","診断が報告されない","高","正常初期化"
"62","UT-AVB-062","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzePropertyInitializer","異常系","無効なAvaloniaProperty格納でAVP1000が報告されること","非static/非readonlyプロパティでの初期化","operation=instance プロパティ初期化","InappropriatePropertyAssignment診断が報告される","高","無効格納検出"
"63","UT-AVB-063","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzePropertyStorageAssignment","正常系","静的コンストラクタ内での代入が検出されること","静的コンストラクタ内の代入操作","operation=静的コンストラクタ内の代入","対応する処理が実行される","高","代入検出"
"64","UT-AVB-064","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeMethodInvocation","正常系","静的コンストラクタ内のRegister呼び出しに診断が報告されないこと","静的コンストラクタ内でのRegister呼び出し","invocation=静的コンストラクタ内のRegister呼び出し","診断が報告されない","高","正常登録"
"65","UT-AVB-065","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeMethodInvocation","異常系","静的コンストラクタ外のRegister呼び出しでAVP1001が報告されること","インスタンスメソッド内でのRegister呼び出し","invocation=インスタンスメソッド内のRegister呼び出し","InappropriatePropertyRegistration診断が報告される","高","不適切な登録検出"
"66","UT-AVB-066","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeMethodInvocation","異常系","ジェネリック型の所有者でAVP1002が報告されること","ジェネリック型を所有者とするRegister呼び出し","invocation=Register<GenericType<T>, string>","PropertyOwnedByGenericType診断が報告される","高","ジェネリック所有者警告"
"67","UT-AVB-067","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeMethodInvocation","異常系","冗長なAddOwner呼び出しでAVP1013が報告されること","基底型で既に所有されているプロパティへのAddOwner","invocation=派生型でのAddOwner（基底型が既に所有）","SuperfluousAddOwnerCall診断が報告される","中","冗長所有者検出"
"68","UT-AVB-068","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzePropertyWrapperAssignment","正常系","コンストラクタパラメータからの代入に診断が報告されないこと","コンストラクタ内でのパラメータからプロパティへの代入","operation=コンストラクタ内のパラメータ代入","診断が報告されない","高","コンストラクタ例外"
"69","UT-AVB-069","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzePropertyWrapperAssignment","異常系","StyledPropertyへのローカル値設定でAVP1012が報告されること","コントロール内部でのStyledPropertyへの直接代入","operation=this.Property = value (非コンストラクタ)","SettingOwnStyledPropertyValue診断が報告される","高","不適切な代入検出"
"70","UT-AVB-070","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzePropertyWrapperAssignment","正常系","UserControl派生型での代入に診断が報告されないこと","UserControl派生型でのStyledProperty代入","operation=UserControl派生型内の代入","診断が報告されない","中","UserControl例外"
"71","UT-AVB-071","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzePropertyWrapperAssignment","正常系","TopLevel派生型での代入に診断が報告されないこと","TopLevel派生型でのStyledProperty代入","operation=TopLevel派生型内の代入","診断が報告されない","中","TopLevel例外"
"72","UT-AVB-072","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeWrapperCrlProperty","正常系","正しいCLRプロパティラッパーにAVP0001が報告されること","有効なCLRプロパティラッパー","property=AvaloniaPropertyに対応するCLRプロパティ","AssociatedAvaloniaProperty情報診断が報告される","中","関連付け情報"
"73","UT-AVB-073","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeWrapperCrlProperty","異常系","複数の候補がある場合AVP1021が報告されること","同名の複数のAvaloniaPropertyが存在","property=複数候補を持つCLRプロパティ","AmbiguousPropertyName診断が報告される","高","曖昧な関連付け検出"
"74","UT-AVB-074","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeWrapperCrlProperty","異常系","型不一致でAVP1040が報告されること","CLRプロパティの型がAvaloniaPropertyのTValueと異なる","property=異なる型のCLRプロパティ","PropertyTypeMismatch診断が報告される","高","型不一致検出"
"75","UT-AVB-075","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeWrapperCrlProperty","異常系","アクセシビリティ不一致でAVP1032が報告されること","CLRプロパティのアクセシビリティがAvaloniaProperty格納と異なる","property=異なるアクセシビリティのCLRプロパティ","InconsistentAccessibility診断が報告される","中","アクセシビリティ不一致検出"
"76","UT-AVB-076","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeWrapperCrlProperty","異常系","getter欠如でAVP1031が報告されること","publicなAvaloniaPropertyに対応するgetterなしプロパティ","property=setterのみのCLRプロパティ","MissingAccessor診断が報告される","中","アクセサ欠如検出"
"77","UT-AVB-077","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","AnalyzeWrapperCrlProperty","異常系","setter欠如でAVP1031が報告されること","publicなStyledPropertyに対応するsetterなしプロパティ","property=getterのみのCLRプロパティ","MissingAccessor診断が報告される","中","アクセサ欠如検出"
"78","UT-AVB-078","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","RegisterAvaloniaPropertySymbols","正常系","名前空間内の全型が走査されること","有効なコンパイル","compilation=複数名前空間を持つコンパイル","全名前空間の型が処理される","高","型走査"
"79","UT-AVB-079","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","RegisterAvaloniaPropertySymbols","正常系","AvaloniaProperty格納シンボルが収集されること","AvaloniaPropertyフィールドを持つ型","compilation=AvaloniaPropertyを含むコンパイル","フィールド/プロパティシンボルが収集される","高","シンボル収集"
"80","UT-AVB-080","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","RegisterInitializer_Invocation","正常系","Register呼び出しからプロパティ説明が生成されること","有効なRegister呼び出し","invocation=AvaloniaProperty.Register呼び出し","AvaloniaPropertyDescriptionが生成される","高","プロパティ登録解析"
"81","UT-AVB-081","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","RegisterInitializer_Invocation","正常系","AddOwner呼び出しから所有者が追加されること","有効なAddOwner呼び出し","invocation=property.AddOwner呼び出し","既存のPropertyDescriptionに所有者が追加される","高","所有者追加解析"
"82","UT-AVB-082","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","RegisterInitializer_Invocation","正常系","inheritsパラメータが正しく解析されること","inherits=trueのRegister呼び出し","invocation=Register with inherits=true","PropertyDescription.Inheritsがtrueに設定される","中","継承フラグ解析"
"83","UT-AVB-083","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","RegisterInitializer_Invocation","正常系","nameofからプロパティ名が抽出されること","nameof式を使用したRegister呼び出し","invocation=Register(nameof(Property), ...)","プロパティ名が正しく設定される","中","nameof解析"
"84","UT-AVB-084","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","RegisterInitializer_Invocation","正常系","文字列リテラルからプロパティ名が抽出されること","文字列リテラルを使用したRegister呼び出し","invocation=Register(""PropertyName"", ...)","プロパティ名が正しく設定される","中","リテラル解析"
"85","UT-AVB-085","src/tools/Avalonia.Analyzers.CSharp/AvaloniaPropertyAnalyzer.CompileAnalyzer.cs","CompileAnalyzer","RegisterInitializer_Invocation","正常系","AttachedPropertyでhostTypeが設定されること","RegisterAttached呼び出し","invocation=RegisterAttached<THost, TOwner, TValue>","HostTypeが設定される","中","AttachedProperty解析"
"1","UT-AND-001","src/Android/Avalonia.Android/AndroidPlatform.cs","AndroidPlatform","Initialize","正常系","デフォルトオプションでプラットフォームが正しく初期化されること","なし","なし","各種サービス（ICursorFactory、IWindowingPlatform等）がAvaloniaLocatorに登録される","高","プラットフォーム初期化の基本機能"
"2","UT-AND-002","src/Android/Avalonia.Android/AndroidPlatform.cs","AndroidPlatform","Initialize","正常系","カスタムオプションでプラットフォームが初期化されること","AndroidPlatformOptionsが設定済み","RenderingMode=[Egl, Software]","指定されたレンダリングモードでグラフィックスが初期化される","高","オプション指定時の初期化"
"3","UT-AND-003","src/Android/Avalonia.Android/AndroidPlatform.cs","AndroidPlatform","InitializeGraphics","異常系","RenderingModeがnullの場合例外がスローされること","なし","RenderingMode=null","InvalidOperationExceptionがスローされる","高","必須パラメータの検証"
"4","UT-AND-004","src/Android/Avalonia.Android/AndroidPlatform.cs","AndroidPlatform","InitializeGraphics","異常系","RenderingModeが空配列の場合例外がスローされること","なし","RenderingMode=[]","InvalidOperationExceptionがスローされる","高","空配列の検証"
"5","UT-AND-005","src/Android/Avalonia.Android/AndroidPlatform.cs","AndroidPlatform","InitializeGraphics","正常系","Softwareモードでnullが返却されること","なし","RenderingMode=[Software]","nullが返却される（ソフトウェアレンダリング）","中","ソフトウェアレンダリングモード"
"6","UT-AND-006","src/Android/Avalonia.Android/AvaloniaActivity.cs","AvaloniaActivity","Content（setter）","正常系","コンテンツが正しく設定されること","Activityが作成済み","Content=new object()","_viewのContentに値が設定される","高","コンテンツ設定の基本機能"
"7","UT-AND-007","src/Android/Avalonia.Android/AvaloniaActivity.cs","AvaloniaActivity","Content（setter）","正常系","同じ値を再設定しても変更されないこと","Content設定済み","同じContentオブジェクト","処理がスキップされる","中","重複設定の最適化"
"8","UT-AND-008","src/Android/Avalonia.Android/AvaloniaActivity.cs","AvaloniaActivity","OnBackPressed","正常系","BackRequestedイベントがハンドルされた場合base.OnBackPressedが呼ばれないこと","Android 33未満","BackRequested.Handled=true","base.OnBackPressedが呼ばれない","高","バック操作のハンドリング"
"9","UT-AND-009","src/Android/Avalonia.Android/AvaloniaActivity.cs","AvaloniaActivity","OnBackPressed","正常系","BackRequestedイベントがハンドルされない場合base.OnBackPressedが呼ばれること","Android 33未満","BackRequested.Handled=false","base.OnBackPressedが呼ばれる","高","デフォルトバック動作"
"10","UT-AND-010","src/Android/Avalonia.Android/AvaloniaActivity.cs","AvaloniaActivity","OnBackPressed","正常系","Android 33以上では何も処理されないこと","Android 33以上","なし","メソッドが早期リターンする","中","Android 33以上の互換性"
"11","UT-AND-011","src/Android/Avalonia.Android/AvaloniaActivity.cs","AvaloniaActivity","InitializeAvaloniaView","異常系","Avalonia Applicationが未初期化の場合例外がスローされること","Application.Current=null","なし","InvalidOperationExceptionがスローされる","高","初期化順序の検証"
"12","UT-AND-012","src/Android/Avalonia.Android/AvaloniaActivity.cs","AvaloniaActivity","HandleIntent","正常系","ファイルURIの場合FileActivatedEventArgsで通知されること","なし","file://スキームのURI","FileActivatedEventArgsでonActivatedが呼ばれる","中","ファイルアクティベーション"
"13","UT-AND-013","src/Android/Avalonia.Android/AvaloniaActivity.cs","AvaloniaActivity","HandleIntent","正常系","contentスキームの場合FileActivatedEventArgsで通知されること","なし","content://スキームのURI","FileActivatedEventArgsでonActivatedが呼ばれる","中","コンテンツアクティベーション"
"14","UT-AND-014","src/Android/Avalonia.Android/AvaloniaActivity.cs","AvaloniaActivity","HandleIntent","正常系","その他のスキームの場合ProtocolActivatedEventArgsで通知されること","なし","http://スキームのURI","ProtocolActivatedEventArgsでonActivatedが呼ばれる","中","プロトコルアクティベーション"
"15","UT-AND-015","src/Android/Avalonia.Android/AvaloniaView.cs","AvaloniaView","Content（getter/setter）","正常系","コンテンツの取得・設定が正しく動作すること","AvaloniaViewが作成済み","任意のコンテンツオブジェクト","_rootのContentに値が設定・取得される","高","コンテンツプロパティ"
"16","UT-AND-016","src/Android/Avalonia.Android/AvaloniaView.cs","AvaloniaView","OnVisibilityChanged","正常系","非表示から表示になった時レンダリングが開始されること","_surfaceCreated=true","isVisible=true","_root.StartRenderingが呼ばれる","高","表示時のレンダリング開始"
"17","UT-AND-017","src/Android/Avalonia.Android/AvaloniaView.cs","AvaloniaView","OnVisibilityChanged","正常系","表示から非表示になった時レンダリングが停止されること","_timerSubscription!=null","isVisible=false","_root.StopRenderingが呼ばれる","高","非表示時のレンダリング停止"
"18","UT-AND-018","src/Android/Avalonia.Android/AvaloniaView.cs","AvaloniaView","OnVisibilityChanged","境界値","_rootがnullの場合何も処理されないこと","_root=null","isVisible=true","処理が早期リターンする","中","null安全性"
"19","UT-AND-019","src/Android/Avalonia.Android/AvaloniaView.cs","AvaloniaView","OnVisibilityChanged","境界値","サーフェスが未作成の場合何も処理されないこと","_surfaceCreated=false","isVisible=true","処理が早期リターンする","中","サーフェス状態の検証"
"20","UT-AND-020","src/Android/Avalonia.Android/AvaloniaView.cs","AvaloniaView","Dispose","正常系","リソースが正しく解放されること","AvaloniaViewが作成済み","なし","_rootがDisposeされ、nullに設定される","高","リソース解放"
"21","UT-AND-021","src/Android/Avalonia.Android/Platform/ClipboardImpl.cs","ClipboardImpl","TryGetDataAsync","正常系","クリップボードデータが正しく取得されること","PrimaryClipにデータあり","なし","ClipDataToDataTransferWrapperが返却される","高","クリップボード読み取り"
"22","UT-AND-022","src/Android/Avalonia.Android/Platform/ClipboardImpl.cs","ClipboardImpl","TryGetDataAsync","境界値","PrimaryClipがnullの場合nullが返却されること","PrimaryClip=null","なし","nullが返却される","中","空クリップボード"
"23","UT-AND-023","src/Android/Avalonia.Android/Platform/ClipboardImpl.cs","ClipboardImpl","SetDataAsync","正常系","テキストデータが正しく設定されること","ClipboardManagerが有効","DataFormat.Textのデータ","PrimaryClipにデータが設定される","高","クリップボード書き込み"
"24","UT-AND-024","src/Android/Avalonia.Android/Platform/ClipboardImpl.cs","ClipboardImpl","SetDataAsync","正常系","ファイルデータが正しく設定されること","ClipboardManagerが有効","DataFormat.Fileのデータ","URIがPrimaryClipに設定される","中","ファイルクリップボード"
"25","UT-AND-025","src/Android/Avalonia.Android/Platform/ClipboardImpl.cs","ClipboardImpl","SetDataAsync","境界値","ClipboardManagerがnullの場合何も処理されないこと","ClipboardManager=null","任意のデータ","処理が早期リターンする","中","null安全性"
"26","UT-AND-026","src/Android/Avalonia.Android/Platform/ClipboardImpl.cs","ClipboardImpl","ClearAsync","正常系","Android 28以上でClearPrimaryClipが呼ばれること","Android 28以上","なし","ClearPrimaryClipが呼ばれる","中","クリップボードクリア（新API）"
"27","UT-AND-027","src/Android/Avalonia.Android/Platform/ClipboardImpl.cs","ClipboardImpl","ClearAsync","正常系","Android 28未満で空のPlainTextが設定されること","Android 28未満","なし","空のPlainTextClipDataが設定される","中","クリップボードクリア（旧API）"
"28","UT-AND-028","src/Android/Avalonia.Android/Platform/Input/TextEditBuffer.cs","TextEditBuffer","Selection（getter）","正常系","選択範囲が正しく取得されること","Client.Selectionが設定済み","なし","正規化された選択範囲が返却される","高","選択範囲取得"
"29","UT-AND-029","src/Android/Avalonia.Android/Platform/Input/TextEditBuffer.cs","TextEditBuffer","Selection（getter）","境界値","Clientがnullの場合デフォルト値が返却されること","Client=null","なし","default TextSelectionが返却される","中","null安全性"
"30","UT-AND-030","src/Android/Avalonia.Android/Platform/Input/TextEditBuffer.cs","TextEditBuffer","Composition（setter）","正常系","コンポジション範囲が正しく設定されること","なし","TextSelection(5, 10)","_compositionに正規化された値が設定される","中","コンポジション設定"
"31","UT-AND-031","src/Android/Avalonia.Android/Platform/Input/TextEditBuffer.cs","TextEditBuffer","Composition（setter）","境界値","範囲がテキスト長を超える場合クランプされること","Text.Length=10","TextSelection(5, 15)","endが10にクランプされる","中","境界値クランプ"
"32","UT-AND-032","src/Android/Avalonia.Android/Platform/Input/TextEditBuffer.cs","TextEditBuffer","SelectedText","正常系","選択テキストが正しく取得されること","SurroundingText=""Hello World""","Selection(0, 5)","""Hello""が返却される","中","選択テキスト取得"
"33","UT-AND-033","src/Android/Avalonia.Android/Platform/Input/TextEditBuffer.cs","TextEditBuffer","SelectedText","境界値","選択範囲が不正な場合空文字が返却されること","Selection.Start < 0","なし","空文字が返却される","中","不正選択範囲"
"34","UT-AND-034","src/Android/Avalonia.Android/Platform/Input/TextEditBuffer.cs","TextEditBuffer","Replace","正常系","テキストが正しく置換されること","Client設定済み","start=0, end=5, text=""Test""","テキストが置換され、選択位置が更新される","高","テキスト置換"
"35","UT-AND-035","src/Android/Avalonia.Android/Platform/Input/TextEditBuffer.cs","TextEditBuffer","Remove","正常系","テキストが正しく削除されること","Client設定済み","index=0, length=5","指定範囲のテキストが削除される","高","テキスト削除"
"36","UT-AND-036","src/Android/Avalonia.Android/Platform/Input/TextEditBuffer.cs","TextEditBuffer","Remove","境界値","length=0の場合削除されないこと","Client設定済み","index=0, length=0","削除キーイベントが発生しない","中","ゼロ長削除"
"37","UT-AND-037","src/Android/Avalonia.Android/Platform/AndroidScreens.cs","AndroidScreen","Refresh","正常系","Android 30以上でディスプレイ情報が正しく取得されること","Android 30以上","Displayオブジェクト","Bounds、WorkingArea、Scalingが設定される","高","画面情報取得（新API）"
"38","UT-AND-038","src/Android/Avalonia.Android/Platform/AndroidScreens.cs","AndroidScreen","Refresh","正常系","Android 30未満でディスプレイ情報が正しく取得されること","Android 30未満","Displayオブジェクト","DisplayMetricsから情報が取得される","高","画面情報取得（旧API）"
"39","UT-AND-039","src/Android/Avalonia.Android/Platform/AndroidScreens.cs","AndroidScreen","Refresh","正常系","画面の向きが正しく計算されること","なし","rotation=Rotation90, naturalOrientation=Portrait","CurrentOrientation=Landscapeが設定される","中","画面向き計算"
"40","UT-AND-040","src/Android/Avalonia.Android/Platform/AndroidScreens.cs","AndroidScreens","GetAllScreenKeys","正常系","全ディスプレイが取得されること","DisplayServiceが有効","なし","全Displayの配列が返却される","中","ディスプレイ一覧取得"
"41","UT-AND-041","src/Android/Avalonia.Android/Platform/AndroidScreens.cs","AndroidScreens","GetAllScreenKeys","境界値","DisplayServiceがnullの場合空配列が返却されること","_displayService=null","なし","空配列が返却される","中","null安全性"
"42","UT-AND-042","src/Android/Avalonia.Android/Platform/AndroidScreens.cs","AndroidScreens","Dispose","正常系","リソースが正しく解放されること","AndroidScreensが作成済み","なし","リスナー解除とDisposeが呼ばれる","中","リソース解放"
"43","UT-AND-043","src/Android/Avalonia.Android/Platform/Input/AndroidInputMethod.cs","AndroidInputMethod","SetClient","正常系","クライアントが正しく設定されること","なし","TextInputMethodClientオブジェクト","フォーカスリクエストとキーボード表示が行われる","高","IMEクライアント設定"
"44","UT-AND-044","src/Android/Avalonia.Android/Platform/Input/AndroidInputMethod.cs","AndroidInputMethod","SetClient","正常系","クライアントがnullの場合キーボードが非表示になること","Client設定済み","null","HideSoftInputFromWindowが呼ばれる","高","IMEクライアント解除"
"45","UT-AND-045","src/Android/Avalonia.Android/Platform/Input/AndroidInputMethod.cs","AndroidInputMethod","SetOptions","正常系","メールタイプが正しく設定されること","なし","ContentType=Email","InputType=TextVariationEmailAddressが設定される","中","メール入力タイプ"
"46","UT-AND-046","src/Android/Avalonia.Android/Platform/Input/AndroidInputMethod.cs","AndroidInputMethod","SetOptions","正常系","パスワードタイプが正しく設定されること","なし","ContentType=Password","InputType=TextVariationPasswordが設定される","中","パスワード入力タイプ"
"47","UT-AND-047","src/Android/Avalonia.Android/Platform/Input/AndroidInputMethod.cs","AndroidInputMethod","SetOptions","正常系","複数行オプションが正しく設定されること","なし","Multiline=true","InputType|=TextFlagMultiLineが設定される","中","複数行入力"
"48","UT-AND-048","src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs","TopLevelImpl","PointToClient","正常系","ピクセル座標がクライアント座標に変換されること","RenderScaling=2.0","PixelPoint(100, 100)","Point(50, 50)が返却される","中","座標変換（ピクセル→クライアント）"
"49","UT-AND-049","src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs","TopLevelImpl","PointToScreen","正常系","クライアント座標がピクセル座標に変換されること","RenderScaling=2.0","Point(50, 50)","PixelPoint(100, 100)が返却される","中","座標変換（クライアント→ピクセル）"
"50","UT-AND-050","src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs","TopLevelImpl","TryGetFeature","正常系","IStorageProviderが取得できること","_storageProvider設定済み","typeof(IStorageProvider)","_storageProviderが返却される","中","機能取得（ストレージ）"
"51","UT-AND-051","src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs","TopLevelImpl","TryGetFeature","正常系","IClipboardが取得できること","_clipboard設定済み","typeof(IClipboard)","_clipboardが返却される","中","機能取得（クリップボード）"
"52","UT-AND-052","src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs","TopLevelImpl","TryGetFeature","境界値","未対応の機能の場合nullが返却されること","なし","typeof(未対応機能)","nullが返却される","中","未対応機能"
"53","UT-AND-053","src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs","TopLevelImpl","SetTransparencyLevelHint","正常系","透明度Noneが正しく設定されること","Activity設定済み","[None]","背景がWhiteに設定される","中","透明度設定（None）"
"54","UT-AND-054","src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs","TopLevelImpl","SetTransparencyLevelHint","正常系","透明度TransparentがAndroid 30以上で設定されること","Android 30以上","[Transparent]","SetTranslucentとTransparent背景が設定される","中","透明度設定（Transparent）"
"55","UT-AND-055","src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs","TopLevelImpl","SetTransparencyLevelHint","正常系","透明度BlurがAndroid 31以上で設定されること","Android 31以上","[Blur]","BlurBehindが設定される","中","透明度設定（Blur）"
"56","UT-AND-056","src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs","TopLevelImpl","TextInput","正常系","テキスト入力イベントが正しく発火されること","InputRoot設定済み","text=""abc""","RawTextInputEventArgsでInputが呼ばれる","高","テキスト入力"
"57","UT-AND-057","src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs","TopLevelImpl","Dispose","正常系","リソースが正しく解放されること","TopLevelImpl作成済み","なし","_systemNavigationManagerと_viewがDispose される","高","リソース解放"
"58","UT-AND-058","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageProvider.cs","AndroidStorageProvider","TryGetFileFromPathAsync","正常系","ファイルパスからストレージファイルが取得されること","ファイルが存在","file://スキームのUri","AndroidStorageFileが返却される","高","ファイル取得"
"59","UT-AND-059","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageProvider.cs","AndroidStorageProvider","TryGetFileFromPathAsync","異常系","filePathがnullの場合ArgumentNullExceptionがスローされること","なし","filePath=null","ArgumentNullExceptionがスローされる","高","null検証"
"60","UT-AND-060","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageProvider.cs","AndroidStorageProvider","TryGetFileFromPathAsync","異常系","相対URIの場合ArgumentExceptionがスローされること","なし","相対URI","ArgumentExceptionがスローされる","中","絶対URI検証"
"61","UT-AND-061","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageProvider.cs","AndroidStorageProvider","TryGetFolderFromPathAsync","正常系","フォルダパスからストレージフォルダが取得されること","フォルダが存在","file://スキームのUri","AndroidStorageFolderが返却される","高","フォルダ取得"
"62","UT-AND-062","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageProvider.cs","AndroidStorageProvider","TryGetWellKnownFolderAsync","正常系","Documents フォルダが取得されること","なし","WellKnownFolder.Documents","AndroidStorageFolderが返却される","中","既知フォルダ取得（Documents）"
"63","UT-AND-063","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageProvider.cs","AndroidStorageProvider","TryGetWellKnownFolderAsync","正常系","Downloads フォルダが取得されること","なし","WellKnownFolder.Downloads","AndroidStorageFolderが返却される","中","既知フォルダ取得（Downloads）"
"64","UT-AND-064","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageProvider.cs","AndroidStorageProvider","TryGetWellKnownFolderAsync","境界値","Desktop の場合nullが返却されること","なし","WellKnownFolder.Desktop","nullが返却される（Androidにはデスクトップなし）","中","デスクトップフォルダ（非対応）"
"65","UT-AND-065","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageProvider.cs","AndroidStorageProvider","OpenFilePickerAsync","正常系","ファイルピッカーが正しく起動されること","Activity設定済み","FilePickerOpenOptions","選択されたファイルのリストが返却される","高","ファイル選択"
"66","UT-AND-066","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageProvider.cs","AndroidStorageProvider","SaveFilePickerAsync","正常系","保存ピッカーが正しく起動されること","Activity設定済み","FilePickerSaveOptions","保存先ファイルが返却される","高","ファイル保存選択"
"67","UT-AND-067","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageProvider.cs","AndroidStorageProvider","OpenFolderPickerAsync","正常系","フォルダピッカーが正しく起動されること","Activity設定済み","FolderPickerOpenOptions","選択されたフォルダのリストが返却される","高","フォルダ選択"
"68","UT-AND-068","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageProvider.cs","AndroidStorageProvider","CanOpen","正常系","Android 19以上でtrueが返却されること","Android 19以上","なし","trueが返却される","中","ファイル選択可否"
"69","UT-AND-069","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageProvider.cs","AndroidStorageProvider","CanPickFolder","正常系","Android 21以上でtrueが返却されること","Android 21以上","なし","trueが返却される","中","フォルダ選択可否"
"70","UT-AND-070","src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyInterop.cs","AndroidKeyInterop","PhysicalKeyFromScanCode","正常系","有効なスキャンコードからPhysicalKeyが取得されること","なし","scanCode=0x1E（A）","PhysicalKey.Aが返却される","中","キーマッピング"
"71","UT-AND-071","src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyInterop.cs","AndroidKeyInterop","PhysicalKeyFromScanCode","境界値","スキャンコード0の場合PhysicalKey.Noneが返却されること","なし","scanCode=0","PhysicalKey.Noneが返却される","中","無効スキャンコード（0）"
"72","UT-AND-072","src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyInterop.cs","AndroidKeyInterop","PhysicalKeyFromScanCode","境界値","スキャンコード256以上の場合PhysicalKey.Noneが返却されること","なし","scanCode=256","PhysicalKey.Noneが返却される","中","無効スキャンコード（範囲外）"
"73","UT-AND-073","src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyInterop.cs","AndroidKeyInterop","PhysicalKeyFromScanCode","境界値","未登録のスキャンコードの場合PhysicalKey.Noneが返却されること","なし","未登録のscanCode","PhysicalKey.Noneが返却される","中","未登録スキャンコード"
"74","UT-AND-074","src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidMotionEventsHelper.cs","AndroidMotionEventsHelper","DispatchMotionEvent","正常系","タッチイベントが正しく処理されること","InputRoot設定済み","MotionEventActions.Down","RawTouchEventArgsでInputが呼ばれる","高","タッチ処理"
"75","UT-AND-075","src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidMotionEventsHelper.cs","AndroidMotionEventsHelper","DispatchMotionEvent","正常系","マウスホイールイベントが正しく処理されること","InputRoot設定済み","MotionEventActions.Scroll, ToolType=Mouse","RawMouseWheelEventArgsでInputが呼ばれる","高","マウスホイール処理"
"76","UT-AND-076","src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidMotionEventsHelper.cs","AndroidMotionEventsHelper","DispatchMotionEvent","境界値","disposed後はnullが返却されること","Dispose済み","任意のMotionEvent","nullが返却される","中","Dispose後の処理"
"77","UT-AND-077","src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidMotionEventsHelper.cs","AndroidMotionEventsHelper","DispatchMotionEvent","境界値","MotionEventがnullの場合nullが返却されること","なし","e=null","nullが返却される","中","null入力"
"78","UT-AND-078","src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidMotionEventsHelper.cs","AndroidMotionEventsHelper","GetModifiers","正常系","Shiftキーが正しく検出されること","なし","metaState=ShiftOn","RawInputModifiers.Shiftが含まれる","中","修飾キー検出（Shift）"
"79","UT-AND-079","src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidMotionEventsHelper.cs","AndroidMotionEventsHelper","GetModifiers","正常系","複数の修飾キーが正しく検出されること","なし","metaState=ShiftOn|CtrlOn","Shift|Controlが含まれる","中","複数修飾キー"
"80","UT-AND-080","src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyboardEventsHelper.cs","AndroidKeyboardEventsHelper","DispatchKeyEvent","正常系","キーダウンイベントが正しく処理されること","HandleEvents=true","KeyEventActions.Down","RawKeyEventArgsでInputが呼ばれる","高","キーダウン処理"
"81","UT-AND-081","src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyboardEventsHelper.cs","AndroidKeyboardEventsHelper","DispatchKeyEvent","正常系","テキスト入力イベントが発生すること","HandleEvents=true","KeyEventActions.Down, UnicodeChar >= 32","RawTextInputEventArgsでInputが呼ばれる","高","テキスト入力イベント"
"82","UT-AND-082","src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyboardEventsHelper.cs","AndroidKeyboardEventsHelper","DispatchKeyEvent","正常系","HandleEvents=falseの場合処理されないこと","HandleEvents=false","任意のKeyEvent","nullが返却される","中","イベント無効時"
"83","UT-AND-083","src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyboardEventsHelper.cs","AndroidKeyboardEventsHelper","GetKeySymbol","正常系","Enterキーのシンボルが正しく返却されること","なし","physicalKey=Enter","'\r'が返却される","中","特殊キーシンボル（Enter）"
"84","UT-AND-084","src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyboardEventsHelper.cs","AndroidKeyboardEventsHelper","GetKeySymbol","正常系","Tabキーのシンボルが正しく返却されること","なし","physicalKey=Tab","'\t'が返却される","中","特殊キーシンボル（Tab）"
"85","UT-AND-085","src/Android/Avalonia.Android/ChoreographerTimer.cs","ChoreographerTimer","SubscribeView","正常系","ビューがサブスクライブされること","なし","AvaloniaViewオブジェクト","IDisposableが返却される","中","ビューサブスクリプション"
"86","UT-AND-086","src/Android/Avalonia.Android/ChoreographerTimer.cs","ChoreographerTimer","SubscribeView","正常系","最初のビュー登録時フレームコールバックが開始されること","_views.Count=0","AvaloniaViewオブジェクト","PostFrameCallbackが呼ばれる","中","フレームコールバック開始"
"87","UT-AND-087","src/Android/Avalonia.Android/ChoreographerTimer.cs","ChoreographerTimer","SubscribeView","正常系","サブスクリプション解除時ビューが削除されること","ビュー登録済み","Dispose呼び出し","_viewsからビューが削除される","中","サブスクリプション解除"
"88","UT-AND-088","src/Android/Avalonia.Android/AndroidDispatcherImpl.cs","AndroidDispatcherImpl","CurrentThreadIsLoopThread","正常系","UIスレッドの場合trueが返却されること","UIスレッドで実行","なし","trueが返却される","高","UIスレッド判定"
"89","UT-AND-089","src/Android/Avalonia.Android/AndroidDispatcherImpl.cs","AndroidDispatcherImpl","CurrentThreadIsLoopThread","正常系","非UIスレッドの場合falseが返却されること","非UIスレッドで実行","なし","falseが返却される","高","非UIスレッド判定"
"90","UT-AND-090","src/Android/Avalonia.Android/AndroidDispatcherImpl.cs","AndroidDispatcherImpl","Signal","正常系","シグナルが送信されること","なし","なし","_handler.Postが呼ばれる","高","シグナル送信"
"91","UT-AND-091","src/Android/Avalonia.Android/AndroidDispatcherImpl.cs","AndroidDispatcherImpl","Signal","正常系","重複シグナルは送信されないこと","_signaled=true","なし","_handler.Postが呼ばれない","中","重複シグナル防止"
"92","UT-AND-092","src/Android/Avalonia.Android/AndroidDispatcherImpl.cs","AndroidDispatcherImpl","UpdateTimer","正常系","タイマーが正しく更新されること","なし","dueTimeInMs=1000","PostDelayedが呼ばれる","中","タイマー更新"
"93","UT-AND-093","src/Android/Avalonia.Android/AndroidDispatcherImpl.cs","AndroidDispatcherImpl","UpdateTimer","正常系","dueTimeがnullの場合コールバックが削除されること","なし","dueTimeInMs=null","RemoveCallbacksのみが呼ばれる","中","タイマーキャンセル"
"94","UT-AND-094","src/Android/Avalonia.Android/Platform/AndroidInsetsManager.cs","AndroidInsetsManager","SafeAreaPadding","正常系","SafeAreaの余白が正しく計算されること","Window設定済み","なし","Thicknessが返却される","高","SafeArea余白計算"
"95","UT-AND-095","src/Android/Avalonia.Android/Platform/AndroidInsetsManager.cs","AndroidInsetsManager","OccludedRect","正常系","キーボード領域が正しく計算されること","IME表示中","なし","キーボード領域のRectが返却される","高","キーボード領域計算"
"96","UT-AND-096","src/Android/Avalonia.Android/Platform/AndroidInsetsManager.cs","AndroidInsetsManager","IsSystemBarVisible（setter）","正常系","システムバーが表示されること","なし","value=true","Showが呼ばれる","中","システムバー表示"
"97","UT-AND-097","src/Android/Avalonia.Android/Platform/AndroidInsetsManager.cs","AndroidInsetsManager","IsSystemBarVisible（setter）","正常系","システムバーが非表示になること","なし","value=false","Hideが呼ばれる","中","システムバー非表示"
"98","UT-AND-098","src/Android/Avalonia.Android/Platform/AndroidInsetsManager.cs","AndroidInsetsManager","SystemBarTheme（setter）","正常系","ライトテーマが設定されること","なし","SystemBarTheme.Light","AppearanceLightStatusBars=trueが設定される","中","システムバーテーマ（ライト）"
"99","UT-AND-099","src/Android/Avalonia.Android/Platform/AndroidInsetsManager.cs","AndroidInsetsManager","SystemBarColor（setter）","正常系","システムバー色が設定されること","なし","Color.Red","SetStatusBarColorが呼ばれる","中","システムバー色設定"
"100","UT-AND-100","src/Android/Avalonia.Android/Platform/AndroidInsetsManager.cs","AndroidInsetsManager","DisplayEdgeToEdgePreference","正常系","Edge to Edge表示が有効になること","なし","value=true","SetDecorFitsSystemWindows(false)が呼ばれる","中","Edge to Edge有効化"
"101","UT-AND-101","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageItem.cs","AndroidStorageItem","SaveBookmarkAsync","正常系","ブックマークが正しく保存されること","権限あり","なし","ブックマーク文字列が返却される","高","ブックマーク保存"
"102","UT-AND-102","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageItem.cs","AndroidStorageItem","ReleaseBookmarkAsync","正常系","ブックマークが正しく解放されること","ブックマーク保存済み","なし","ReleasePersistableUriPermissionが呼ばれる","中","ブックマーク解放"
"103","UT-AND-103","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageItem.cs","AndroidStorageFolder","CreateFileAsync","正常系","ファイルが正しく作成されること","フォルダに書き込み権限あり","name=""test.txt""","AndroidStorageFileが返却される","高","ファイル作成"
"104","UT-AND-104","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageItem.cs","AndroidStorageFolder","CreateFolderAsync","正常系","フォルダが正しく作成されること","フォルダに書き込み権限あり","name=""newfolder""","AndroidStorageFolderが返却される","高","フォルダ作成"
"105","UT-AND-105","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageItem.cs","AndroidStorageFolder","DeleteAsync","正常系","フォルダとその内容が削除されること","フォルダが存在","なし","フォルダと内容が削除される","高","フォルダ削除"
"106","UT-AND-106","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageItem.cs","AndroidStorageFolder","GetItemsAsync","正常系","フォルダ内のアイテムが列挙されること","フォルダにファイルあり","なし","IStorageItemのシーケンスが返却される","高","アイテム列挙"
"107","UT-AND-107","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageItem.cs","AndroidStorageFile","OpenReadAsync","正常系","ファイルが読み取りモードで開かれること","ファイルが存在","なし","読み取り用Streamが返却される","高","ファイル読み取り"
"108","UT-AND-108","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageItem.cs","AndroidStorageFile","OpenWriteAsync","正常系","ファイルが書き込みモードで開かれること","ファイルが存在","なし","書き込み用Streamが返却される","高","ファイル書き込み"
"109","UT-AND-109","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageItem.cs","AndroidStorageFile","GetBasicPropertiesAsync","正常系","ファイルプロパティが取得されること","ファイルが存在","なし","StorageItemPropertiesが返却される","中","プロパティ取得"
"110","UT-AND-110","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageItem.cs","AndroidStorageFile","DeleteAsync","正常系","ファイルが削除されること","ファイルが存在","なし","DeleteDocumentが呼ばれる","高","ファイル削除"
"111","UT-AND-111","src/Android/Avalonia.Android/Platform/Storage/AndroidStorageItem.cs","AndroidStorageFile","MoveAsync","正常系","ファイルが移動されること（Android 24以上）","Android 24以上","destination=AndroidStorageFolder","移動先のAndroidStorageFileが返却される","高","ファイル移動"
"112","UT-AND-112","src/Android/Avalonia.Android/Platform/Input/AvaloniaInputConnection.cs","AvaloniaInputConnection","SetComposingText","正常系","コンポジションテキストが設定されること","InputMethod.IsActive=true","text=""abc""","CompositionTextCommandがキューに追加される","高","コンポジション設定"
"113","UT-AND-113","src/Android/Avalonia.Android/Platform/Input/AvaloniaInputConnection.cs","AvaloniaInputConnection","SetComposingText","境界値","textがnullの場合falseが返却されること","なし","text=null","falseが返却される","中","null入力"
"114","UT-AND-114","src/Android/Avalonia.Android/Platform/Input/AvaloniaInputConnection.cs","AvaloniaInputConnection","CommitText","正常系","テキストがコミットされること","InputMethod.IsActive=true","text=""abc""","CommitTextCommandがキューに追加される","高","テキストコミット"
"115","UT-AND-115","src/Android/Avalonia.Android/Platform/Input/AvaloniaInputConnection.cs","AvaloniaInputConnection","DeleteSurroundingText","正常系","周囲のテキストが削除されること","InputMethod.IsActive=true","beforeLength=2, afterLength=3","DeleteRegionCommandがキューに追加される","高","テキスト削除"
"116","UT-AND-116","src/Android/Avalonia.Android/Platform/Input/AvaloniaInputConnection.cs","AvaloniaInputConnection","PerformEditorAction","正常系","Doneアクションでキーボードが非表示になること","なし","actionCode=ImeAction.Done","HideSoftInputFromWindowが呼ばれる","中","エディタアクション（Done）"
"117","UT-AND-117","src/Android/Avalonia.Android/Platform/Input/AvaloniaInputConnection.cs","AvaloniaInputConnection","PerformEditorAction","正常系","Nextアクションでフォーカスが移動すること","なし","actionCode=ImeAction.Next","TryMoveFocus(Next)が呼ばれる","中","エディタアクション（Next）"
"118","UT-AND-118","src/Android/Avalonia.Android/Platform/Input/AvaloniaInputConnection.cs","AvaloniaInputConnection","BeginBatchEdit/EndBatchEdit","正常系","バッチ編集が正しく管理されること","なし","BeginBatchEdit→EndBatchEdit","コマンドがまとめて適用される","中","バッチ編集"
"119","UT-AND-119","src/Android/Avalonia.Android/Platform/Input/AvaloniaInputConnection.cs","AvaloniaInputConnection","PerformContextMenuAction","正常系","SelectAllが実行されること","Client設定済み","id=SelectAll","ExecuteContextMenuAction(SelectAll)が呼ばれる","中","コンテキストメニュー（全選択）"
"120","UT-AND-120","src/Android/Avalonia.Android/Platform/Input/AvaloniaInputConnection.cs","AvaloniaInputConnection","PerformContextMenuAction","正常系","Copyが実行されること","Client設定済み","id=Copy","ExecuteContextMenuAction(Copy)が呼ばれる","中","コンテキストメニュー（コピー）"
"121","UT-AND-121","src/Android/Avalonia.Android/Platform/AndroidDataFormatHelper.cs","AndroidDataFormatHelper","MimeTypeToDataFormat","正常系","text/plainがDataFormat.Textに変換されること","なし","mimeType=""text/plain""","DataFormat.Textが返却される","中","MIME変換（テキスト）"
"122","UT-AND-122","src/Android/Avalonia.Android/Platform/AndroidDataFormatHelper.cs","AndroidDataFormatHelper","MimeTypeToDataFormat","正常系","image/*がDataFormat.Bitmapに変換されること","なし","mimeType=""image/png""","DataFormat.Bitmapが返却される","中","MIME変換（画像）"
"123","UT-AND-123","src/Android/Avalonia.Android/Platform/AndroidDataFormatHelper.cs","AndroidDataFormatHelper","DataFormatToMimeType","正常系","DataFormat.Textがtext/plainに変換されること","なし","format=DataFormat.Text","""text/plain""が返却される","中","フォーマット変換（テキスト）"
"124","UT-AND-124","src/Android/Avalonia.Android/Platform/AndroidDataFormatHelper.cs","AndroidDataFormatHelper","DataFormatToMimeType","正常系","DataFormat.Bitmapがimage/pngに変換されること","なし","format=DataFormat.Bitmap","""image/png""が返却される","中","フォーマット変換（画像）"
"125","UT-AND-125","src/Android/Avalonia.Android/Automation/ToggleNodeInfoProvider.cs","ToggleNodeInfoProvider","PerformNodeAction","正常系","ActionClickでトグルが実行されること","なし","action=ActionClick","provider.Toggleが呼ばれる","中","トグルアクション"
"126","UT-AND-126","src/Android/Avalonia.Android/Automation/ToggleNodeInfoProvider.cs","ToggleNodeInfoProvider","PopulateNodeInfo","正常系","チェック状態が正しく設定されること","ToggleState=On","なし","nodeInfo.Checked=1が設定される","中","チェック状態設定"
"127","UT-AND-127","src/Android/Avalonia.Android/Automation/InvokeNodeInfoProvider.cs","InvokeNodeInfoProvider","PerformNodeAction","正常系","ActionClickでInvokeが実行されること","なし","action=ActionClick","provider.Invokeが呼ばれる","中","Invokeアクション"
"128","UT-AND-128","src/Android/Avalonia.Android/Platform/AndroidPlatformSettings.cs","AndroidPlatformSettings","GetColorValues","正常系","カラー値が正しく取得されること","Contextが設定済み","なし","PlatformColorValuesが返却される","中","カラー値取得"
"129","UT-AND-129","src/Android/Avalonia.Android/Platform/AndroidPlatformSettings.cs","AndroidPlatformSettings","GetDoubleTapTime","正常系","タッチのダブルタップ時間が取得されること","なし","type=Touch","_doubleTapTimeが返却される","中","ダブルタップ時間（タッチ）"
"130","UT-AND-130","src/Android/Avalonia.Android/Platform/AndroidPlatformSettings.cs","AndroidPlatformSettings","GetDoubleTapTime","正常系","マウスのダブルタップ時間がベース値で取得されること","なし","type=Mouse","base.GetDoubleTapTimeが返却される","中","ダブルタップ時間（マウス）"
"131","UT-AND-131","src/Android/Avalonia.Android/Platform/AndroidPlatformSettings.cs","AndroidPlatformSettings","OnViewConfigurationChanged","正常系","ダークモードが正しく検出されること","UiMode=NightYes","なし","ThemeVariant=Darkが設定される","中","テーマ検出（ダーク）"
"132","UT-AND-132","src/Android/Avalonia.Android/Platform/AndroidPlatformSettings.cs","AndroidPlatformSettings","OnViewConfigurationChanged","正常系","ライトモードが正しく検出されること","UiMode=NightNo","なし","ThemeVariant=Lightが設定される","中","テーマ検出（ライト）"
"133","UT-AND-133","src/Android/Avalonia.Android/AvaloniaMainActivity.cs","AvaloniaMainActivity","InitializeAvaloniaView","正常系","AvaloniaViewが正しく初期化されること","IAndroidApplicationが設定済み","なし","_viewが作成されContentが設定される","高","メインActivity初期化"
"134","UT-AND-134","src/Android/Avalonia.Android/AvaloniaMainActivity.cs","AvaloniaMainActivity","InitializeAvaloniaView","異常系","初期化失敗時に例外がスローされること","不正な状態","なし","InvalidOperationExceptionがスローされる","高","初期化失敗時の例外"
"135","UT-AND-135","src/Android/Avalonia.Android/AvaloniaMainActivity.cs","AvaloniaMainActivity","OnResume","正常系","CurrentMainActivityが設定されること","AndroidActivatableLifetimeが有効","なし","CurrentMainActivity=thisが設定される","中","Resume時のActivity設定"
"136","UT-AND-136","src/Android/Avalonia.Android/AvaloniaMainActivity.cs","AvaloniaMainActivity","OnDestroy","正常系","CurrentMainActivityがクリアされること","CurrentMainActivity=this","なし","CurrentMainActivity=nullが設定される","中","Destroy時のActivityクリア"
"1","UT-AVB-001","src/Avalonia.Base/AvaloniaProperty.cs","AvaloniaProperty","Register","正常系","有効なプロパティが登録されること","なし","name='TestProp', defaultValue=0","StyledProperty<TValue>が返却される","高","プロパティ登録の基本機能"
"2","UT-AVB-002","src/Avalonia.Base/AvaloniaProperty.cs","AvaloniaProperty","Register","異常系","nameがnullの場合ArgumentNullExceptionがスローされること","なし","name=null","ArgumentNullExceptionがスローされる","高","null入力の検証"
"3","UT-AVB-003","src/Avalonia.Base/AvaloniaProperty.cs","AvaloniaProperty","Register","異常系","nameにピリオドが含まれる場合ArgumentExceptionがスローされること","なし","name='Test.Prop'","ArgumentExceptionがスローされる","中","不正な文字の検証"
"4","UT-AVB-004","src/Avalonia.Base/AvaloniaProperty.cs","AvaloniaProperty","RegisterAttached","正常系","添付プロパティが正しく登録されること","なし","name='AttachedProp'","AttachedProperty<TValue>が返却される","高","添付プロパティ登録"
"5","UT-AVB-005","src/Avalonia.Base/AvaloniaProperty.cs","AvaloniaProperty","RegisterDirect","正常系","直接プロパティが正しく登録されること","なし","name='DirectProp', getter, setter","DirectProperty<TOwner, TValue>が返却される","高","直接プロパティ登録"
"6","UT-AVB-006","src/Avalonia.Base/AvaloniaProperty.cs","AvaloniaProperty","RegisterDirect","異常系","getterがnullの場合ArgumentNullExceptionがスローされること","なし","getter=null","ArgumentNullExceptionがスローされる","中","getter必須の検証"
"7","UT-AVB-007","src/Avalonia.Base/AvaloniaProperty.cs","AvaloniaProperty","Equals","正常系","同一IDのプロパティが等価と判定されること","2つのAvaloniaPropertyインスタンス","同一IDのプロパティ","trueが返却される","中","等価性判定"
"8","UT-AVB-008","src/Avalonia.Base/AvaloniaProperty.cs","AvaloniaProperty","Equals","正常系","異なるIDのプロパティが非等価と判定されること","2つのAvaloniaPropertyインスタンス","異なるIDのプロパティ","falseが返却される","中","非等価性判定"
"9","UT-AVB-009","src/Avalonia.Base/AvaloniaProperty.cs","AvaloniaProperty","GetMetadata","正常系","指定した型のメタデータが取得できること","プロパティが登録済み","type=登録済みの型","AvaloniaPropertyMetadataが返却される","中","メタデータ取得"
"10","UT-AVB-010","src/Avalonia.Base/AvaloniaProperty.cs","AvaloniaProperty","GetHashCode","正常系","IDに基づくハッシュコードが返却されること","プロパティが登録済み","なし","Idと同じ値が返却される","低","ハッシュコード計算"
"11","UT-AVB-011","src/Avalonia.Base/Rect.cs","Rect","コンストラクタ","正常系","x, y, width, heightで矩形が作成されること","なし","x=10, y=20, width=100, height=200","対応するプロパティが設定される","高","基本コンストラクタ"
"12","UT-AVB-012","src/Avalonia.Base/Rect.cs","Rect","コンストラクタ","正常系","Sizeから矩形が作成されること","なし","size=Size(100, 200)","X=0, Y=0, Width=100, Height=200","中","Sizeコンストラクタ"
"13","UT-AVB-013","src/Avalonia.Base/Rect.cs","Rect","コンストラクタ","正常系","2点から矩形が作成されること","なし","topLeft=Point(10, 20), bottomRight=Point(110, 220)","Width=100, Height=200","中","2点コンストラクタ"
"14","UT-AVB-014","src/Avalonia.Base/Rect.cs","Rect","Contains(Point)","正常系","矩形内の点がtrueを返すこと","Rect(0, 0, 100, 100)","Point(50, 50)","trueが返却される","高","点の包含判定"
"15","UT-AVB-015","src/Avalonia.Base/Rect.cs","Rect","Contains(Point)","正常系","矩形外の点がfalseを返すこと","Rect(0, 0, 100, 100)","Point(150, 150)","falseが返却される","高","点の非包含判定"
"16","UT-AVB-016","src/Avalonia.Base/Rect.cs","Rect","Contains(Point)","境界値","矩形の境界上の点がtrueを返すこと","Rect(0, 0, 100, 100)","Point(0, 0)","trueが返却される","中","境界値テスト"
"17","UT-AVB-017","src/Avalonia.Base/Rect.cs","Rect","Contains(Rect)","正常系","完全に内包する矩形がtrueを返すこと","Rect(0, 0, 100, 100)","Rect(10, 10, 50, 50)","trueが返却される","中","矩形の包含判定"
"18","UT-AVB-018","src/Avalonia.Base/Rect.cs","Rect","ContainsExclusive","正常系","境界を除外した包含判定ができること","Rect(0, 0, 100, 100)","Point(100, 100)","falseが返却される","中","排他的包含判定"
"19","UT-AVB-019","src/Avalonia.Base/Rect.cs","Rect","Intersect","正常系","2つの矩形の交差領域が計算されること","Rect(0, 0, 100, 100)","Rect(50, 50, 100, 100)","Rect(50, 50, 50, 50)が返却される","高","交差領域計算"
"20","UT-AVB-020","src/Avalonia.Base/Rect.cs","Rect","Intersect","正常系","交差しない矩形はdefaultを返すこと","Rect(0, 0, 100, 100)","Rect(200, 200, 50, 50)","defaultが返却される","中","非交差時の結果"
"21","UT-AVB-021","src/Avalonia.Base/Rect.cs","Rect","Intersects","正常系","交差する矩形がtrueを返すこと","Rect(0, 0, 100, 100)","Rect(50, 50, 100, 100)","trueが返却される","高","交差判定"
"22","UT-AVB-022","src/Avalonia.Base/Rect.cs","Rect","Union","正常系","2つの矩形の結合領域が計算されること","Rect(0, 0, 100, 100)","Rect(50, 50, 100, 100)","Rect(0, 0, 150, 150)が返却される","中","結合領域計算"
"23","UT-AVB-023","src/Avalonia.Base/Rect.cs","Rect","Union","境界値","一方がゼロサイズの場合もう一方が返却されること","Rect(0, 0, 0, 0)","Rect(10, 10, 50, 50)","Rect(10, 10, 50, 50)が返却される","中","ゼロサイズの結合"
"24","UT-AVB-024","src/Avalonia.Base/Rect.cs","Rect","Inflate","正常系","矩形が正しく膨張すること","Rect(10, 10, 80, 80)","thickness=10","Rect(0, 0, 100, 100)が返却される","中","矩形の膨張"
"25","UT-AVB-025","src/Avalonia.Base/Rect.cs","Rect","Deflate","正常系","矩形が正しく収縮すること","Rect(0, 0, 100, 100)","thickness=10","Rect(10, 10, 80, 80)が返却される","中","矩形の収縮"
"26","UT-AVB-026","src/Avalonia.Base/Rect.cs","Rect","Normalize","正常系","負のサイズが正規化されること","Rect(100, 100, -50, -50)","なし","正のWidth/Heightを持つRectが返却される","中","サイズの正規化"
"27","UT-AVB-027","src/Avalonia.Base/Rect.cs","Rect","Normalize","異常系","NaN値を含む場合defaultが返却されること","Rect(NaN, 0, 100, 100)","なし","defaultが返却される","中","NaN値の処理"
"28","UT-AVB-028","src/Avalonia.Base/Rect.cs","Rect","Parse","正常系","文字列から矩形が解析されること","なし","s=""10, 20, 100, 200""","Rect(10, 20, 100, 200)が返却される","中","文字列解析"
"29","UT-AVB-029","src/Avalonia.Base/Rect.cs","Rect","Translate","正常系","矩形が正しく平行移動されること","Rect(0, 0, 100, 100)","offset=Vector(10, 20)","Rect(10, 20, 100, 100)が返却される","中","平行移動"
"30","UT-AVB-030","src/Avalonia.Base/Rect.cs","Rect","TransformToAABB","正常系","変換後の軸平行境界ボックスが計算されること","Rect(0, 0, 100, 100)","回転行列","変換後のAABBが返却される","中","座標変換"
"31","UT-AVB-031","src/Avalonia.Base/Size.cs","Size","コンストラクタ","正常系","width, heightでサイズが作成されること","なし","width=100, height=200","対応するプロパティが設定される","高","基本コンストラクタ"
"32","UT-AVB-032","src/Avalonia.Base/Size.cs","Size","AspectRatio","正常系","アスペクト比が正しく計算されること","Size(200, 100)","なし","2.0が返却される","中","アスペクト比計算"
"33","UT-AVB-033","src/Avalonia.Base/Size.cs","Size","Constrain","正常系","制約に基づいてサイズが制限されること","Size(200, 200)","constraint=Size(100, 150)","Size(100, 150)が返却される","中","サイズ制約"
"34","UT-AVB-034","src/Avalonia.Base/Size.cs","Size","Deflate","正常系","Thicknessによりサイズが収縮すること","Size(100, 100)","Thickness(10)","Size(80, 80)が返却される","中","サイズ収縮"
"35","UT-AVB-035","src/Avalonia.Base/Size.cs","Size","Deflate","境界値","収縮後のサイズが0未満にならないこと","Size(10, 10)","Thickness(20)","Size(0, 0)が返却される","中","最小値制約"
"36","UT-AVB-036","src/Avalonia.Base/Size.cs","Size","Inflate","正常系","Thicknessによりサイズが膨張すること","Size(80, 80)","Thickness(10)","Size(100, 100)が返却される","中","サイズ膨張"
"37","UT-AVB-037","src/Avalonia.Base/Size.cs","Size","Parse","正常系","文字列からサイズが解析されること","なし","s=""100, 200""","Size(100, 200)が返却される","中","文字列解析"
"38","UT-AVB-038","src/Avalonia.Base/Size.cs","Size","NearlyEquals","正常系","数値的に近いサイズが等価と判定されること","Size(100.0, 100.0)","Size(100.0000001, 99.9999999)","trueが返却される","低","近似等価判定"
"39","UT-AVB-039","src/Avalonia.Base/Point.cs","Point","コンストラクタ","正常系","x, yで点が作成されること","なし","x=10, y=20","対応するプロパティが設定される","高","基本コンストラクタ"
"40","UT-AVB-040","src/Avalonia.Base/Point.cs","Point","operator+","正常系","2つの点の加算が正しく計算されること","なし","Point(10, 20) + Point(5, 10)","Point(15, 30)が返却される","高","点の加算"
"41","UT-AVB-041","src/Avalonia.Base/Point.cs","Point","operator-","正常系","2つの点の減算が正しく計算されること","なし","Point(10, 20) - Point(5, 10)","Point(5, 10)が返却される","高","点の減算"
"42","UT-AVB-042","src/Avalonia.Base/Point.cs","Point","operator*","正常系","スカラー倍が正しく計算されること","なし","Point(10, 20) * 2","Point(20, 40)が返却される","中","スカラー倍"
"43","UT-AVB-043","src/Avalonia.Base/Point.cs","Point","Distance","正常系","2点間のユークリッド距離が計算されること","なし","Point(0, 0), Point(3, 4)","5.0が返却される","中","距離計算"
"44","UT-AVB-044","src/Avalonia.Base/Point.cs","Point","Parse","正常系","文字列から点が解析されること","なし","s=""10, 20""","Point(10, 20)が返却される","中","文字列解析"
"45","UT-AVB-045","src/Avalonia.Base/Point.cs","Point","Transform","正常系","行列変換が正しく適用されること","Point(10, 20)","平行移動行列","変換後のPointが返却される","中","座標変換"
"46","UT-AVB-046","src/Avalonia.Base/Point.cs","Point","NearlyEquals","正常系","数値的に近い点が等価と判定されること","Point(10.0, 20.0)","Point(10.0000001, 19.9999999)","trueが返却される","低","近似等価判定"
"47","UT-AVB-047","src/Avalonia.Base/Vector.cs","Vector","コンストラクタ","正常系","x, yでベクトルが作成されること","なし","x=10, y=20","対応するプロパティが設定される","高","基本コンストラクタ"
"48","UT-AVB-048","src/Avalonia.Base/Vector.cs","Vector","Length","正常系","ベクトルの長さが正しく計算されること","Vector(3, 4)","なし","5.0が返却される","高","長さ計算"
"49","UT-AVB-049","src/Avalonia.Base/Vector.cs","Vector","SquaredLength","正常系","ベクトルの長さの2乗が計算されること","Vector(3, 4)","なし","25.0が返却される","中","長さの2乗"
"50","UT-AVB-050","src/Avalonia.Base/Vector.cs","Vector","Normalize","正常系","単位ベクトルが返却されること","Vector(3, 4)","なし","長さ1のベクトルが返却される","高","正規化"
"51","UT-AVB-051","src/Avalonia.Base/Vector.cs","Vector","Dot","正常系","内積が正しく計算されること","なし","Vector(1, 0), Vector(0, 1)","0が返却される","中","内積計算"
"52","UT-AVB-052","src/Avalonia.Base/Vector.cs","Vector","Cross","正常系","外積が正しく計算されること","なし","Vector(1, 0), Vector(0, 1)","1が返却される","中","外積計算"
"53","UT-AVB-053","src/Avalonia.Base/Vector.cs","Vector","operator+","正常系","2つのベクトルの加算が計算されること","なし","Vector(1, 2) + Vector(3, 4)","Vector(4, 6)が返却される","高","ベクトル加算"
"54","UT-AVB-054","src/Avalonia.Base/Vector.cs","Vector","operator-","正常系","2つのベクトルの減算が計算されること","なし","Vector(3, 4) - Vector(1, 2)","Vector(2, 2)が返却される","高","ベクトル減算"
"55","UT-AVB-055","src/Avalonia.Base/Vector.cs","Vector","Distance","正常系","2つのベクトル間の距離が計算されること","なし","Vector(0, 0), Vector(3, 4)","5.0が返却される","中","距離計算"
"56","UT-AVB-056","src/Avalonia.Base/Vector.cs","Vector","Clamp","正常系","ベクトルが範囲内に制限されること","なし","value=Vector(10, 10), min=Vector(0, 0), max=Vector(5, 5)","Vector(5, 5)が返却される","中","クランプ処理"
"57","UT-AVB-057","src/Avalonia.Base/Matrix.cs","Matrix","コンストラクタ","正常系","6要素で2x3行列が作成されること","なし","scaleX=1, skewY=0, skewX=0, scaleY=1, offsetX=10, offsetY=20","対応する要素が設定される","高","2x3行列コンストラクタ"
"58","UT-AVB-058","src/Avalonia.Base/Matrix.cs","Matrix","コンストラクタ","正常系","9要素で3x3行列が作成されること","なし","9つの要素値","対応する要素が設定される","中","3x3行列コンストラクタ"
"59","UT-AVB-059","src/Avalonia.Base/Matrix.cs","Matrix","Identity","正常系","単位行列が返却されること","なし","なし","対角成分が1, それ以外が0の行列","高","単位行列"
"60","UT-AVB-060","src/Avalonia.Base/Matrix.cs","Matrix","IsIdentity","正常系","単位行列の場合trueが返却されること","Matrix.Identity","なし","trueが返却される","中","単位行列判定"
"61","UT-AVB-061","src/Avalonia.Base/Matrix.cs","Matrix","operator*","正常系","2つの行列の積が正しく計算されること","なし","2つの行列","積行列が返却される","高","行列乗算"
"62","UT-AVB-062","src/Avalonia.Base/Matrix.cs","Matrix","CreateRotation","正常系","回転行列が作成されること","なし","radians=Math.PI/2","90度回転行列が返却される","高","回転行列作成"
"63","UT-AVB-063","src/Avalonia.Base/Matrix.cs","Matrix","CreateScale","正常系","スケール行列が作成されること","なし","xScale=2, yScale=3","スケール行列が返却される","高","スケール行列作成"
"64","UT-AVB-064","src/Avalonia.Base/Matrix.cs","Matrix","CreateTranslation","正常系","平行移動行列が作成されること","なし","xPosition=10, yPosition=20","平行移動行列が返却される","高","平行移動行列作成"
"65","UT-AVB-065","src/Avalonia.Base/Matrix.cs","Matrix","CreateSkew","正常系","スキュー行列が作成されること","なし","xAngle, yAngle","スキュー行列が返却される","中","スキュー行列作成"
"66","UT-AVB-066","src/Avalonia.Base/Matrix.cs","Matrix","GetDeterminant","正常系","行列式が正しく計算されること","非特異行列","なし","行列式の値が返却される","中","行列式計算"
"67","UT-AVB-067","src/Avalonia.Base/Matrix.cs","Matrix","TryInvert","正常系","可逆行列の逆行列が計算されること","非特異行列","なし","trueとinverted行列が返却される","高","逆行列計算"
"68","UT-AVB-068","src/Avalonia.Base/Matrix.cs","Matrix","TryInvert","異常系","特異行列の場合falseが返却されること","特異行列","なし","falseが返却される","中","特異行列の処理"
"69","UT-AVB-069","src/Avalonia.Base/Matrix.cs","Matrix","Invert","異常系","特異行列の場合InvalidOperationExceptionがスローされること","特異行列","なし","InvalidOperationExceptionがスローされる","中","例外処理"
"70","UT-AVB-070","src/Avalonia.Base/Matrix.cs","Matrix","Transform","正常系","点の座標変換が正しく行われること","平行移動行列(10, 20)","Point(0, 0)","Point(10, 20)が返却される","高","点の変換"
"71","UT-AVB-071","src/Avalonia.Base/Matrix.cs","Matrix","ContainsPerspective","正常系","透視変換を含む場合trueが返却されること","perspX != 0の行列","なし","trueが返却される","中","透視変換判定"
"72","UT-AVB-072","src/Avalonia.Base/Matrix.cs","Matrix","Parse","正常系","文字列から行列が解析されること","なし","6つの数値文字列","Matrixが返却される","中","文字列解析"
"73","UT-AVB-073","src/Avalonia.Base/Matrix.cs","Matrix","TryDecomposeTransform","正常系","行列が変換要素に分解されること","アフィン変換行列","なし","Decomposedが返却される","中","行列分解"
"74","UT-AVB-074","src/Avalonia.Base/Media/Color.cs","Color","コンストラクタ","正常系","ARGB値で色が作成されること","なし","a=255, r=128, g=64, b=32","対応するプロパティが設定される","高","基本コンストラクタ"
"75","UT-AVB-075","src/Avalonia.Base/Media/Color.cs","Color","FromArgb","正常系","ARGB値から色が作成されること","なし","a=255, r=255, g=0, b=0","赤色のColorが返却される","高","ARGB色作成"
"76","UT-AVB-076","src/Avalonia.Base/Media/Color.cs","Color","FromRgb","正常系","RGB値から色が作成されること","なし","r=255, g=0, b=0","A=255の赤色が返却される","高","RGB色作成"
"77","UT-AVB-077","src/Avalonia.Base/Media/Color.cs","Color","FromUInt32","正常系","整数値から色が作成されること","なし","value=0xFFFF0000","赤色のColorが返却される","中","整数値からの変換"
"78","UT-AVB-078","src/Avalonia.Base/Media/Color.cs","Color","Parse","正常系","16進文字列から色が解析されること","なし","s=""#FF0000""","赤色のColorが返却される","高","16進文字列解析"
"79","UT-AVB-079","src/Avalonia.Base/Media/Color.cs","Color","Parse","正常系","短縮16進文字列から色が解析されること","なし","s=""#F00""","赤色のColorが返却される","中","短縮16進解析"
"80","UT-AVB-080","src/Avalonia.Base/Media/Color.cs","Color","Parse","正常系","rgb()形式から色が解析されること","なし","s=""rgb(255, 0, 0)""","赤色のColorが返却される","中","CSS RGB解析"
"81","UT-AVB-081","src/Avalonia.Base/Media/Color.cs","Color","Parse","正常系","rgba()形式から色が解析されること","なし","s=""rgba(255, 0, 0, 0.5)""","A=128の赤色が返却される","中","CSS RGBA解析"
"82","UT-AVB-082","src/Avalonia.Base/Media/Color.cs","Color","Parse","正常系","色名から色が解析されること","なし","s=""Red""","赤色のColorが返却される","中","色名解析"
"83","UT-AVB-083","src/Avalonia.Base/Media/Color.cs","Color","Parse","異常系","無効な文字列でFormatExceptionがスローされること","なし","s=""invalid""","FormatExceptionがスローされる","中","不正入力の処理"
"84","UT-AVB-084","src/Avalonia.Base/Media/Color.cs","Color","TryParse","正常系","有効な文字列でtrueが返却されること","なし","s=""#FF0000""","trueとColorが返却される","中","解析成功判定"
"85","UT-AVB-085","src/Avalonia.Base/Media/Color.cs","Color","TryParse","正常系","無効な文字列でfalseが返却されること","なし","s=""invalid""","falseが返却される","中","解析失敗判定"
"86","UT-AVB-086","src/Avalonia.Base/Media/Color.cs","Color","ToUInt32","正常系","色が整数値に変換されること","Color.FromRgb(255, 0, 0)","なし","0xFFFF0000が返却される","中","整数値への変換"
"87","UT-AVB-087","src/Avalonia.Base/Media/Color.cs","Color","ToHsl","正常系","RGB色がHSL色に変換されること","赤色","なし","Hue=0, Saturation=1, Lightness=0.5","中","HSL変換"
"88","UT-AVB-088","src/Avalonia.Base/Media/Color.cs","Color","ToHsv","正常系","RGB色がHSV色に変換されること","赤色","なし","Hue=0, Saturation=1, Value=1","中","HSV変換"
"89","UT-AVB-089","src/Avalonia.Base/Input/KeyGesture.cs","KeyGesture","コンストラクタ","正常系","キーと修飾キーでジェスチャが作成されること","なし","key=Key.A, modifiers=KeyModifiers.Control","対応するプロパティが設定される","高","基本コンストラクタ"
"90","UT-AVB-090","src/Avalonia.Base/Input/KeyGesture.cs","KeyGesture","Parse","正常系","文字列からジェスチャが解析されること","なし","s=""Ctrl+A""","KeyGesture(Key.A, Control)が返却される","高","基本文字列解析"
"91","UT-AVB-091","src/Avalonia.Base/Input/KeyGesture.cs","KeyGesture","Parse","正常系","複数修飾キーの文字列が解析されること","なし","s=""Ctrl+Shift+A""","Control+Shiftのジェスチャが返却される","中","複数修飾キー解析"
"92","UT-AVB-092","src/Avalonia.Base/Input/KeyGesture.cs","KeyGesture","Parse","正常系","Ctrl++が正しく解析されること","なし","s=""Ctrl++""","Control+OemPlusのジェスチャが返却される","中","特殊キー解析"
"93","UT-AVB-093","src/Avalonia.Base/Input/KeyGesture.cs","KeyGesture","Matches","正常系","一致するKeyEventArgsでtrueが返却されること","KeyGesture(Key.A, Control)","KeyEventArgs(Key.A, Control)","trueが返却される","高","イベント一致判定"
"94","UT-AVB-094","src/Avalonia.Base/Input/KeyGesture.cs","KeyGesture","Matches","正常系","不一致のKeyEventArgsでfalseが返却されること","KeyGesture(Key.A, Control)","KeyEventArgs(Key.B, Control)","falseが返却される","高","イベント不一致判定"
"95","UT-AVB-095","src/Avalonia.Base/Input/KeyGesture.cs","KeyGesture","Matches","異常系","nullのKeyEventArgsでfalseが返却されること","KeyGesture(Key.A, Control)","null","falseが返却される","中","null処理"
"96","UT-AVB-096","src/Avalonia.Base/Input/KeyGesture.cs","KeyGesture","ToString","正常系","ジェスチャが文字列に変換されること","KeyGesture(Key.A, Control)","format=""g""","Ctrl+Aが返却される","中","文字列変換"
"97","UT-AVB-097","src/Avalonia.Base/Input/KeyGesture.cs","KeyGesture","Equals","正常系","同一ジェスチャが等価と判定されること","2つの同一KeyGesture","なし","trueが返却される","中","等価性判定"
"98","UT-AVB-098","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","コンストラクタ","正常系","空のリストが作成されること","なし","なし","Count=0のリストが作成される","高","デフォルトコンストラクタ"
"99","UT-AVB-099","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","コンストラクタ","正常系","容量指定でリストが作成されること","なし","capacity=10","Capacity=10のリストが作成される","中","容量指定コンストラクタ"
"100","UT-AVB-100","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","コンストラクタ","正常系","コレクションからリストが作成されること","なし","items=[1, 2, 3]","3要素のリストが作成される","中","コレクションコンストラクタ"
"101","UT-AVB-101","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","Add","正常系","要素が追加されること","空のリスト","item=1","Count=1, リストに1が含まれる","高","要素追加"
"102","UT-AVB-102","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","Add","正常系","CollectionChangedイベントが発火すること","空のリスト, イベント登録済み","item=1","Add actionのイベントが発火する","高","イベント発火確認"
"103","UT-AVB-103","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","AddRange","正常系","複数要素が追加されること","空のリスト","items=[1, 2, 3]","Count=3","中","複数要素追加"
"104","UT-AVB-104","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","Insert","正常系","指定位置に要素が挿入されること","リスト[1, 3]","index=1, item=2","リスト[1, 2, 3]になる","高","要素挿入"
"105","UT-AVB-105","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","InsertRange","正常系","指定位置に複数要素が挿入されること","リスト[1, 4]","index=1, items=[2, 3]","リスト[1, 2, 3, 4]になる","中","複数要素挿入"
"106","UT-AVB-106","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","InsertRange","異常系","itemsがnullでArgumentNullExceptionがスローされること","リスト[1]","items=null","ArgumentNullExceptionがスローされる","中","null検証"
"107","UT-AVB-107","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","Remove","正常系","要素が削除されること","リスト[1, 2, 3]","item=2","リスト[1, 3]になり、trueが返却される","高","要素削除"
"108","UT-AVB-108","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","Remove","正常系","存在しない要素でfalseが返却されること","リスト[1, 2, 3]","item=4","falseが返却され、リストは変更なし","中","存在しない要素の削除"
"109","UT-AVB-109","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","RemoveAt","正常系","指定インデックスの要素が削除されること","リスト[1, 2, 3]","index=1","リスト[1, 3]になる","高","インデックス指定削除"
"110","UT-AVB-110","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","RemoveRange","正常系","範囲内の要素が削除されること","リスト[1, 2, 3, 4]","index=1, count=2","リスト[1, 4]になる","中","範囲削除"
"111","UT-AVB-111","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","RemoveAll","正常系","指定された全要素が削除されること","リスト[1, 2, 3, 2, 4]","items=[2]","リスト[1, 3, 4]になる","中","条件削除"
"112","UT-AVB-112","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","Clear","正常系","リストがクリアされること","リスト[1, 2, 3]","なし","Count=0になる","高","リストクリア"
"113","UT-AVB-113","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","Clear","正常系","ResetBehavior.ResetでResetイベントが発火すること","ResetBehavior=Reset","なし","Reset actionのイベントが発火する","中","Resetイベント確認"
"114","UT-AVB-114","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","Clear","正常系","ResetBehavior.RemoveでRemoveイベントが発火すること","ResetBehavior=Remove","なし","Remove actionのイベントが発火する","中","Removeイベント確認"
"115","UT-AVB-115","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","Move","正常系","要素が移動されること","リスト[1, 2, 3]","oldIndex=0, newIndex=2","リスト[2, 3, 1]になる","中","要素移動"
"116","UT-AVB-116","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","MoveRange","正常系","複数要素が移動されること","リスト[1, 2, 3, 4]","oldIndex=0, count=2, newIndex=3","リスト[3, 4, 1, 2]になる","中","複数要素移動"
"117","UT-AVB-117","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","indexer","正常系","インデックスで要素が取得されること","リスト[1, 2, 3]","index=1","2が返却される","高","インデクサget"
"118","UT-AVB-118","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","indexer","正常系","インデックスで要素が設定されること","リスト[1, 2, 3]","index=1, value=5","リスト[1, 5, 3]になる","高","インデクサset"
"119","UT-AVB-119","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","indexer","正常系","値が変更された場合Replaceイベントが発火すること","リスト[1, 2, 3], イベント登録済み","index=1, value=5","Replace actionのイベントが発火する","中","置換イベント確認"
"120","UT-AVB-120","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","Contains","正常系","存在する要素でtrueが返却されること","リスト[1, 2, 3]","item=2","trueが返却される","中","要素存在確認"
"121","UT-AVB-121","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","IndexOf","正常系","要素のインデックスが返却されること","リスト[1, 2, 3]","item=2","1が返却される","中","インデックス取得"
"122","UT-AVB-122","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","IndexOf","正常系","存在しない要素で-1が返却されること","リスト[1, 2, 3]","item=4","-1が返却される","中","存在しない要素のインデックス"
"123","UT-AVB-123","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","GetRange","正常系","指定範囲の要素が取得されること","リスト[1, 2, 3, 4]","index=1, count=2","[2, 3]が返却される","中","範囲取得"
"124","UT-AVB-124","src/Avalonia.Base/Collections/AvaloniaList.cs","AvaloniaList<T>","Validate","正常系","Validateが設定されている場合呼び出されること","Validate設定済み","不正な値","Validateが呼び出される","中","バリデーション実行"
"125","UT-AVB-125","src/Avalonia.Base/Threading/Dispatcher.cs","Dispatcher","UIThread","正常系","UIスレッドのDispatcherが取得できること","なし","なし","Dispatcherインスタンスが返却される","高","UIスレッド取得"
"126","UT-AVB-126","src/Avalonia.Base/Threading/Dispatcher.cs","Dispatcher","CheckAccess","正常系","UIスレッドからtrueが返却されること","UIスレッドで実行","なし","trueが返却される","高","スレッドチェック"
"127","UT-AVB-127","src/Avalonia.Base/Threading/Dispatcher.cs","Dispatcher","CheckAccess","正常系","非UIスレッドからfalseが返却されること","非UIスレッドで実行","なし","falseが返却される","高","非UIスレッドチェック"
"128","UT-AVB-128","src/Avalonia.Base/Threading/Dispatcher.cs","Dispatcher","VerifyAccess","正常系","UIスレッドで例外がスローされないこと","UIスレッドで実行","なし","例外なし","高","スレッド検証成功"
"129","UT-AVB-129","src/Avalonia.Base/Threading/Dispatcher.cs","Dispatcher","VerifyAccess","異常系","非UIスレッドでInvalidOperationExceptionがスローされること","非UIスレッドで実行","なし","InvalidOperationExceptionがスローされる","高","スレッド検証失敗"
"130","UT-AVB-130","src/Avalonia.Base/StyledElement.cs","StyledElement","DataContext","正常系","DataContextが設定・取得できること","StyledElementインスタンス","DataContext=object","設定した値が取得できる","高","DataContext設定"
"131","UT-AVB-131","src/Avalonia.Base/StyledElement.cs","StyledElement","DataContext","正常系","DataContextChangedイベントが発火すること","イベント登録済み","DataContext変更","イベントが発火する","高","DataContextChangedイベント"
"132","UT-AVB-132","src/Avalonia.Base/StyledElement.cs","StyledElement","Name","正常系","Nameが設定・取得できること","スタイル適用前","Name=""element1""","設定した値が取得できる","高","Name設定"
"133","UT-AVB-133","src/Avalonia.Base/StyledElement.cs","StyledElement","Name","異常系","スタイル適用後のName設定でInvalidOperationExceptionがスローされること","スタイル適用後","Name=""newName""","InvalidOperationExceptionがスローされる","中","Name変更禁止"
"134","UT-AVB-134","src/Avalonia.Base/StyledElement.cs","StyledElement","Classes","正常系","CSSクラスが追加・取得できること","StyledElementインスタンス","Classes.Add(""active"")","Classesに""active""が含まれる","高","CSSクラス設定"
"135","UT-AVB-135","src/Avalonia.Base/StyledElement.cs","StyledElement","BeginInit/EndInit","正常系","初期化の開始と終了が正しく動作すること","StyledElementインスタンス","BeginInit(), EndInit()","IsInitialized=trueになる","高","初期化処理"
"136","UT-AVB-136","src/Avalonia.Base/StyledElement.cs","StyledElement","EndInit","異常系","BeginInitなしでEndInitを呼ぶとInvalidOperationExceptionがスローされること","StyledElementインスタンス","EndInit()のみ","InvalidOperationExceptionがスローされる","中","不正な初期化終了"
"137","UT-AVB-137","src/Avalonia.Base/StyledElement.cs","StyledElement","ApplyStyling","正常系","スタイルが適用されること","論理ツリーに接続済み","ApplyStyling()","trueが返却される","中","スタイル適用"
"138","UT-AVB-138","src/Avalonia.Base/StyledElement.cs","StyledElement","TryGetResource","正常系","リソースが取得できること","リソース定義済み","key=""myResource""","trueとリソース値が返却される","中","リソース取得"
"139","UT-AVB-139","src/Avalonia.Base/StyledElement.cs","StyledElement","TryGetResource","正常系","存在しないリソースでfalseが返却されること","リソースなし","key=""nonexistent""","falseが返却される","中","存在しないリソース"
"140","UT-AVB-140","src/Avalonia.Base/StyledElement.cs","StyledElement","AttachedToLogicalTree","正常系","論理ツリー接続時にイベントが発火すること","イベント登録済み","論理ツリーに接続","AttachedToLogicalTreeイベントが発火する","高","論理ツリー接続イベント"
"141","UT-AVB-141","src/Avalonia.Base/StyledElement.cs","StyledElement","DetachedFromLogicalTree","正常系","論理ツリー切断時にイベントが発火すること","論理ツリーに接続済み, イベント登録済み","論理ツリーから切断","DetachedFromLogicalTreeイベントが発火する","高","論理ツリー切断イベント"
"142","UT-AVB-142","src/Avalonia.Base/StyledElement.cs","StyledElement","LogicalChildren","正常系","論理子要素が追加できること","StyledElementインスタンス","LogicalChildren.Add(child)","子要素が追加される","高","論理子要素追加"
"143","UT-AVB-143","src/Avalonia.Base/StyledElement.cs","StyledElement","LogicalChildren","異常系","nullを追加するとArgumentExceptionがスローされること","StyledElementインスタンス","LogicalChildren.Add(null)","ArgumentExceptionがスローされる","中","null子要素の検証"
"144","UT-AVB-144","src/Avalonia.Base/StyledElement.cs","StyledElement","SetParent","正常系","論理親が設定されること","StyledElementインスタンス","SetParent(parent)","Parentが設定される","高","論理親設定"
"145","UT-AVB-145","src/Avalonia.Base/StyledElement.cs","StyledElement","SetParent","異常系","既に親がある場合InvalidOperationExceptionがスローされること","親が設定済み","SetParent(newParent)","InvalidOperationExceptionがスローされる","中","二重親設定禁止"
"146","UT-AVB-146","src/Avalonia.Base/StyledElement.cs","StyledElement","Theme","正常系","Themeが設定・取得できること","StyledElementインスタンス","Theme=controlTheme","設定した値が取得できる","中","Theme設定"
"147","UT-AVB-147","src/Avalonia.Base/StyledElement.cs","StyledElement","ActualThemeVariant","正常系","実際のテーマバリアントが取得できること","テーマ設定済み","なし","ThemeVariantが返却される","中","テーマバリアント取得"
"148","UT-AVB-148","src/Avalonia.Base/Data/BindingOperations.cs","BindingOperations","GetBindingExpressionBase","正常系","バインディング式が取得できること","バインディング設定済み","target, property","BindingExpressionBaseが返却される","高","バインディング式取得"
"149","UT-AVB-149","src/Avalonia.Base/Data/BindingOperations.cs","BindingOperations","GetBindingExpressionBase","正常系","バインディングなしの場合nullが返却されること","バインディングなし","target, property","nullが返却される","中","バインディングなしの場合"
"150","UT-AVB-150","src/Avalonia.Base/Data/BindingOperations.cs","BindingOperations","DoNothing","正常系","DoNothingインスタンスが取得できること","なし","なし","DoNothingTypeインスタンスが返却される","低","DoNothing取得"
"1","UT-BRW-001","src/Browser/Avalonia.Browser/KeyInterop.cs","KeyInterop","PhysicalKeyFromDomCode","正常系","有効なDOMコードから物理キーが返却されること","なし","domCode=""KeyA""","PhysicalKey.Aが返却される","高","キーボード入力処理の基本機能"
"2","UT-BRW-002","src/Browser/Avalonia.Browser/KeyInterop.cs","KeyInterop","PhysicalKeyFromDomCode","正常系","NumpadキーのDOMコードから物理キーが返却されること","なし","domCode=""Numpad5""","PhysicalKey.NumPad5が返却される","中","テンキー入力"
"3","UT-BRW-003","src/Browser/Avalonia.Browser/KeyInterop.cs","KeyInterop","PhysicalKeyFromDomCode","異常系","null/空文字列の場合はPhysicalKey.Noneが返却されること","なし","domCode=null または """"","PhysicalKey.Noneが返却される","高","null安全性"
"4","UT-BRW-004","src/Browser/Avalonia.Browser/KeyInterop.cs","KeyInterop","PhysicalKeyFromDomCode","異常系","未知のDOMコードの場合はPhysicalKey.Noneが返却されること","なし","domCode=""UnknownKey""","PhysicalKey.Noneが返却される","中","不正入力処理"
"5","UT-BRW-005","src/Browser/Avalonia.Browser/KeyInterop.cs","KeyInterop","KeyFromDomKey","正常系","アルファベットキーから対応するKeyが返却されること","なし","domKey=""A"", physicalKey=PhysicalKey.A","Key.Aが返却される","高","キー変換の基本機能"
"6","UT-BRW-006","src/Browser/Avalonia.Browser/KeyInterop.cs","KeyInterop","KeyFromDomKey","正常系","小文字アルファベットでも対応するKeyが返却されること","なし","domKey=""a"", physicalKey=PhysicalKey.A","Key.Aが返却される","中","大文字小文字の正規化"
"7","UT-BRW-007","src/Browser/Avalonia.Browser/KeyInterop.cs","KeyInterop","KeyFromDomKey","正常系","修飾キー(Alt)が物理キー位置により左右が区別されること","なし","domKey=""Alt"", physicalKey=PhysicalKey.AltRight","Key.RightAltが返却される","高","修飾キー位置判定"
"8","UT-BRW-008","src/Browser/Avalonia.Browser/KeyInterop.cs","KeyInterop","KeyFromDomKey","正常系","数字キーがNumPadかメインキーボードか区別されること","なし","domKey=""5"", physicalKey=PhysicalKey.NumPad5","Key.NumPad5が返却される","高","テンキー判定"
"9","UT-BRW-009","src/Browser/Avalonia.Browser/KeyInterop.cs","KeyInterop","KeyFromDomKey","異常系","null/空文字列の場合はKey.Noneが返却されること","なし","domKey=null または """"","Key.Noneが返却される","高","null安全性"
"10","UT-BRW-010","src/Browser/Avalonia.Browser/KeyInterop.cs","KeyInterop","KeySymbolFromDomKey","正常系","1文字のDOMキーがそのまま返却されること","なし","domKey=""A""","文字列""A""が返却される","中","キーシンボル取得"
"11","UT-BRW-011","src/Browser/Avalonia.Browser/KeyInterop.cs","KeyInterop","KeySymbolFromDomKey","正常系","サロゲートペアが正しく処理されること","なし","domKey=絵文字等のサロゲートペア","サロゲートペア文字列が返却される","中","Unicode対応"
"12","UT-BRW-012","src/Browser/Avalonia.Browser/KeyInterop.cs","KeyInterop","KeySymbolFromDomKey","異常系","null/空文字列の場合はnullが返却されること","なし","domKey=null または """"","nullが返却される","高","null安全性"
"13","UT-BRW-013","src/Browser/Avalonia.Browser/KeyInterop.cs","KeyInterop","KeySymbolFromDomKey","異常系","3文字以上の文字列の場合はnullが返却されること","なし","domKey=""Enter""","nullが返却される","中","特殊キー名の除外"
"14","UT-BRW-014","src/Browser/Avalonia.Browser/BrowserDataFormatHelper.cs","BrowserDataFormatHelper","ToDataFormat","正常系","text/plainがDataFormat.Textに変換されること","なし","formatString=""text/plain""","DataFormat.Textが返却される","高","データ形式変換"
"15","UT-BRW-015","src/Browser/Avalonia.Browser/BrowserDataFormatHelper.cs","BrowserDataFormatHelper","ToDataFormat","正常系","FilesがDataFormat.Fileに変換されること","なし","formatString=""Files""","DataFormat.Fileが返却される","高","ファイル形式変換"
"16","UT-BRW-016","src/Browser/Avalonia.Browser/BrowserDataFormatHelper.cs","BrowserDataFormatHelper","ToDataFormat","正常系","text/で始まる形式が文字列DataFormatに変換されること","なし","formatString=""text/html""","DataFormat<string>が返却される","中","テキスト系形式判定"
"17","UT-BRW-017","src/Browser/Avalonia.Browser/BrowserDataFormatHelper.cs","BrowserDataFormatHelper","ToDataFormat","正常系","その他の形式がバイト配列DataFormatに変換されること","なし","formatString=""image/png""","DataFormat<byte[]>が返却される","中","バイナリ形式判定"
"18","UT-BRW-018","src/Browser/Avalonia.Browser/BrowserDataFormatHelper.cs","BrowserDataFormatHelper","ToBrowserFormat","正常系","DataFormat.Textがtext/plainに変換されること","なし","format=DataFormat.Text","文字列""text/plain""が返却される","高","逆変換"
"19","UT-BRW-019","src/Browser/Avalonia.Browser/BrowserDataFormatHelper.cs","BrowserDataFormatHelper","ToBrowserFormat","正常系","DataFormat.Fileが""Files""に変換されること","なし","format=DataFormat.File","文字列""Files""が返却される","高","ファイル形式逆変換"
"20","UT-BRW-020","src/Browser/Avalonia.Browser/BrowserDataFormatHelper.cs","BrowserDataFormatHelper","ToBrowserFormat","正常系","DataFormat.Bitmapがimage/pngに変換されること","なし","format=DataFormat.Bitmap","文字列""image/png""が返却される","中","画像形式変換"
"21","UT-BRW-021","src/Browser/Avalonia.Browser/Cursor.cs","CssCursor","コンストラクタ(StandardCursorType)","正常系","StandardCursorTypeからCSSキーワードが生成されること","なし","type=StandardCursorType.Hand","Value=""pointer""","高","カーソル変換基本"
"22","UT-BRW-022","src/Browser/Avalonia.Browser/Cursor.cs","CssCursor","コンストラクタ(StandardCursorType)","正常系","リサイズカーソルが正しく変換されること","なし","type=StandardCursorType.SizeWestEast","Value=""ew-resize""","中","リサイズカーソル"
"23","UT-BRW-023","src/Browser/Avalonia.Browser/Cursor.cs","CssCursor","コンストラクタ(StandardCursorType)","正常系","未定義のカーソルタイプはdefaultになること","なし","type=未定義の値","Value=""default""","中","デフォルト処理"
"24","UT-BRW-024","src/Browser/Avalonia.Browser/Cursor.cs","CssCursor","コンストラクタ(base64)","正常系","Base64画像からCSS cursor値が生成されること","なし","base64=""..."""", format=""png"", hotspot=(10,10)","data:URLを含むCSS値が生成される","中","カスタムカーソル"
"25","UT-BRW-025","src/Browser/Avalonia.Browser/Cursor.cs","CssCursor","コンストラクタ(url)","正常系","URLからCSS cursor値が生成されること","なし","url=""cursor.png"", hotspot=(5,5)","url()とhotspotを含むCSS値が生成される","中","URLカーソル"
"26","UT-BRW-026","src/Browser/Avalonia.Browser/Cursor.cs","CssCursorFactory","GetCursor","正常系","StandardCursorTypeからCssCursorが生成されること","なし","cursorType=StandardCursorType.Ibeam","CssCursor(Value=""text"")が返却される","高","カーソルファクトリ"
"27","UT-BRW-027","src/Browser/Avalonia.Browser/Cursor.cs","CssCursorFactory","CreateCursor","正常系","ビットマップカーソルが生成されること","ビットマップイメージが存在","cursor=IBitmapImpl, hotSpot=(0,0)","Base64エンコードされたCssCursorが返却される","中","ビットマップカーソル"
"28","UT-BRW-028","src/Browser/Avalonia.Browser/BrowserTopLevelImpl.cs","BrowserTopLevelImpl","TryGetTopLevel","正常系","登録されたIDでTopLevelが取得できること","TopLevelが登録済み","id=登録済みID","対応するBrowserTopLevelImplが返却される","高","TopLevel検索"
"29","UT-BRW-029","src/Browser/Avalonia.Browser/BrowserTopLevelImpl.cs","BrowserTopLevelImpl","TryGetTopLevel","異常系","未登録のIDでnullが返却されること","なし","id=未登録ID","nullが返却される","高","存在しないTopLevel"
"30","UT-BRW-030","src/Browser/Avalonia.Browser/BrowserTopLevelImpl.cs","BrowserTopLevelImpl","PointToClient","正常系","PixelPointがPointに変換されること","なし","point=PixelPoint(100, 200)","Point(100, 200)が返却される","中","座標変換"
"31","UT-BRW-031","src/Browser/Avalonia.Browser/BrowserTopLevelImpl.cs","BrowserTopLevelImpl","PointToScreen","正常系","PointがPixelPointに変換されること","なし","point=Point(50.5, 100.5)","PixelPoint(50, 100)が返却される","中","座標変換(逆)"
"32","UT-BRW-032","src/Browser/Avalonia.Browser/BrowserTopLevelImpl.cs","BrowserTopLevelImpl","SetCursor","正常系","カーソルが設定されること","TopLevelが初期化済み","cursor=CssCursor(""pointer"")","カーソルが""pointer""に変更される","中","カーソル設定"
"33","UT-BRW-033","src/Browser/Avalonia.Browser/BrowserTopLevelImpl.cs","BrowserTopLevelImpl","SetCursor","正常系","同じカーソルの場合は再設定されないこと","カーソルが既に設定済み","cursor=現在と同じ値","InputHelper.SetCursorが呼ばれない","低","重複設定防止"
"34","UT-BRW-034","src/Browser/Avalonia.Browser/BrowserTopLevelImpl.cs","BrowserTopLevelImpl","SetCursor","正常系","nullの場合はdefaultカーソルが設定されること","なし","cursor=null","カーソルが""default""に変更される","中","nullカーソル処理"
"35","UT-BRW-035","src/Browser/Avalonia.Browser/BrowserTopLevelImpl.cs","BrowserTopLevelImpl","CreatePopup","正常系","nullが返却されること(ブラウザはポップアップ非対応)","なし","なし","nullが返却される","低","ポップアップ非対応確認"
"36","UT-BRW-036","src/Browser/Avalonia.Browser/BrowserTopLevelImpl.cs","BrowserTopLevelImpl","TryGetFeature","正常系","IStorageProviderが取得できること","なし","featureType=typeof(IStorageProvider)","BrowserStorageProviderが返却される","高","機能取得"
"37","UT-BRW-037","src/Browser/Avalonia.Browser/BrowserTopLevelImpl.cs","BrowserTopLevelImpl","TryGetFeature","正常系","IClipboardが取得できること","なし","featureType=typeof(IClipboard)","Clipboardが返却される","高","クリップボード取得"
"38","UT-BRW-038","src/Browser/Avalonia.Browser/BrowserTopLevelImpl.cs","BrowserTopLevelImpl","TryGetFeature","異常系","未対応の機能タイプでnullが返却されること","なし","featureType=typeof(未対応型)","nullが返却される","中","未対応機能"
"39","UT-BRW-039","src/Browser/Avalonia.Browser/BrowserTopLevelImpl.cs","BrowserTopLevelImpl","Dispose","正常系","サーフェスが破棄されること","サーフェスが存在","なし","_surfaceがnullになりDisposeが呼ばれる","高","リソース解放"
"40","UT-BRW-040","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnPointerMove","正常系","マウス移動イベントが処理されること","InputRootが設定済み","pointerType=""mouse"", offsetX=100, offsetY=200","RawPointerEvent(Move)が発行される","高","ポインタ移動"
"41","UT-BRW-041","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnPointerMove","正常系","タッチ移動イベントが処理されること","InputRootが設定済み","pointerType=""touch""","RawPointerEvent(TouchUpdate)が発行される","高","タッチ移動"
"42","UT-BRW-042","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnPointerDown","正常系","左クリックイベントが処理されること","InputRootが設定済み","pointerType=""mouse"", buttons=0","RawPointerEvent(LeftButtonDown)が発行される","高","左クリック"
"43","UT-BRW-043","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnPointerDown","正常系","右クリックイベントが処理されること","InputRootが設定済み","pointerType=""mouse"", buttons=2","RawPointerEvent(RightButtonDown)が発行される","高","右クリック"
"44","UT-BRW-044","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnPointerDown","正常系","タッチ開始イベントが処理されること","InputRootが設定済み","pointerType=""touch""","RawPointerEvent(TouchBegin)が発行される","高","タッチ開始"
"45","UT-BRW-045","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnPointerUp","正常系","左ボタンリリースイベントが処理されること","InputRootが設定済み","pointerType=""mouse"", buttons=0","RawPointerEvent(LeftButtonUp)が発行される","高","左ボタンリリース"
"46","UT-BRW-046","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnPointerCancel","正常系","タッチキャンセルイベントが処理されること","InputRootが設定済み","pointerType=""touch""","RawPointerEvent(TouchCancel)が発行される","中","タッチキャンセル"
"47","UT-BRW-047","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnPointerCancel","正常系","非タッチのキャンセルはfalseを返すこと","InputRootが設定済み","pointerType=""mouse""","falseが返却される","低","マウスキャンセル無視"
"48","UT-BRW-048","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnWheel","正常系","ホイールイベントが処理されること","InputRootが設定済み","deltaX=0, deltaY=100","RawMouseWheelEventが発行される","高","ホイールスクロール"
"49","UT-BRW-049","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnWheel","正常系","ホイールデルタが正しく変換されること","InputRootが設定済み","deltaY=50","Vector(0, -1)のデルタが発行される","中","デルタ変換(50/50=1)"
"50","UT-BRW-050","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnDragEvent","正常系","ドラッグエンターイベントが処理されること","InputRootが設定済み","type=""dragenter""","RawDragEvent(DragEnter)が発行される","高","ドラッグ開始"
"51","UT-BRW-051","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnDragEvent","正常系","ドロップイベントが処理されること","InputRootが設定済み","type=""drop""","RawDragEvent(Drop)が発行され、trueが返却される","高","ドロップ処理"
"52","UT-BRW-052","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnDragEvent","正常系","effectAllowedがcopyの場合DragDropEffects.Copyになること","InputRootが設定済み","effectAllowed=""copy""","effectAllowedにCopyが含まれる","中","ドラッグ効果解析"
"53","UT-BRW-053","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnDragEvent","正常系","effectAllowedがallの場合全効果が有効になること","InputRootが設定済み","effectAllowed=""all""","Copy, Move, Linkが全て含まれる","中","全効果有効"
"54","UT-BRW-054","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnDragEvent","異常系","未知のドラッグタイプはfalseを返すこと","InputRootが設定済み","type=""unknown""","falseが返却される","低","未知タイプ"
"55","UT-BRW-055","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnKeyDown","正常系","キーダウンイベントが処理されること","InputRootが設定済み","code=""KeyA"", key=""a""","RawKeyEventArgs(KeyDown)が発行される","高","キー押下"
"56","UT-BRW-056","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnKeyDown","正常系","1文字キーの場合テキストイベントも発行されること","InputRootが設定済み","code=""KeyA"", key=""a""","RawTextInputEventArgsも発行される","高","テキスト入力連動"
"57","UT-BRW-057","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","OnKeyUp","正常系","キーアップイベントが処理されること","InputRootが設定済み","code=""KeyA"", key=""a""","RawKeyEventArgs(KeyUp)が発行される","高","キーリリース"
"58","UT-BRW-058","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","RawTextEvent","正常系","テキストイベントが発行されること","InputRootが設定済み","text=""Hello""","RawTextInputEventArgsが発行される","高","テキスト入力"
"59","UT-BRW-059","src/Browser/Avalonia.Browser/BrowserInputHandler.cs","BrowserInputHandler","RawTextEvent","異常系","InputRootがnullの場合falseが返却されること","InputRootが未設定","text=""Hello""","falseが返却される","中","InputRoot未設定"
"60","UT-BRW-060","src/Browser/Avalonia.Browser/ClipboardImpl.cs","ClipboardImpl","TryGetDataAsync","正常系","クリップボードデータが取得できること","クリップボードにデータあり","なし","BrowserClipboardDataTransferが返却される","高","クリップボード読取"
"61","UT-BRW-061","src/Browser/Avalonia.Browser/ClipboardImpl.cs","ClipboardImpl","TryGetDataAsync","正常系","クリップボードが空の場合nullが返却されること","クリップボードが空","なし","nullが返却される","高","空クリップボード"
"62","UT-BRW-062","src/Browser/Avalonia.Browser/ClipboardImpl.cs","ClipboardImpl","SetDataAsync","正常系","テキストデータがクリップボードに設定できること","なし","dataTransfer(Text含む)","WriteClipboardAsyncが呼ばれる","高","テキスト書込"
"63","UT-BRW-063","src/Browser/Avalonia.Browser/ClipboardImpl.cs","ClipboardImpl","SetDataAsync","正常系","ビットマップデータがクリップボードに設定できること","なし","dataTransfer(Bitmap含む)","画像データがクリップボードに書き込まれる","中","画像書込"
"64","UT-BRW-064","src/Browser/Avalonia.Browser/ClipboardImpl.cs","ClipboardImpl","ClearAsync","正常系","クリップボードがクリアされること","なし","なし","WriteClipboardAsync(null)が呼ばれる","高","クリップボードクリア"
"65","UT-BRW-065","src/Browser/Avalonia.Browser/BrowserScreens.cs","BrowserScreen","Refresh","正常系","画面情報が更新されること","画面が存在","なし","Bounds, WorkingArea, Scalingが更新される","高","画面情報更新"
"66","UT-BRW-066","src/Browser/Avalonia.Browser/BrowserScreens.cs","BrowserScreens","GetAllScreenKeys","正常系","全画面のキーが取得できること","なし","なし","JSObjectの配列が返却される","中","画面一覧取得"
"67","UT-BRW-067","src/Browser/Avalonia.Browser/BrowserScreens.cs","BrowserScreens","ScreenFromTopLevelCore","正常系","現在の画面が取得できること","TopLevelが存在","topLevel=BrowserTopLevelImpl","IsCurrent=trueの画面が返却される","中","現在画面取得"
"68","UT-BRW-068","src/Browser/Avalonia.Browser/BrowserScreens.cs","BrowserScreens","RequestScreenDetailsCore","正常系","拡張画面詳細が要求できること","なし","なし","boolが返却される","中","詳細取得要求"
"69","UT-BRW-069","src/Browser/Avalonia.Browser/BrowserScreens.cs","BrowserScreens","RequestScreenDetailsCore","異常系","例外発生時falseが返却されること","権限が拒否される","なし","falseが返却されログ出力される","中","権限拒否時"
"70","UT-BRW-070","src/Browser/Avalonia.Browser/WindowingPlatform.cs","BrowserWindowingPlatform","CreateWindow","異常系","NotSupportedExceptionがスローされること","なし","なし","NotSupportedExceptionがスローされる","高","ウィンドウ非対応"
"71","UT-BRW-071","src/Browser/Avalonia.Browser/WindowingPlatform.cs","BrowserWindowingPlatform","CreateTrayIcon","正常系","nullが返却されること(トレイアイコン非対応)","なし","なし","nullが返却される","低","トレイアイコン非対応"
"72","UT-BRW-072","src/Browser/Avalonia.Browser/WindowingPlatform.cs","BrowserWindowingPlatform","Register","正常系","プラットフォームサービスが登録されること","なし","なし","AvaloniaLocatorにサービスが登録される","高","サービス登録"
"73","UT-BRW-073","src/Browser/Avalonia.Browser/BrowserDispatcherImpl.cs","BrowserDispatcherImpl","CurrentThreadIsLoopThread","正常系","現在のスレッドがループスレッドか判定されること","なし","なし","現在スレッドとの比較結果が返却される","中","スレッド判定"
"74","UT-BRW-074","src/Browser/Avalonia.Browser/BrowserDispatcherImpl.cs","BrowserDispatcherImpl","Signal","正常系","シグナルが発行されること","なし","なし","TimerHelper.SetTimeoutが呼ばれる","高","シグナル発行"
"75","UT-BRW-075","src/Browser/Avalonia.Browser/BrowserDispatcherImpl.cs","BrowserDispatcherImpl","Signal","正常系","重複シグナルは発行されないこと","既にシグナル済み","なし","SetTimeoutが呼ばれない","中","重複防止"
"76","UT-BRW-076","src/Browser/Avalonia.Browser/BrowserDispatcherImpl.cs","BrowserDispatcherImpl","UpdateTimer","正常系","タイマーが更新されること","なし","dueTimeInMs=1000","SetIntervalが呼ばれる","高","タイマー更新"
"77","UT-BRW-077","src/Browser/Avalonia.Browser/BrowserDispatcherImpl.cs","BrowserDispatcherImpl","UpdateTimer","正常系","タイマーがクリアされること","タイマーが設定済み","dueTimeInMs=null","ClearIntervalが呼ばれる","中","タイマークリア"
"78","UT-BRW-078","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","BrowserStorageProvider","OpenFilePickerAsync","正常系","ファイル選択ダイアログが開けること","なし","options=FilePickerOpenOptions","IStorageFile[]が返却される","高","ファイル選択"
"79","UT-BRW-079","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","BrowserStorageProvider","OpenFilePickerAsync","正常系","複数ファイル選択が可能なこと","なし","options.AllowMultiple=true","複数のIStorageFileが返却される","中","複数選択"
"80","UT-BRW-080","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","BrowserStorageProvider","OpenFilePickerAsync","正常系","キャンセル時は空配列が返却されること","ユーザーがキャンセル","なし","空配列が返却される","高","キャンセル処理"
"81","UT-BRW-081","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","BrowserStorageProvider","SaveFilePickerAsync","正常系","保存ダイアログが開けること","なし","options=FilePickerSaveOptions","IStorageFileが返却される","高","保存ダイアログ"
"82","UT-BRW-082","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","BrowserStorageProvider","SaveFilePickerAsync","正常系","キャンセル時はnullが返却されること","ユーザーがキャンセル","なし","nullが返却される","高","キャンセル処理"
"83","UT-BRW-083","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","BrowserStorageProvider","OpenFolderPickerAsync","正常系","フォルダ選択ダイアログが開けること","なし","options=FolderPickerOpenOptions","IStorageFolder[]が返却される","高","フォルダ選択"
"84","UT-BRW-084","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","BrowserStorageProvider","TryGetWellKnownFolderAsync","正常系","既知フォルダが取得できること","なし","wellKnownFolder=Downloads","IStorageFolderが返却される","中","既知フォルダ取得"
"85","UT-BRW-085","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","BrowserStorageProvider","TryGetWellKnownFolderAsync","異常系","未定義の既知フォルダでArgumentOutOfRangeExceptionがスローされること","なし","wellKnownFolder=未定義値","ArgumentOutOfRangeExceptionがスローされる","中","未定義フォルダ"
"86","UT-BRW-086","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","BrowserStorageProvider","TryGetFileFromPathAsync","正常系","常にnullが返却されること","なし","filePath=任意のUri","nullが返却される","低","未実装機能"
"87","UT-BRW-087","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","JSStorageItem","Name","正常系","ファイル名が取得できること","JSObjectが有効","なし","ファイル名文字列が返却される","高","名前取得"
"88","UT-BRW-088","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","JSStorageItem","GetBasicPropertiesAsync","正常系","基本プロパティが取得できること","JSObjectが有効","なし","StorageItemPropertiesが返却される","中","プロパティ取得"
"89","UT-BRW-089","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","JSStorageItem","SaveBookmarkAsync","正常系","ブックマークが保存できること","CanBookmark=true","なし","ブックマーク文字列が返却される","中","ブックマーク保存"
"90","UT-BRW-090","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","JSStorageItem","SaveBookmarkAsync","正常系","ブックマーク非対応の場合nullが返却されること","CanBookmark=false","なし","nullが返却される","中","ブックマーク非対応"
"91","UT-BRW-091","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","JSStorageItem","Dispose","正常系","JSObjectが破棄されること","なし","なし","_fileHandleがnullになる","高","リソース解放"
"92","UT-BRW-092","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","JSStorageFile","OpenReadAsync","正常系","読み取りストリームが取得できること","権限あり","なし","BlobReadableStreamが返却される","高","読み取り開始"
"93","UT-BRW-093","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","JSStorageFile","OpenReadAsync","異常系","権限がない場合UnauthorizedAccessExceptionがスローされること","権限なし","なし","UnauthorizedAccessExceptionがスローされる","高","権限エラー"
"94","UT-BRW-094","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","JSStorageFile","OpenWriteAsync","正常系","書き込みストリームが取得できること","権限あり","なし","WriteableStreamが返却される","高","書き込み開始"
"95","UT-BRW-095","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","JSStorageFolder","GetItemsAsync","正常系","フォルダ内のアイテムが列挙できること","権限あり","なし","IStorageItemが順次返却される","高","アイテム列挙"
"96","UT-BRW-096","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","JSStorageFolder","CreateFileAsync","正常系","ファイルが作成できること","権限あり","name=""test.txt""","JSStorageFileが返却される","高","ファイル作成"
"97","UT-BRW-097","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","JSStorageFolder","CreateFolderAsync","正常系","フォルダが作成できること","権限あり","name=""newFolder""","JSStorageFolderが返却される","中","フォルダ作成"
"98","UT-BRW-098","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","JSStorageFolder","GetFileAsync","正常系","既存ファイルが取得できること","ファイルが存在","name=""existing.txt""","JSStorageFileが返却される","高","ファイル取得"
"99","UT-BRW-099","src/Browser/Avalonia.Browser/Storage/BrowserStorageProvider.cs","JSStorageFolder","GetFileAsync","正常系","存在しないファイルの場合nullが返却されること","ファイルが存在しない","name=""notfound.txt""","nullが返却される","中","ファイル未発見"
"100","UT-BRW-100","src/Browser/Avalonia.Browser/Storage/BlobReadableStream.cs","BlobReadableStream","CanRead","正常系","trueが返却されること","なし","なし","trueが返却される","低","読み取り可能確認"
"101","UT-BRW-101","src/Browser/Avalonia.Browser/Storage/BlobReadableStream.cs","BlobReadableStream","CanWrite","正常系","falseが返却されること","なし","なし","falseが返却される","低","書き込み不可確認"
"102","UT-BRW-102","src/Browser/Avalonia.Browser/Storage/BlobReadableStream.cs","BlobReadableStream","Length","正常系","ストリーム長が取得できること","なし","なし","正しいバイト長が返却される","中","長さ取得"
"103","UT-BRW-103","src/Browser/Avalonia.Browser/Storage/BlobReadableStream.cs","BlobReadableStream","Position","正常系","現在位置が取得できること","なし","なし","現在の読み取り位置が返却される","中","位置取得"
"104","UT-BRW-104","src/Browser/Avalonia.Browser/Storage/BlobReadableStream.cs","BlobReadableStream","Position set","異常系","NotSupportedExceptionがスローされること","なし","value=100","NotSupportedExceptionがスローされる","中","位置設定不可"
"105","UT-BRW-105","src/Browser/Avalonia.Browser/Storage/BlobReadableStream.cs","BlobReadableStream","Seek","正常系","SeekOrigin.Beginで位置が設定されること","なし","offset=100, origin=Begin","100が返却される","中","シーク(先頭から)"
"106","UT-BRW-106","src/Browser/Avalonia.Browser/Storage/BlobReadableStream.cs","BlobReadableStream","Seek","正常系","SeekOrigin.Currentで相対位置が設定されること","Position=50","offset=50, origin=Current","100が返却される","中","シーク(相対)"
"107","UT-BRW-107","src/Browser/Avalonia.Browser/Storage/BlobReadableStream.cs","BlobReadableStream","Read","異常系","InvalidOperationExceptionがスローされること","なし","buffer, offset, count","InvalidOperationExceptionがスローされる","高","同期読み取り不可"
"108","UT-BRW-108","src/Browser/Avalonia.Browser/Storage/BlobReadableStream.cs","BlobReadableStream","ReadAsync","正常系","非同期でデータが読み取れること","なし","buffer, cancellationToken","読み取りバイト数が返却される","高","非同期読み取り"
"109","UT-BRW-109","src/Browser/Avalonia.Browser/Storage/BlobReadableStream.cs","BlobReadableStream","ReadAsync","境界値","ストリーム末尾で0が返却されること","Position=Length","buffer","0が返却される","中","末尾読み取り"
"110","UT-BRW-110","src/Browser/Avalonia.Browser/Storage/BlobReadableStream.cs","BlobReadableStream","Dispose","正常系","JSObjectが破棄されること","なし","disposing=true","_jSReferenceがnullになる","高","リソース解放"
"111","UT-BRW-111","src/Browser/Avalonia.Browser/Storage/WriteableStream.cs","WriteableStream","CanWrite","正常系","trueが返却されること","なし","なし","trueが返却される","低","書き込み可能確認"
"112","UT-BRW-112","src/Browser/Avalonia.Browser/Storage/WriteableStream.cs","WriteableStream","CanRead","正常系","falseが返却されること","なし","なし","falseが返却される","低","読み取り不可確認"
"113","UT-BRW-113","src/Browser/Avalonia.Browser/Storage/WriteableStream.cs","WriteableStream","Seek","正常系","位置が設定されること","なし","offset=100, origin=Begin","StreamHelper.Seekが呼ばれ100が返却される","中","シーク"
"114","UT-BRW-114","src/Browser/Avalonia.Browser/Storage/WriteableStream.cs","WriteableStream","SetLength","正常系","長さが設定されること","なし","value=1000","_lengthが1000になりTruncateが呼ばれる","中","長さ設定"
"115","UT-BRW-115","src/Browser/Avalonia.Browser/Storage/WriteableStream.cs","WriteableStream","SetLength","境界値","長さ縮小時に位置も調整されること","Position=500","value=200","_positionが200に調整される","中","長さ縮小時位置調整"
"116","UT-BRW-116","src/Browser/Avalonia.Browser/Storage/WriteableStream.cs","WriteableStream","Write","異常系","InvalidOperationExceptionがスローされること","なし","buffer, offset, count","InvalidOperationExceptionがスローされる","高","同期書き込み不可"
"117","UT-BRW-117","src/Browser/Avalonia.Browser/Storage/WriteableStream.cs","WriteableStream","WriteAsync","正常系","非同期でデータが書き込めること","なし","buffer, cancellationToken","Taskが完了し_positionが更新される","高","非同期書き込み"
"118","UT-BRW-118","src/Browser/Avalonia.Browser/Storage/WriteableStream.cs","WriteableStream","DisposeAsync","正常系","CloseAsyncが呼ばれJSObjectが破棄されること","なし","なし","CloseAsyncが呼ばれ_jSReferenceがnullになる","高","非同期破棄"
"119","UT-BRW-119","src/Browser/Avalonia.Browser/Storage/BrowserLauncher.cs","BrowserLauncher","LaunchUriAsync","正常系","絶対URIで新しいウィンドウが開かれること","なし","uri=new Uri(""https://example.com"")","WindowOpenが呼ばれtrueが返却される","高","URI起動"
"120","UT-BRW-120","src/Browser/Avalonia.Browser/Storage/BrowserLauncher.cs","BrowserLauncher","LaunchUriAsync","正常系","相対URIでfalseが返却されること","なし","uri=new Uri(""relative"", UriKind.Relative)","falseが返却される","中","相対URI不可"
"121","UT-BRW-121","src/Browser/Avalonia.Browser/Storage/BrowserLauncher.cs","BrowserLauncher","LaunchUriAsync","異常系","nullでArgumentNullExceptionがスローされること","なし","uri=null","ArgumentNullExceptionがスローされる","高","null入力"
"122","UT-BRW-122","src/Browser/Avalonia.Browser/Storage/BrowserLauncher.cs","BrowserLauncher","LaunchFileAsync","正常系","常にfalseが返却されること(未実装)","なし","storageItem=任意","falseが返却される","低","ファイル起動不可"
"123","UT-BRW-123","src/Browser/Avalonia.Browser/Storage/BrowserLauncher.cs","BrowserLauncher","LaunchFileAsync","異常系","nullでArgumentNullExceptionがスローされること","なし","storageItem=null","ArgumentNullExceptionがスローされる","高","null入力"
"124","UT-BRW-124","src/Browser/Avalonia.Browser/BrowserTextInputMethod.cs","BrowserTextInputMethod","SetClient","正常系","クライアントが設定されること","なし","client=TextInputMethodClient","クライアントイベントが購読されIMEが表示される","高","クライアント設定"
"125","UT-BRW-125","src/Browser/Avalonia.Browser/BrowserTextInputMethod.cs","BrowserTextInputMethod","SetClient","正常系","クライアントがnullの場合IMEが非表示になること","既存クライアントあり","client=null","HideImeが呼ばれる","高","クライアントクリア"
"126","UT-BRW-126","src/Browser/Avalonia.Browser/BrowserTextInputMethod.cs","BrowserTextInputMethod","SetCursorRect","正常系","カーソル位置が設定されること","クライアントが設定済み","rect=Rect(100, 200, 10, 20)","InputHelper.SetBoundsが呼ばれる","中","カーソル位置設定"
"127","UT-BRW-127","src/Browser/Avalonia.Browser/BrowserTextInputMethod.cs","BrowserTextInputMethod","Reset","正常系","入力要素がクリアされること","なし","なし","ClearInputElement, SetSurroundingTextが呼ばれる","中","リセット"
"128","UT-BRW-128","src/Browser/Avalonia.Browser/BrowserTextInputMethod.cs","BrowserTextInputMethod","OnCompositionStart","正常系","IsComposingがtrueになること","クライアントあり","なし","IsComposing=true, SetPreeditText(null)が呼ばれる","高","コンポジション開始"
"129","UT-BRW-129","src/Browser/Avalonia.Browser/BrowserTextInputMethod.cs","BrowserTextInputMethod","OnCompositionUpdate","正常系","プリエディットテキストが更新されること","クライアントあり","data=""あい""","SetPreeditText(""あい"")が呼ばれる","高","コンポジション更新"
"130","UT-BRW-130","src/Browser/Avalonia.Browser/BrowserTextInputMethod.cs","BrowserTextInputMethod","OnCompositionEnd","正常系","コンポジションが終了しテキストイベントが発行されること","クライアントあり","data=""漢字""","IsComposing=false, RawTextEventが呼ばれる","高","コンポジション終了"
"131","UT-BRW-131","src/Browser/Avalonia.Browser/BrowserTextInputMethod.cs","BrowserTextInputMethod","OnCompositionEnd","正常系","dataがnullの場合テキストイベントは発行されないこと","クライアントあり","data=null","RawTextEventは呼ばれない","中","空コンポジション終了"
"132","UT-BRW-132","src/Browser/Avalonia.Browser/BrowserNativeControlHost.cs","BrowserNativeControlHost","CreateDefaultChild","正常系","デフォルト子要素が作成されること","なし","parent=IPlatformHandle","JSObjectControlHandleが返却される","中","子要素作成"
"133","UT-BRW-133","src/Browser/Avalonia.Browser/BrowserNativeControlHost.cs","BrowserNativeControlHost","IsCompatibleWith","正常系","JSObjectControlHandleでtrueが返却されること","なし","handle=JSObjectControlHandle","trueが返却される","中","互換性チェック(成功)"
"134","UT-BRW-134","src/Browser/Avalonia.Browser/BrowserNativeControlHost.cs","BrowserNativeControlHost","IsCompatibleWith","正常系","他のハンドル型でfalseが返却されること","なし","handle=他の型","falseが返却される","中","互換性チェック(失敗)"
"135","UT-BRW-135","src/Browser/Avalonia.Browser/BrowserNativeControlHost.cs","Attachment","ShowInBounds","正常系","要素が指定範囲に表示されること","AttachedToが設定済み","bounds=Rect(0,0,100,100)","ShowInBoundsが呼ばれる","中","表示範囲設定"
"136","UT-BRW-136","src/Browser/Avalonia.Browser/BrowserNativeControlHost.cs","Attachment","ShowInBounds","異常系","AttachedToがnullの場合InvalidOperationExceptionがスローされること","AttachedToがnull","bounds=任意","InvalidOperationExceptionがスローされる","高","未アタッチエラー"
"137","UT-BRW-137","src/Browser/Avalonia.Browser/BrowserNativeControlHost.cs","Attachment","HideWithSize","正常系","要素が非表示になること","AttachedToが設定済み","size=Size(100,100)","HideWithSizeが呼ばれる","中","非表示設定"
"138","UT-BRW-138","src/Browser/Avalonia.Browser/BrowserNativeControlHost.cs","Attachment","Dispose","正常系","子要素がリリースされること","なし","なし","ReleaseChildが呼ばれJSObjectが破棄される","高","リソース解放"
"139","UT-BRW-139","src/Browser/Avalonia.Browser/BrowserPlatformSettings.cs","BrowserPlatformSettings","GetColorValues","正常系","カラー値が取得できること","バックエンド初期化済み","なし","PlatformColorValuesが返却される","中","カラー値取得"
"140","UT-BRW-140","src/Browser/Avalonia.Browser/BrowserPlatformSettings.cs","BrowserPlatformSettings","GetColorValues","正常系","ダークモード時はDarkが返却されること","_isDarkMode=true","なし","ThemeVariant=Darkが返却される","高","ダークモード判定"
"141","UT-BRW-141","src/Browser/Avalonia.Browser/BrowserPlatformSettings.cs","BrowserPlatformSettings","OnValuesChanged","正常系","値が更新されイベントが発行されること","なし","isDarkMode=true, isHighContrast=false","ColorValuesChangedイベントが発行される","中","値変更通知"
"142","UT-BRW-142","src/Browser/Avalonia.Browser/BrowserInsetsManager.cs","BrowserInsetsManager","IsSystemBarVisible get","正常系","フルスクリーン状態が取得できること","なし","なし","DomHelper.IsFullscreenの結果が返却される","中","フルスクリーン取得"
"143","UT-BRW-143","src/Browser/Avalonia.Browser/BrowserInsetsManager.cs","BrowserInsetsManager","IsSystemBarVisible set","正常系","フルスクリーン状態が設定できること","なし","value=true","SetFullscreenが呼ばれる","中","フルスクリーン設定"
"144","UT-BRW-144","src/Browser/Avalonia.Browser/BrowserInsetsManager.cs","BrowserInsetsManager","SafeAreaPadding","正常系","セーフエリアパディングが取得できること","なし","なし","Thicknessが返却される","中","セーフエリア取得"
"145","UT-BRW-145","src/Browser/Avalonia.Browser/BrowserInsetsManager.cs","BrowserInsetsManager","NotifySafeAreaPaddingChanged","正常系","セーフエリア変更イベントが発行されること","なし","なし","OnSafeAreaChangedが呼ばれる","中","変更通知"
"146","UT-BRW-146","src/Browser/Avalonia.Browser/AvaloniaView.cs","AvaloniaView","コンストラクタ(string)","正常系","divIdからビューが作成されること","要素が存在","divId=""app""","EmbeddableControlRootが作成される","高","ID指定作成"
"147","UT-BRW-147","src/Browser/Avalonia.Browser/AvaloniaView.cs","AvaloniaView","コンストラクタ(string)","異常系","要素が存在しない場合Exceptionがスローされること","要素が存在しない","divId=""notfound""","Exceptionがスローされる","高","要素未発見"
"148","UT-BRW-148","src/Browser/Avalonia.Browser/AvaloniaView.cs","AvaloniaView","コンストラクタ(JSObject)","正常系","JSObjectからビューが作成されること","なし","host=有効なJSObject","EmbeddableControlRootが作成される","高","JSObject作成"
"149","UT-BRW-149","src/Browser/Avalonia.Browser/AvaloniaView.cs","AvaloniaView","コンストラクタ(JSObject)","異常系","nullでArgumentNullExceptionがスローされること","なし","host=null","ArgumentNullExceptionがスローされる","高","null入力"
"150","UT-BRW-150","src/Browser/Avalonia.Browser/AvaloniaView.cs","AvaloniaView","Content get/set","正常系","コンテンツが取得/設定できること","ビューが作成済み","value=Control","_topLevel.Contentが更新される","高","コンテンツ操作"
"151","UT-BRW-151","src/Browser/Avalonia.Browser/BrowserClipboardDataTransfer.cs","BrowserClipboardDataTransfer","ProvideFormats","正常系","全アイテムの形式が統合されて返却されること","アイテムが存在","なし","重複除去されたDataFormat[]が返却される","中","形式一覧取得"
"152","UT-BRW-152","src/Browser/Avalonia.Browser/BrowserClipboardDataTransfer.cs","BrowserClipboardDataTransfer","ProvideItems","正常系","JSObjectからアイテム配列が作成されること","JSObjectが有効","なし","BrowserClipboardDataTransferItem[]が返却される","高","アイテム配列取得"
"153","UT-BRW-153","src/Browser/Avalonia.Browser/BrowserClipboardDataTransfer.cs","BrowserClipboardDataTransfer","Dispose","正常系","JSObjectとアイテムが破棄されること","なし","なし","全リソースが解放される","高","リソース解放"
"154","UT-BRW-154","src/Browser/Avalonia.Browser/BrowserDragDataTransfer.cs","BrowserDragDataTransfer","ProvideFormats","正常系","全アイテムの形式が統合されて返却されること","アイテムが存在","なし","重複除去されたDataFormat[]が返却される","中","形式一覧取得"
"155","UT-BRW-155","src/Browser/Avalonia.Browser/BrowserDragDataTransfer.cs","BrowserDragDataTransfer","ProvideItems","正常系","JSObjectからアイテム配列が作成されること","JSObjectが有効","なし","BrowserDragDataTransferItem[]が返却される","高","アイテム配列取得"
"156","UT-BRW-156","src/Browser/Avalonia.Browser/BrowserClipboardDataTransferItem.cs","BrowserClipboardDataTransferItem","ProvideFormats","正常系","アイテムの形式一覧が取得できること","JSObjectが有効","なし","DataFormat[]が返却される","中","形式一覧取得"
"157","UT-BRW-157","src/Browser/Avalonia.Browser/BrowserClipboardDataTransferItem.cs","BrowserClipboardDataTransferItem","TryGetRawCoreAsync","正常系","非同期でデータが取得できること","JSObjectが有効","format=DataFormat.Text","テキストデータが返却される","高","非同期データ取得"
"158","UT-BRW-158","src/Browser/Avalonia.Browser/BrowserDragDataTransferItem.cs","BrowserDragDataTransferItem","TryGetRawCore","正常系","同期でデータが取得できること","JSObjectが有効","format=DataFormat.Text","テキストデータが返却される","高","同期データ取得"
"159","UT-BRW-159","src/Browser/Avalonia.Browser/Rendering/BrowserRenderTimer.cs","BrowserRenderTimer","StartOnThisThread","正常系","アニメーションフレームが開始されること","未開始","なし","RunAnimationFramesが呼ばれ_started=true","高","レンダリング開始"
"160","UT-BRW-160","src/Browser/Avalonia.Browser/Rendering/BrowserRenderTimer.cs","BrowserRenderTimer","StartOnThisThread","正常系","既に開始済みの場合は何もしないこと","開始済み","なし","RunAnimationFramesが呼ばれない","中","重複開始防止"
"161","UT-BRW-161","src/Browser/Avalonia.Browser/Rendering/BrowserRenderTimer.cs","BrowserRenderTimer","Tick","正常系","イベントハンドラが登録できること","なし","value=Action<TimeSpan>","_tickにハンドラが追加される","中","イベント登録"
"162","UT-BRW-162","src/Browser/Avalonia.Browser/BrowserActivatableLifetime.cs","BrowserActivatableLifetime","OnVisibilityStateChanged","正常系","visible時にActivatedが発行されること","なし","visibilityState=""visible""","OnActivated(Background)が呼ばれる","高","アクティブ化"
"163","UT-BRW-163","src/Browser/Avalonia.Browser/BrowserActivatableLifetime.cs","BrowserActivatableLifetime","OnVisibilityStateChanged","正常系","hidden時にDeactivatedが発行されること","なし","visibilityState=""hidden""","OnDeactivated(Background)が呼ばれる","高","非アクティブ化"
"164","UT-BRW-164","src/Browser/Avalonia.Browser/BrowserSystemNavigationManager.cs","BrowserSystemNavigationManagerImpl","OnBackRequested","正常系","BackRequestedイベントが発行されること","イベントハンドラ登録済み","なし","BackRequestedイベントが発行される","中","戻るボタン処理"
"165","UT-BRW-165","src/Browser/Avalonia.Browser/BrowserSystemNavigationManager.cs","BrowserSystemNavigationManagerImpl","OnBackRequested","正常系","イベント処理結果が返却されること","ハンドラがHandled=trueを設定","なし","trueが返却される","中","処理済み判定"
"166","UT-BRW-166","src/Browser/Avalonia.Browser/BrowserSingleViewLifetime.cs","BrowserSingleViewLifetime","MainView get","正常系","メインビューが取得できること","Viewが初期化済み","なし","View.Contentが返却される","高","メインビュー取得"
"167","UT-BRW-167","src/Browser/Avalonia.Browser/BrowserSingleViewLifetime.cs","BrowserSingleViewLifetime","MainView get","異常系","View未初期化時InvalidOperationExceptionがスローされること","Viewがnull","なし","InvalidOperationExceptionがスローされる","高","未初期化エラー"
"168","UT-BRW-168","src/Browser/Avalonia.Browser/BrowserSingleViewLifetime.cs","BrowserSingleViewLifetime","MainView set","正常系","メインビューが設定できること","Viewが初期化済み","value=Control","View.Contentが更新される","高","メインビュー設定"
"169","UT-BRW-169","src/Browser/Avalonia.Browser/BrowserMouseDevice.cs","BrowserMouseDevice","PointerId","正常系","ポインタIDが取得できること","なし","なし","コンストラクタで設定されたIDが返却される","低","ポインタID取得"
"170","UT-BRW-170","src/Browser/Avalonia.Browser/BrowserMouseDevice.cs","BrowserMousePointer","PlatformCapture","正常系","要素がある場合ポインタキャプチャが設定されること","なし","element=有効な要素","SetPointerCaptureが呼ばれる","中","キャプチャ設定"
"171","UT-BRW-171","src/Browser/Avalonia.Browser/BrowserMouseDevice.cs","BrowserMousePointer","PlatformCapture","正常系","要素がnullの場合キャプチャがリリースされること","なし","element=null","ReleasePointerCaptureが呼ばれる","中","キャプチャ解除"
"172","UT-BRW-172","src/Browser/Avalonia.Browser/JSObjectControlHandle.cs","JSObjectPlatformHandle","コンストラクタ","正常系","JSObjectからハンドルが作成されること","なし","reference=有効なJSObject","HandleとObjectが設定される","高","ハンドル作成"
"173","UT-BRW-173","src/Browser/Avalonia.Browser/JSObjectControlHandle.cs","JSObjectControlHandle","Destroy","正常系","JSObjectが破棄されること","Objectが有効","なし","Object.Disposeが呼ばれる","高","ハンドル破棄"
"174","UT-BRW-174","src/Browser/Avalonia.Browser/JSObjectControlHandle.cs","JSObjectControlHandle","Destroy","正常系","既に破棄済みの場合は何もしないこと","Object.IsDisposed=true","なし","例外がスローされない","中","重複破棄防止"
"175","UT-BRW-175","src/Browser/Avalonia.Browser/BrowserAppBuilder.cs","BrowserAppBuilder","StartBrowserAppAsync","正常系","ブラウザアプリが開始されること","なし","mainDivId=""app""","ビューが作成され、SetupWithLifetimeが呼ばれる","高","アプリ開始"
"176","UT-BRW-176","src/Browser/Avalonia.Browser/BrowserAppBuilder.cs","BrowserAppBuilder","StartBrowserAppAsync","異常系","mainDivIdがnullの場合ArgumentNullExceptionがスローされること","なし","mainDivId=null","ArgumentNullExceptionがスローされる","高","null入力"
"177","UT-BRW-177","src/Browser/Avalonia.Browser/BrowserAppBuilder.cs","BrowserAppBuilder","SetupBrowserAppAsync","正常系","ブラウザバックエンドが設定されること","なし","なし","PreSetupBrowserとSetupWithLifetimeが呼ばれる","高","セットアップ"
"178","UT-BRW-178","src/Browser/Avalonia.Browser/BrowserAppBuilder.cs","BrowserAppBuilder","PreSetupBrowser","正常系","オプションが設定されること","なし","options=BrowserPlatformOptions","AvaloniaLocatorにオプションが登録される","中","オプション設定"
"179","UT-BRW-179","src/Browser/Avalonia.Browser/BrowserAppBuilder.cs","BrowserAppBuilder","PreSetupBrowser","正常系","デフォルトパスリゾルバが設定されること","options.FrameworkAssetPathResolver=null","なし","./prefixのリゾルバが設定される","中","デフォルトリゾルバ"
"180","UT-BRW-180","src/Browser/Avalonia.Browser/BrowserAppBuilder.cs","BrowserAppBuilder","UseBrowser","正常系","ブラウザプラットフォームが設定されること","なし","なし","Skia, HarfBuzz, WindowingSubsystemが設定される","高","プラットフォーム設定"
"1","UT-BLD-001","src/Avalonia.Build.Tasks/XamlCompilerDiagnosticsFilter.cs","XamlCompilerDiagnosticsFilter","コンストラクタ","正常系","analyzerConfigFilesがnullの場合に正常にインスタンス化されること","なし","analyzerConfigFiles=null","XamlCompilerDiagnosticsFilterインスタンスが生成される","高","null許容パラメータの基本動作"
"2","UT-BLD-002","src/Avalonia.Build.Tasks/XamlCompilerDiagnosticsFilter.cs","XamlCompilerDiagnosticsFilter","コンストラクタ","正常系","空のanalyzerConfigFilesで正常にインスタンス化されること","なし","analyzerConfigFiles=空配列","XamlCompilerDiagnosticsFilterインスタンスが生成される","中","空配列の処理"
"3","UT-BLD-003","src/Avalonia.Build.Tasks/XamlCompilerDiagnosticsFilter.cs","XamlCompilerDiagnosticsFilter","Handle(XamlDiagnostic)","正常系","診断情報の重大度が正しく処理されること","EditorConfig未設定","diagnostic.Severity=Warning, diagnostic.Code=""AVLN001""","元のSeverity(Warning)が返却される","高","デフォルト動作の確認"
"4","UT-BLD-004","src/Avalonia.Build.Tasks/XamlCompilerDiagnosticsFilter.cs","XamlCompilerDiagnosticsFilter","Handle(XamlDiagnosticSeverity, string)","正常系","EditorConfigで""error""指定時にErrorが返却されること","EditorConfigにerror設定あり","currentSeverity=Warning, diagnosticCode=""AVLN001""","XamlDiagnosticSeverity.Errorが返却される","高","Severity変更処理"
"5","UT-BLD-005","src/Avalonia.Build.Tasks/XamlCompilerDiagnosticsFilter.cs","XamlCompilerDiagnosticsFilter","Handle(XamlDiagnosticSeverity, string)","正常系","EditorConfigで""warning""指定時にWarningが返却されること","EditorConfigにwarning設定あり","currentSeverity=Error, diagnosticCode=""AVLN001""","XamlDiagnosticSeverity.Warningが返却される","高","Severity変更処理"
"6","UT-BLD-006","src/Avalonia.Build.Tasks/XamlCompilerDiagnosticsFilter.cs","XamlCompilerDiagnosticsFilter","Handle(XamlDiagnosticSeverity, string)","正常系","EditorConfigで""default""指定時に元のSeverityが返却されること","EditorConfigにdefault設定あり","currentSeverity=Warning, diagnosticCode=""AVLN001""","元のWarningが返却される","中","default設定の確認"
"7","UT-BLD-007","src/Avalonia.Build.Tasks/XamlCompilerDiagnosticsFilter.cs","XamlCompilerDiagnosticsFilter","Handle(XamlDiagnosticSeverity, string)","正常系","EditorConfigで""none""指定時にNoneが返却されること","EditorConfigにnone設定あり","currentSeverity=Warning, diagnosticCode=""AVLN001""","XamlDiagnosticSeverity.Noneが返却される","中","抑制設定の確認"
"8","UT-BLD-008","src/Avalonia.Build.Tasks/XamlCompilerDiagnosticsFilter.cs","XamlCompilerDiagnosticsFilter","Handle(XamlDiagnosticSeverity, string)","正常系","EditorConfigで""silent""指定時にNoneが返却されること","EditorConfigにsilent設定あり","currentSeverity=Error, diagnosticCode=""AVLN001""","XamlDiagnosticSeverity.Noneが返却される","低","抑制設定の確認"
"9","UT-BLD-009","src/Avalonia.Build.Tasks/XamlCompilerDiagnosticsFilter.cs","XamlCompilerDiagnosticsFilter","Handle(XamlDiagnosticSeverity, string)","異常系","EditorConfigに該当コードがない場合に元のSeverityが返却されること","EditorConfig設定なし","currentSeverity=Warning, diagnosticCode=""UNKNOWN""","元のWarningが返却される","中","未設定コードの処理"
"10","UT-BLD-010","src/Avalonia.Build.Tasks/XamlCompilerDiagnosticsFilter.cs","XamlCompilerDiagnosticsFilter","ParseEditorConfigFiles","正常系","EditorConfigファイルが正しく解析されること","有効なEditorConfigファイル存在","analyzerConfigFiles=1ファイル","診断コードと重大度の辞書が返却される","高","ファイル解析処理"
"11","UT-BLD-011","src/Avalonia.Build.Tasks/XamlCompilerDiagnosticsFilter.cs","XamlCompilerDiagnosticsFilter","ParseEditorConfigFiles","異常系","存在しないファイルが指定された場合にスキップされること","ファイルが存在しない","analyzerConfigFiles=存在しないパス","空の辞書が返却される","中","ファイル不存在時の処理"
"12","UT-BLD-012","src/Avalonia.Build.Tasks/XamlCompilerDiagnosticsFilter.cs","XamlCompilerDiagnosticsFilter","ParseEditorConfigFiles","境界値","複数のEditorConfigファイルが正しくマージされること","複数のEditorConfigファイル存在","analyzerConfigFiles=2ファイル","全設定がマージされた辞書が返却される","中","複数ファイル処理"
"13","UT-BLD-013","src/Avalonia.Build.Tasks/DeterministicIdGenerator.cs","DeterministicIdGenerator","GenerateIdentifierPart","正常系","最初の呼び出しで""1""が返却されること","新規インスタンス","なし","文字列""1""が返却される","高","初期ID生成"
"14","UT-BLD-014","src/Avalonia.Build.Tasks/DeterministicIdGenerator.cs","DeterministicIdGenerator","GenerateIdentifierPart","正常系","連続呼び出しでインクリメントされた値が返却されること","インスタンス生成済み","2回目の呼び出し","文字列""2""が返却される","高","ID連番生成"
"15","UT-BLD-015","src/Avalonia.Build.Tasks/DeterministicIdGenerator.cs","DeterministicIdGenerator","GenerateIdentifierPart","境界値","大量呼び出しでも正しくインクリメントされること","インスタンス生成済み","1000回の連続呼び出し","1から1000までの連番が返却される","中","大量ID生成"
"16","UT-BLD-016","src/Avalonia.Build.Tasks/XamlFileInfo.cs","XamlFileInfo","Parse","正常系","x:Class属性を持つXAMLが正しく解析されること","有効なXAML文字列","data=""<Window x:Class='App.MainWindow'/>""","XClass=""App.MainWindow""のXamlFileInfoが返却される","高","基本的なXAML解析"
"17","UT-BLD-017","src/Avalonia.Build.Tasks/XamlFileInfo.cs","XamlFileInfo","Parse","正常系","x:Class属性がないXAMLでXClassがnullになること","有効なXAML文字列","data=""<Window/>""","XClass=nullのXamlFileInfoが返却される","高","x:Class省略時の処理"
"18","UT-BLD-018","src/Avalonia.Build.Tasks/XamlFileInfo.cs","XamlFileInfo","Parse","異常系","不正なXMLで例外がスローされること","不正なXML文字列","data=""<invalid""","XmlException等がスローされる","高","不正XML処理"
"19","UT-BLD-019","src/Avalonia.Build.Tasks/XamlFileInfo.cs","XamlFileInfo","Parse","異常系","空文字列で例外がスローされること","空文字列","data=""""","例外がスローされる","中","空入力の処理"
"20","UT-BLD-020","src/Avalonia.Build.Tasks/XamlFileInfo.cs","XamlFileInfo","Parse","異常系","nullで例外がスローされること","null","data=null","ArgumentNullExceptionがスローされる","中","null入力の処理"
"21","UT-BLD-021","src/Avalonia.Build.Tasks/CompileAvaloniaXamlTask.cs","CompileAvaloniaXamlTask","Execute","正常系","正常なコンパイルが成功すること","有効なアセンブリとプロジェクト設定","AssemblyFile=有効, ProjectDirectory=有効","trueが返却される","高","基本コンパイル処理"
"22","UT-BLD-022","src/Avalonia.Build.Tasks/CompileAvaloniaXamlTask.cs","CompileAvaloniaXamlTask","Execute","正常系","出力ディレクトリが存在しない場合に作成されること","出力ディレクトリ未存在","outputPath=新規パス","ディレクトリが作成されtrueが返却される","高","ディレクトリ自動作成"
"23","UT-BLD-023","src/Avalonia.Build.Tasks/CompileAvaloniaXamlTask.cs","CompileAvaloniaXamlTask","Execute","正常系","RefAssemblyFileが指定された場合に処理されること","RefAssemblyFile指定","RefAssemblyFile=有効","参照アセンブリも処理されtrueが返却される","中","参照アセンブリ処理"
"24","UT-BLD-024","src/Avalonia.Build.Tasks/CompileAvaloniaXamlTask.cs","CompileAvaloniaXamlTask","Execute","正常系","SkipXamlCompilationがtrueの場合にコンパイルがスキップされること","SkipXamlCompilation=true","SkipXamlCompilation=true","コンパイルスキップでtrueが返却される","中","スキップオプション"
"25","UT-BLD-025","src/Avalonia.Build.Tasks/CompileAvaloniaXamlTask.cs","CompileAvaloniaXamlTask","Execute","正常系","署名設定が正しく適用されること","SignAssembly=true, DelaySign=false","AssemblyOriginatorKeyFile=有効なキーファイル","署名されたアセンブリが出力される","高","署名処理"
"26","UT-BLD-026","src/Avalonia.Build.Tasks/CompileAvaloniaXamlTask.cs","CompileAvaloniaXamlTask","Execute","異常系","コンパイルエラー時にfalseが返却されること","不正なXAMLファイル含む","AssemblyFile=不正なXAML含む","falseが返却される","高","エラーハンドリング"
"27","UT-BLD-027","src/Avalonia.Build.Tasks/CompileAvaloniaXamlTask.cs","CompileAvaloniaXamlTask","CopyAndTouch","正常系","ファイルが正しくコピーされること","ソースファイル存在","source=有効なパス, destination=新規パス","ファイルがコピーされタイムスタンプが更新される","高","ファイルコピー処理"
"28","UT-BLD-028","src/Avalonia.Build.Tasks/CompileAvaloniaXamlTask.cs","CompileAvaloniaXamlTask","CopyAndTouch","正常系","同一パスの場合にタイムスタンプのみ更新されること","ソースと宛先が同一","source=destination","タイムスタンプのみ更新される","中","同一ファイル処理"
"29","UT-BLD-029","src/Avalonia.Build.Tasks/CompileAvaloniaXamlTask.cs","CompileAvaloniaXamlTask","CopyAndTouch","異常系","存在しないソースファイルでshouldExist=trueの場合に例外がスローされること","ソースファイル不存在","source=存在しないパス, shouldExist=true","FileNotFoundExceptionがスローされる","高","ファイル不存在エラー"
"30","UT-BLD-030","src/Avalonia.Build.Tasks/CompileAvaloniaXamlTask.cs","CompileAvaloniaXamlTask","CopyAndTouch","正常系","存在しないソースファイルでshouldExist=falseの場合に何もしないこと","ソースファイル不存在","source=存在しないパス, shouldExist=false","処理がスキップされる","中","オプショナルファイル処理"
"31","UT-BLD-031","src/Avalonia.Build.Tasks/GenerateAvaloniaResourcesTask.cs","GenerateAvaloniaResourcesTask","Execute","正常系","リソースファイルが正しく生成されること","有効なリソースファイル存在","Resources=有効なファイル配列","リソースファイルが生成されtrueが返却される","高","基本リソース生成"
"32","UT-BLD-032","src/Avalonia.Build.Tasks/GenerateAvaloniaResourcesTask.cs","GenerateAvaloniaResourcesTask","Execute","正常系","出力ディレクトリが存在しない場合に作成されること","出力ディレクトリ未存在","Output=新規パス","ディレクトリが作成されtrueが返却される","高","ディレクトリ自動作成"
"33","UT-BLD-033","src/Avalonia.Build.Tasks/GenerateAvaloniaResourcesTask.cs","GenerateAvaloniaResourcesTask","Execute","異常系","不正なXAMLファイルでfalseが返却されること","不正なXAMLファイル含む","Resources=不正なXAML含む","falseが返却される","高","XAMLエラー処理"
"34","UT-BLD-034","src/Avalonia.Build.Tasks/GenerateAvaloniaResourcesTask.cs","GenerateAvaloniaResourcesTask","PreProcessXamlFiles","正常系","XAMLファイルのx:Classが正しく抽出されること","有効なXAMLファイル","sources=x:Class属性付きXAML","typeToXamlIndexに登録されtrueが返却される","高","x:Class抽出"
"35","UT-BLD-035","src/Avalonia.Build.Tasks/GenerateAvaloniaResourcesTask.cs","GenerateAvaloniaResourcesTask","PreProcessXamlFiles","異常系","重複するx:Classでfalseが返却されること","重複x:Class","sources=同一x:Classを持つ複数ファイル","falseが返却される","高","重複検出"
"36","UT-BLD-036","src/Avalonia.Build.Tasks/GenerateAvaloniaResourcesTask.cs","GenerateAvaloniaResourcesTask","PreProcessXamlFiles","正常系",".axaml/.xaml/.paml拡張子が処理されること","各拡張子のファイル","sources=.axaml, .xaml, .pamlファイル","全ファイルが処理されtrueが返却される","中","拡張子対応"
"37","UT-BLD-037","src/Avalonia.Build.Tasks/GenerateAvaloniaResourcesTask.cs","GenerateAvaloniaResourcesTask","PreProcessXamlFiles","正常系","AvaloniaResourceXamlInfoが生成されること","有効なXAMLファイル","sources=有効なXAML","/!AvaloniaResourceXamlInfoが追加される","高","メタ情報生成"
"38","UT-BLD-038","src/Avalonia.Build.Tasks/GenerateAvaloniaResourcesTask.cs","Source","コンストラクタ(ITaskItem, string)","正常系","相対パスからSourceが正しく生成されること","有効なTaskItemとroot","avaloniaResourceItem=有効, root=有効","Path, Size, SystemPathが設定される","高","Source初期化"
"39","UT-BLD-039","src/Avalonia.Build.Tasks/GenerateAvaloniaResourcesTask.cs","Source","コンストラクタ(ITaskItem, string)","正常系","Link属性がある場合にLinkパスが使用されること","Link属性付きTaskItem","Link=""custom/path.xaml""","Path=""custom/path.xaml""","中","Link属性処理"
"40","UT-BLD-040","src/Avalonia.Build.Tasks/GenerateAvaloniaResourcesTask.cs","Source","Open","正常系","ファイルからストリームが取得できること","ファイルベースSource","なし","FileStreamが返却される","中","ストリーム取得"
"41","UT-BLD-041","src/Avalonia.Build.Tasks/GenerateAvaloniaResourcesTask.cs","Source","Open","正常系","バイト配列からMemoryStreamが取得できること","バイト配列ベースSource","なし","MemoryStreamが返却される","中","メモリストリーム取得"
"42","UT-BLD-042","src/Avalonia.Build.Tasks/GenerateAvaloniaResourcesTask.cs","Source","ReadAsString","正常系","ファイル内容が文字列として読み取れること","ファイルベースSource","なし","ファイル内容の文字列が返却される","中","文字列読み取り"
"43","UT-BLD-043","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs","XamlCompilerTaskExecutor","Compile","正常系","XAMLコンパイルが成功すること","有効な入力アセンブリと参照","input=有効, references=有効","Success=true, WrittenFile=trueのCompileResultが返却される","高","基本コンパイル"
"44","UT-BLD-044","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs","XamlCompilerTaskExecutor","Compile","正常系","XAMLファイルがない場合にSuccess=true, WrittenFile=falseが返却されること","XAMLファイルなし","input=XAMLなしアセンブリ","Success=true, WrittenFile=falseが返却される","中","XAMLなし処理"
"45","UT-BLD-045","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs","XamlCompilerTaskExecutor","Compile","正常系","skipXamlCompilation=trueでコンパイルがスキップされること","スキップフラグON","skipXamlCompilation=true","アセンブリ書き出しのみ実行される","中","スキップオプション"
"46","UT-BLD-046","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs","XamlCompilerTaskExecutor","Compile","異常系","例外発生時にSuccess=falseが返却されること","不正な入力","input=不正なパス","Success=falseのCompileResultが返却される","高","エラーハンドリング"
"47","UT-BLD-047","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs","XamlCompilerTaskExecutor","Compile","正常系","強力名キーが正しく適用されること","署名キー指定","strongNameKey=有効なキーパス","署名されたアセンブリが出力される","高","署名処理"
"48","UT-BLD-048","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs","XamlCompilerTaskExecutor","Compile","正常系","参照アセンブリが正しく処理されること","参照アセンブリ指定","refInput=有効, refOutput=有効","参照アセンブリも更新される","中","参照アセンブリ"
"49","UT-BLD-049","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs","XamlCompilerTaskExecutor","CheckXamlName","正常系",".axaml拡張子がtrueを返すこと","なし","resource.Name=""file.axaml""","trueが返却される","中","拡張子チェック"
"50","UT-BLD-050","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs","XamlCompilerTaskExecutor","CheckXamlName","正常系",".xaml拡張子がtrueを返すこと","なし","resource.Name=""file.xaml""","trueが返却される","中","拡張子チェック"
"51","UT-BLD-051","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs","XamlCompilerTaskExecutor","CheckXamlName","正常系",".paml拡張子がtrueを返すこと","なし","resource.Name=""file.paml""","trueが返却される","中","拡張子チェック"
"52","UT-BLD-052","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs","XamlCompilerTaskExecutor","CheckXamlName","正常系","大文字拡張子でもtrueを返すこと","なし","resource.Name=""file.XAML""","trueが返却される","低","大文字小文字無視"
"53","UT-BLD-053","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs","XamlCompilerTaskExecutor","CheckXamlName","正常系","非XAML拡張子でfalseを返すこと","なし","resource.Name=""file.cs""","falseが返却される","中","非対象拡張子"
"54","UT-BLD-054","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs","CompileResult","コンストラクタ","正常系","SuccessとWrittenFileが正しく設定されること","なし","success=true, writtenFile=true","Success=true, WrittenFile=trueのインスタンス","中","結果オブジェクト生成"
"55","UT-BLD-055","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs","CompileResult","コンストラクタ","正常系","writtenFileのデフォルトがfalseであること","なし","success=true","Success=true, WrittenFile=falseのインスタンス","低","デフォルト値確認"
"56","UT-BLD-056","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.Helpers.cs","AvaloniaResources","コンストラクタ","正常系","アセンブリからリソースが読み込まれること","AvaloniaResourceを含むアセンブリ","asm=有効なアセンブリ, projectDir=有効","リソースが辞書に格納される","高","リソース読み込み"
"57","UT-BLD-057","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.Helpers.cs","AvaloniaResources","コンストラクタ","正常系","AvaloniaResourceが存在しない場合に空のリソースになること","リソースなしアセンブリ","asm=リソースなし","空のリソース辞書","中","リソースなし処理"
"58","UT-BLD-058","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.Helpers.cs","AvaloniaResources","Save","正常系","リソースがアセンブリに保存されること","リソース存在","なし","EmbeddedResourceがアセンブリに追加される","高","リソース保存"
"59","UT-BLD-059","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.Helpers.cs","AvaloniaResources","Save","正常系","リソースが0件の場合に何も追加されないこと","リソースなし","なし","リソースが追加されない","中","空リソース処理"
"60","UT-BLD-060","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.Helpers.cs","AvaloniaResource","コンストラクタ","正常系","Uri, Name, FilePathが正しく設定されること","有効なパラメータ","grp=有効, projectDir=有効, name=""/test.xaml"", data=バイト配列","avares://アセンブリ名/test.xamlのUri等が設定される","高","リソース初期化"
"61","UT-BLD-061","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.Helpers.cs","AvaloniaResource","Remove","正常系","リソースが親コレクションから削除されること","リソース追加済み","なし","リソースが辞書から削除される","中","リソース削除"
"62","UT-BLD-062","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.Helpers.cs","XamlCompilerTaskExecutor","CopyDebugDocument","正常系","デバッグ情報がコピーされること","SequencePoints存在","method=空メソッド, copyFrom=デバッグ情報付き","methodにデバッグ情報が設定される","中","デバッグ情報コピー"
"63","UT-BLD-063","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.Helpers.cs","XamlCompilerTaskExecutor","CopyDebugDocument","正常系","SequencePointsがない場合に何もしないこと","SequencePointsなし","copyFrom.HasSequencePoints=false","何も変更されない","低","条件スキップ"
"64","UT-BLD-064","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.Helpers.cs","XamlCompilerTaskExecutor","MatchThisCall","正常系","ldarg.0でtrueが返却されること","有効な命令リスト","instructions[idx].OpCode=Ldarg_0","trueが返却される","中","this参照検出"
"65","UT-BLD-065","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.Helpers.cs","XamlCompilerTaskExecutor","MatchThisCall","正常系","ldarg 0でtrueが返却されること","有効な命令リスト","instructions[idx].OpCode=Ldarg, Operand=0","trueが返却される","中","this参照検出"
"66","UT-BLD-066","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.Helpers.cs","XamlCompilerTaskExecutor","MatchThisCall","正常系","F#のCheckThis呼び出しでtrueが返却されること","F#スタイル命令","Call to CheckThis","trueが返却される","低","F#互換性"
"67","UT-BLD-067","src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.Helpers.cs","XamlCompilerTaskExecutor","MatchThisCall","正常系","その他の命令でfalseが返却されること","その他の命令","instructions[idx].OpCode=Nop","falseが返却される","低","非this検出"
"68","UT-BLD-068","src/Avalonia.Build.Tasks/Extensions.cs","Extensions","LogError(IBuildEngine, string, string, Exception)","正常系","例外情報がエラーとしてログ出力されること","BuildEngine設定済み","code=""ERR001"", file=""test.cs"", ex=Exception","BuildErrorEventArgsでログ出力される","高","エラーログ出力"
"69","UT-BLD-069","src/Avalonia.Build.Tasks/Extensions.cs","Extensions","LogError(IBuildEngine, string, string, Exception)","正常系","XmlExceptionの行番号が使用されること","XmlException発生","ex=XmlException(line=10, position=5)","行番号10, 列番号5でログ出力される","中","XMLエラー位置"
"70","UT-BLD-070","src/Avalonia.Build.Tasks/Extensions.cs","Extensions","LogDiagnostic","正常系","Warning診断がLogWarningEventで出力されること","BuildEngine設定済み","diagnostic.Severity=Warning","BuildWarningEventArgsで出力される","高","警告ログ出力"
"71","UT-BLD-071","src/Avalonia.Build.Tasks/Extensions.cs","Extensions","LogDiagnostic","正常系","Error診断がLogErrorEventで出力されること","BuildEngine設定済み","diagnostic.Severity=Error","BuildErrorEventArgsで出力される","高","エラーログ出力"
"72","UT-BLD-072","src/Avalonia.Build.Tasks/Extensions.cs","Extensions","LogDiagnostic","正常系","None診断がスキップされること","BuildEngine設定済み","diagnostic.Severity=None","何も出力されない","中","スキップ処理"
"73","UT-BLD-073","src/Avalonia.Build.Tasks/Extensions.cs","Extensions","LogError(IBuildEngine, string, string, string)","正常系","文字列メッセージがエラーとしてログ出力されること","BuildEngine設定済み","code=""ERR001"", file=""test.cs"", message=""Error""","BuildErrorEventArgsで出力される","高","メッセージログ"
"74","UT-BLD-074","src/Avalonia.Build.Tasks/Extensions.cs","Extensions","LogWarning","正常系","警告メッセージがログ出力されること","BuildEngine設定済み","code=""WRN001"", message=""Warning""","BuildWarningEventArgsで出力される","高","警告ログ出力"
"75","UT-BLD-075","src/Avalonia.Build.Tasks/Extensions.cs","Extensions","LogMessage","正常系","メッセージがログ出力されること","BuildEngine設定済み","message=""Info"", imp=High","BuildMessageEventArgsで出力される","中","メッセージログ"
"76","UT-BLD-076","src/Avalonia.Build.Tasks/Extensions.cs","Extensions","FormatException","正常系","verbose=falseでMessage のみ返却されること","例外存在","exception=Exception(""test""), verbose=false","文字列""test""が返却される","中","簡易フォーマット"
"77","UT-BLD-077","src/Avalonia.Build.Tasks/Extensions.cs","Extensions","FormatException","正常系","verbose=trueでスタックトレース含む詳細が返却されること","例外存在","exception=Exception, verbose=true","型名, メッセージ, スタックトレースを含む文字列","中","詳細フォーマット"
"78","UT-BLD-078","src/Avalonia.Build.Tasks/Extensions.cs","Extensions","FormatException","正常系","AggregateExceptionで内部例外が全て展開されること","AggregateException","exception=AggregateException(3つの内部例外)","全内部例外の情報を含む文字列","中","集約例外処理"
"79","UT-BLD-079","src/Avalonia.Build.Tasks/Extensions.cs","Extensions","FormatException","正常系","ネストした例外でInnerExceptionも出力されること","ネスト例外","exception=Exception with InnerException","両方の例外情報を含む文字列","中","ネスト例外処理"
"80","UT-BLD-080","src/Avalonia.Build.Tasks/ComInteropHelper.cs","ComInteropHelper","PatchAssembly","正常系","LocalInteropクラスが削除されること","LocalInterop含むアセンブリ","asm=LocalInterop含む","LocalInteropが削除される","高","Interopパッチ"
"81","UT-BLD-081","src/Avalonia.Build.Tasks/ComInteropHelper.cs","ComInteropHelper","PatchAssembly","正常系","__MicroComModuleInitがモジュール初期化子に追加されること","初期化メソッド存在","asm=__MicroComModuleInit含む","静的コンストラクタに呼び出しが追加される","高","初期化処理"
"82","UT-BLD-082","src/Avalonia.Build.Tasks/ComInteropHelper.cs","ComInteropHelper","PatchAssembly","正常系","静的コンストラクタが存在しない場合に作成されること","静的コンストラクタなし","asm=.cctorなし","新規.cctorが作成される","中","コンストラクタ生成"
"83","UT-BLD-083","src/Avalonia.Build.Tasks/ComInteropHelper.cs","ComInteropHelper","PatchMethod","正常系","CalliStdCallがcalli命令に置換されること","Calli呼び出し含むメソッド","method=LocalInterop.CalliStdCall呼び出し","calli命令に置換される","高","呼び出し置換"
"84","UT-BLD-084","src/Avalonia.Build.Tasks/ComInteropHelper.cs","ComInteropHelper","PatchMethod","正常系","CalliCdeclがC呼び出し規約で置換されること","CalliCdecl含む","method=LocalInterop.CalliCdecl呼び出し","CallingConvention.Cで置換","中","Cdecl規約"
"85","UT-BLD-085","src/Avalonia.Build.Tasks/ComInteropHelper.cs","ComInteropHelper","PatchMethod","正常系","CalliThisCallがThisCall規約で置換されること","CalliThisCall含む","method=LocalInterop.CalliThisCall呼び出し","CallingConvention.ThisCallで置換","中","ThisCall規約"
"86","UT-BLD-086","src/Avalonia.Build.Tasks/ComInteropHelper.cs","ComInteropHelper","PatchMethod","正常系","CalliFastCallがFastCall規約で置換されること","CalliFastCall含む","method=LocalInterop.CalliFastCall呼び出し","CallingConvention.FastCallで置換","低","FastCall規約"
"87","UT-BLD-087","src/Avalonia.Build.Tasks/ComInteropHelper.cs","ComInteropHelper","PatchMethod","正常系","メソッドボディがない場合に何もしないこと","抽象メソッド","method.HasBody=false","何も変更されない","低","ボディなし処理"
"88","UT-BLD-088","src/Avalonia.Build.Tasks/ComInteropHelper.cs","ComInteropHelper","PatchType","正常系","ネストした型も再帰的にパッチされること","ネスト型存在","type=ネスト型含む","ネスト型もパッチされる","中","再帰処理"
"89","UT-BLD-089","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","コンストラクタ(string)","正常系","文字列からSpanが作成されること","なし","s=""test""","Length=4のSpan","中","基本初期化"
"90","UT-BLD-090","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","コンストラクタ(string, int, int)","正常系","部分文字列からSpanが作成されること","なし","s=""hello"", start=1, len=3","""ell""を表すSpan","中","部分文字列"
"91","UT-BLD-091","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","コンストラクタ(string, int, int)","境界値","startが文字列長を超える場合にLength=0になること","なし","s=""hi"", start=10, len=5","Length=0のSpan","中","範囲外start"
"92","UT-BLD-092","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","コンストラクタ(string, int, int)","境界値","start+lenが文字列長を超える場合に調整されること","なし","s=""hi"", start=1, len=10","Length=1のSpan","中","範囲外len"
"93","UT-BLD-093","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","インデクサ","正常系","正しい文字が取得できること","有効なSpan","span[0]","先頭文字が返却される","中","インデクサアクセス"
"94","UT-BLD-094","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","IsEmpty","正常系","空Spanでtrueが返却されること","Length=0","なし","trueが返却される","中","空判定"
"95","UT-BLD-095","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","IsEmpty","正常系","非空Spanでfalseが返却されること","Length>0","なし","falseが返却される","中","非空判定"
"96","UT-BLD-096","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","Slice(int, int)","正常系","部分Spanが取得できること","有効なSpan","start=1, len=2","部分Spanが返却される","中","スライス処理"
"97","UT-BLD-097","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","Slice(int)","正常系","start以降のSpanが取得できること","有効なSpan","start=2","残りのSpanが返却される","中","スライス処理"
"98","UT-BLD-098","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","SequenceEqual","正常系","同一内容でtrueが返却されること","2つの同一Span","other=同一内容","trueが返却される","中","等価比較"
"99","UT-BLD-099","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","SequenceEqual","正常系","異なる内容でfalseが返却されること","2つの異なるSpan","other=異なる内容","falseが返却される","中","等価比較"
"100","UT-BLD-100","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","SequenceEqual","境界値","長さが異なる場合にfalseが返却されること","異なる長さのSpan","other=異なる長さ","falseが返却される","低","長さ不一致"
"101","UT-BLD-101","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","TrimStart","正常系","先頭空白が除去されること","空白始まりSpan","span=""  test""","先頭空白なしSpan","中","空白除去"
"102","UT-BLD-102","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","TrimEnd","正常系","末尾空白が除去されること","空白終わりSpan","span=""test  ""","末尾空白なしSpan","中","空白除去"
"103","UT-BLD-103","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","Trim","正常系","両端空白が除去されること","両端空白Span","span=""  test  ""","両端空白なしSpan","中","空白除去"
"104","UT-BLD-104","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","ToString","正常系","文字列に変換されること","有効なSpan","span=""test""","文字列""test""が返却される","中","文字列変換"
"105","UT-BLD-105","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","ToString","境界値","空Spanで空文字列が返却されること","Length=0","なし","空文字列が返却される","低","空変換"
"106","UT-BLD-106","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","IndexOf","正常系","部分文字列のインデックスが返却されること","有効なSpan","v=""es""","検索結果のインデックス","中","検索処理"
"107","UT-BLD-107","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","IndexOf","正常系","見つからない場合に-1が返却されること","有効なSpan","v=""xyz""","-1が返却される","中","検索失敗"
"108","UT-BLD-108","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","IndexOf","境界値","空Spanで-1が返却されること","Length=0","v=""a""","-1が返却される","低","空検索"
"109","UT-BLD-109","src/Avalonia.Build.Tasks/SpanCompat.cs","ReadOnlySpan<T>","IndexOf","境界値","検索文字列が空の場合に-1が返却されること","有効なSpan","v=Empty","-1が返却される","低","空検索値"
"110","UT-BLD-110","src/Avalonia.Build.Tasks/SpanCompat.cs","SpanCompatExtensions","AsSpan","正常系","文字列からSpanが作成されること","なし","s=""test""","ReadOnlySpan<char>が返却される","中","拡張メソッド"
"1","UT-CLP-001","src/Avalonia.Controls.ColorPicker/Helpers/ColorHelper.cs","ColorHelper","GetRelativeLuminance","正常系","白色の相対輝度が1に近いこと","なし","color=Colors.White (255,255,255)","戻り値が1.0に近い値","高","輝度計算の基本機能"
"2","UT-CLP-002","src/Avalonia.Controls.ColorPicker/Helpers/ColorHelper.cs","ColorHelper","GetRelativeLuminance","正常系","黒色の相対輝度が0に近いこと","なし","color=Colors.Black (0,0,0)","戻り値が0.0に近い値","高","輝度計算の基本機能"
"3","UT-CLP-003","src/Avalonia.Controls.ColorPicker/Helpers/ColorHelper.cs","ColorHelper","GetRelativeLuminance","境界値","RGB各成分が10以下の場合の計算","なし","color=Color(10,10,10)","正しい輝度値が計算される","中","閾値10での分岐処理"
"4","UT-CLP-004","src/Avalonia.Controls.ColorPicker/Helpers/ColorHelper.cs","ColorHelper","GetRelativeLuminance","境界値","RGB各成分が11以上の場合の計算","なし","color=Color(11,11,11)","正しい輝度値が計算される","中","閾値11での分岐処理"
"5","UT-CLP-005","src/Avalonia.Controls.ColorPicker/Helpers/ColorHelper.cs","ColorHelper","ToDisplayNameExists","正常系","英語カルチャーでtrueを返すこと","CurrentUICulture=en-US","なし","true","中","カルチャー判定"
"6","UT-CLP-006","src/Avalonia.Controls.ColorPicker/Helpers/ColorHelper.cs","ColorHelper","ToDisplayNameExists","正常系","日本語カルチャーでfalseを返すこと","CurrentUICulture=ja-JP","なし","false","中","カルチャー判定"
"7","UT-CLP-007","src/Avalonia.Controls.ColorPicker/Helpers/ColorHelper.cs","ColorHelper","ToDisplayName","正常系","透明色でTransparentが返ること","なし","color=Colors.Transparent (A=0)","Transparent","高","透明色の特別処理"
"8","UT-CLP-008","src/Avalonia.Controls.ColorPicker/Helpers/ColorHelper.cs","ColorHelper","ToDisplayName","正常系","既知の色名が正しく返ること","なし","color=Colors.Red","Red","高","既知色の名前解決"
"9","UT-CLP-009","src/Avalonia.Controls.ColorPicker/Helpers/ColorHelper.cs","ColorHelper","ToDisplayName","正常系","近似色名が返ること","なし","color=Color(255,100,100)","Redに近い色名","中","近似色の検索"
"10","UT-CLP-010","src/Avalonia.Controls.ColorPicker/Helpers/ColorHelper.cs","ColorHelper","ToDisplayName","正常系","キャッシュが正しく機能すること","同じ色で2回呼び出し","color=Colors.Blue","2回目も同じ結果","低","キャッシュ機能"
"11","UT-CLP-011","src/Avalonia.Controls.ColorPicker/Helpers/Hsv.cs","Hsv","コンストラクタ(h,s,v)","正常系","HSV値が正しく設定されること","なし","h=180, s=0.5, v=0.8","H=180, S=0.5, V=0.8","高","基本コンストラクタ"
"12","UT-CLP-012","src/Avalonia.Controls.ColorPicker/Helpers/Hsv.cs","Hsv","コンストラクタ(HsvColor)","正常系","HsvColorから変換されること","なし","HsvColor(1.0, 120, 0.6, 0.7)","H=120, S=0.6, V=0.7","高","HsvColorからの変換"
"13","UT-CLP-013","src/Avalonia.Controls.ColorPicker/Helpers/Hsv.cs","Hsv","ToHsvColor","正常系","HsvColorに変換されること","Hsv(180, 0.5, 0.8)","alpha=1.0","HsvColor(1.0, 180, 0.5, 0.8)","高","HsvColorへの変換"
"14","UT-CLP-014","src/Avalonia.Controls.ColorPicker/Helpers/Hsv.cs","Hsv","ToHsvColor","正常系","アルファ値が反映されること","Hsv(180, 0.5, 0.8)","alpha=0.5","HsvColor(0.5, 180, 0.5, 0.8)","中","アルファ値指定"
"15","UT-CLP-015","src/Avalonia.Controls.ColorPicker/Helpers/Hsv.cs","Hsv","ToRgb","正常系","RGBに正しく変換されること","Hsv(0, 1.0, 1.0)","なし","Rgb(1.0, 0, 0) (赤)","高","RGB変換"
"16","UT-CLP-016","src/Avalonia.Controls.ColorPicker/Helpers/Rgb.cs","Rgb","コンストラクタ(r,g,b)","正常系","RGB値が正しく設定されること","なし","r=0.5, g=0.6, b=0.7","R=0.5, G=0.6, B=0.7","高","基本コンストラクタ"
"17","UT-CLP-017","src/Avalonia.Controls.ColorPicker/Helpers/Rgb.cs","Rgb","コンストラクタ(Color)","正常系","Colorから変換されること","なし","Color(255, 128, 64, 32)","R=0.5, G=0.25, B=0.125 (近似)","高","Colorからの変換"
"18","UT-CLP-018","src/Avalonia.Controls.ColorPicker/Helpers/Rgb.cs","Rgb","ToColor","正常系","Colorに変換されること","Rgb(1.0, 0.5, 0.0)","alpha=1.0","Color(255, 255, 128, 0)","高","Colorへの変換"
"19","UT-CLP-019","src/Avalonia.Controls.ColorPicker/Helpers/Rgb.cs","Rgb","ToColor","境界値","RGB値が範囲外の場合クランプされること","Rgb(1.5, -0.5, 2.0)","alpha=1.0","Color(255, 255, 0, 255)","高","値のクランプ処理"
"20","UT-CLP-020","src/Avalonia.Controls.ColorPicker/Helpers/Rgb.cs","Rgb","ToHsv","正常系","HSVに正しく変換されること","Rgb(1.0, 0, 0)","なし","Hsv(0, 1.0, 1.0) (赤)","高","HSV変換"
"21","UT-CLP-021","src/Avalonia.Controls.ColorPicker/Converters/ColorToHexConverter.cs","ColorToHexConverter","Convert","正常系","Color型が16進文字列に変換されること","なし","value=Color(255,255,0,0), includeAlpha=true, position=Leading","FF0000FF","高","基本変換"
"22","UT-CLP-022","src/Avalonia.Controls.ColorPicker/Converters/ColorToHexConverter.cs","ColorToHexConverter","Convert","正常系","HsvColor型が変換されること","なし","value=HsvColor(赤)","FF0000 (近似)","中","HsvColor変換"
"23","UT-CLP-023","src/Avalonia.Controls.ColorPicker/Converters/ColorToHexConverter.cs","ColorToHexConverter","Convert","正常系","HslColor型が変換されること","なし","value=HslColor(赤)","FF0000 (近似)","中","HslColor変換"
"24","UT-CLP-024","src/Avalonia.Controls.ColorPicker/Converters/ColorToHexConverter.cs","ColorToHexConverter","Convert","正常系","SolidColorBrush型が変換されること","なし","value=SolidColorBrush(Red)","FF0000","中","Brush変換"
"25","UT-CLP-025","src/Avalonia.Controls.ColorPicker/Converters/ColorToHexConverter.cs","ColorToHexConverter","Convert","異常系","無効な値でUnsetValueが返ること","なし","value=string型","AvaloniaProperty.UnsetValue","中","無効入力"
"26","UT-CLP-026","src/Avalonia.Controls.ColorPicker/Converters/ColorToHexConverter.cs","ColorToHexConverter","ConvertBack","正常系","16進文字列がColorに変換されること","なし","value=""FF0000"", position=Leading","Color(255,255,0,0)","高","逆変換"
"27","UT-CLP-027","src/Avalonia.Controls.ColorPicker/Converters/ColorToHexConverter.cs","ColorToHexConverter","ConvertBack","正常系","#付き文字列が変換されること","なし","value=""#FF0000""","Color(255,255,0,0)","中","#プレフィックス"
"28","UT-CLP-028","src/Avalonia.Controls.ColorPicker/Converters/ColorToHexConverter.cs","ColorToHexConverter","ConvertBack","異常系","無効な文字列でUnsetValueが返ること","なし","value=""ZZZZZZ""","AvaloniaProperty.UnsetValue","中","無効文字列"
"29","UT-CLP-029","src/Avalonia.Controls.ColorPicker/Converters/ColorToHexConverter.cs","ColorToHexConverter","ToHexString","正常系","アルファ先頭でAARRGGBB形式になること","なし","color=Color(128,255,0,0), position=Leading, includeAlpha=true","80FF0000","高","アルファ位置Leading"
"30","UT-CLP-030","src/Avalonia.Controls.ColorPicker/Converters/ColorToHexConverter.cs","ColorToHexConverter","ToHexString","正常系","アルファ末尾でRRGGBBAA形式になること","なし","color=Color(128,255,0,0), position=Trailing, includeAlpha=true","FF000080","高","アルファ位置Trailing"
"31","UT-CLP-031","src/Avalonia.Controls.ColorPicker/Converters/ColorToHexConverter.cs","ColorToHexConverter","ToHexString","正常系","アルファなしでRRGGBB形式になること","なし","color=Color(255,255,0,0), includeAlpha=false","FF0000","中","アルファなし"
"32","UT-CLP-032","src/Avalonia.Controls.ColorPicker/Converters/ColorToHexConverter.cs","ColorToHexConverter","ToHexString","正常系","#記号が付与されること","なし","includeSymbol=true","#で始まる文字列","低","記号付与"
"33","UT-CLP-033","src/Avalonia.Controls.ColorPicker/Converters/ColorToHexConverter.cs","ColorToHexConverter","ParseHexString","正常系","6桁文字列が解析されること","なし","hexColor=""FF0000"", position=Leading","Color(255,255,0,0)","高","6桁解析"
"34","UT-CLP-034","src/Avalonia.Controls.ColorPicker/Converters/ColorToHexConverter.cs","ColorToHexConverter","ParseHexString","正常系","8桁文字列が解析されること","なし","hexColor=""80FF0000"", position=Leading","Color(128,255,0,0)","高","8桁解析"
"35","UT-CLP-035","src/Avalonia.Controls.ColorPicker/Converters/ColorToHexConverter.cs","ColorToHexConverter","ParseHexString","正常系","3桁ショートハンド文字列が解析されること","なし","hexColor=""F00""","Color(255,255,0,0)","中","3桁ショートハンド"
"36","UT-CLP-036","src/Avalonia.Controls.ColorPicker/Converters/ColorToHexConverter.cs","ColorToHexConverter","ParseHexString","正常系","4桁ショートハンド文字列が解析されること","なし","hexColor=""8F00""","Color(136,255,0,0)","中","4桁ショートハンド"
"37","UT-CLP-037","src/Avalonia.Controls.ColorPicker/Converters/ColorToHexConverter.cs","ColorToHexConverter","ParseHexString","異常系","無効な文字列でnullが返ること","なし","hexColor=""INVALID""","null","中","無効文字列"
"38","UT-CLP-038","src/Avalonia.Controls.ColorPicker/Converters/ToColorConverter.cs","ToColorConverter","Convert","正常系","Color型がそのまま返ること","なし","value=Colors.Red","Colors.Red","中","Color変換"
"39","UT-CLP-039","src/Avalonia.Controls.ColorPicker/Converters/ToColorConverter.cs","ToColorConverter","Convert","正常系","HslColor型がColorに変換されること","なし","value=HslColor(0, 1.0, 0.5, 1.0)","赤に近いColor","中","HslColor変換"
"40","UT-CLP-040","src/Avalonia.Controls.ColorPicker/Converters/ToColorConverter.cs","ToColorConverter","Convert","正常系","HsvColor型がColorに変換されること","なし","value=HsvColor(1.0, 0, 1.0, 1.0)","赤に近いColor","中","HsvColor変換"
"41","UT-CLP-041","src/Avalonia.Controls.ColorPicker/Converters/ToColorConverter.cs","ToColorConverter","Convert","正常系","SolidColorBrushの不透明度が反映されること","なし","value=SolidColorBrush(Red, Opacity=0.5)","アルファ値が約128のColor","高","Brush不透明度"
"42","UT-CLP-042","src/Avalonia.Controls.ColorPicker/Converters/ToColorConverter.cs","ToColorConverter","Convert","異常系","無効な値でUnsetValueが返ること","なし","value=string型","AvaloniaProperty.UnsetValue","中","無効入力"
"43","UT-CLP-043","src/Avalonia.Controls.ColorPicker/Converters/ToBrushConverter.cs","ToBrushConverter","Convert","正常系","IBrush型がそのまま返ること","なし","value=SolidColorBrush(Red)","同じBrush","中","Brush変換"
"44","UT-CLP-044","src/Avalonia.Controls.ColorPicker/Converters/ToBrushConverter.cs","ToBrushConverter","Convert","正常系","Color型がSolidColorBrushに変換されること","なし","value=Colors.Red","SolidColorBrush(Red)","高","Color変換"
"45","UT-CLP-045","src/Avalonia.Controls.ColorPicker/Converters/ToBrushConverter.cs","ToBrushConverter","Convert","正常系","HslColor型がBrushに変換されること","なし","value=HslColor","対応するSolidColorBrush","中","HslColor変換"
"46","UT-CLP-046","src/Avalonia.Controls.ColorPicker/Converters/ToBrushConverter.cs","ToBrushConverter","Convert","正常系","HsvColor型がBrushに変換されること","なし","value=HsvColor","対応するSolidColorBrush","中","HsvColor変換"
"47","UT-CLP-047","src/Avalonia.Controls.ColorPicker/Converters/ToBrushConverter.cs","ToBrushConverter","Convert","異常系","無効な値でUnsetValueが返ること","なし","value=string型","AvaloniaProperty.UnsetValue","中","無効入力"
"48","UT-CLP-048","src/Avalonia.Controls.ColorPicker/Converters/AccentColorConverter.cs","AccentColorConverter","Convert","正常系","Color型からアクセントカラーが生成されること","なし","value=Color(Red), parameter=""1""","明るい赤のBrush","高","アクセント生成"
"49","UT-CLP-049","src/Avalonia.Controls.ColorPicker/Converters/AccentColorConverter.cs","AccentColorConverter","Convert","正常系","負のステップで暗いアクセントが生成されること","なし","value=Color(Red), parameter=""-1""","暗い赤のBrush","高","負のアクセント"
"50","UT-CLP-050","src/Avalonia.Controls.ColorPicker/Converters/AccentColorConverter.cs","AccentColorConverter","Convert","正常系","ステップ0で元の色が返ること","なし","value=Color(Red), parameter=""0""","元の赤のBrush","中","ステップ0"
"51","UT-CLP-051","src/Avalonia.Controls.ColorPicker/Converters/AccentColorConverter.cs","AccentColorConverter","Convert","正常系","HsvColor型が処理されること","なし","value=HsvColor, parameter=""1""","アクセントカラーのBrush","中","HsvColor入力"
"52","UT-CLP-052","src/Avalonia.Controls.ColorPicker/Converters/AccentColorConverter.cs","AccentColorConverter","Convert","異常系","無効なパラメータでUnsetValueが返ること","なし","value=Color(Red), parameter=""invalid""","AvaloniaProperty.UnsetValue","中","無効パラメータ"
"53","UT-CLP-053","src/Avalonia.Controls.ColorPicker/Converters/AccentColorConverter.cs","AccentColorConverter","GetAccent","正常系","Value成分が正しく変更されること","なし","hsvColor=HsvColor(0.5V), accentStep=1","V=0.6のHsvColor","高","Value変更"
"54","UT-CLP-054","src/Avalonia.Controls.ColorPicker/Converters/AccentColorConverter.cs","AccentColorConverter","GetAccent","境界値","Value成分が1.0を超える場合","なし","hsvColor=HsvColor(0.95V), accentStep=1","V=1.05 (クランプなし)","中","境界値超過"
"55","UT-CLP-055","src/Avalonia.Controls.ColorPicker/Converters/ContrastBrushConverter.cs","ContrastBrushConverter","Convert","正常系","暗い色に対して白が返ること","なし","value=Colors.Black","SolidColorBrush(White)","高","コントラスト白"
"56","UT-CLP-056","src/Avalonia.Controls.ColorPicker/Converters/ContrastBrushConverter.cs","ContrastBrushConverter","Convert","正常系","明るい色に対して黒が返ること","なし","value=Colors.White","SolidColorBrush(Black)","高","コントラスト黒"
"57","UT-CLP-057","src/Avalonia.Controls.ColorPicker/Converters/ContrastBrushConverter.cs","ContrastBrushConverter","Convert","正常系","輝度0.5で黒が返ること","なし","value=輝度0.5超の色","SolidColorBrush(Black)","中","境界値"
"58","UT-CLP-058","src/Avalonia.Controls.ColorPicker/Converters/ContrastBrushConverter.cs","ContrastBrushConverter","Convert","正常系","アルファが閾値未満でデフォルト色が返ること","AlphaThreshold=128","value=Color(A=100), parameter=Colors.Gray","SolidColorBrush(Gray)","高","アルファ閾値"
"59","UT-CLP-059","src/Avalonia.Controls.ColorPicker/Converters/ContrastBrushConverter.cs","ContrastBrushConverter","Convert","異常系","無効な値でUnsetValueが返ること","なし","value=string型","AvaloniaProperty.UnsetValue","中","無効入力"
"60","UT-CLP-060","src/Avalonia.Controls.ColorPicker/Converters/ColorToDisplayNameConverter.cs","ColorToDisplayNameConverter","Convert","正常系","色名が正しく返ること","なし","value=Colors.Red","Red","高","色名変換"
"61","UT-CLP-061","src/Avalonia.Controls.ColorPicker/Converters/ColorToDisplayNameConverter.cs","ColorToDisplayNameConverter","Convert","正常系","透明色でUnsetValueが返ること","なし","value=Colors.Transparent","AvaloniaProperty.UnsetValue","高","透明色処理"
"62","UT-CLP-062","src/Avalonia.Controls.ColorPicker/Converters/ColorToDisplayNameConverter.cs","ColorToDisplayNameConverter","Convert","正常系","HsvColor型が処理されること","なし","value=HsvColor(赤)","Red (近似)","中","HsvColor入力"
"63","UT-CLP-063","src/Avalonia.Controls.ColorPicker/Converters/ColorToDisplayNameConverter.cs","ColorToDisplayNameConverter","Convert","異常系","無効な値でUnsetValueが返ること","なし","value=string型","AvaloniaProperty.UnsetValue","中","無効入力"
"64","UT-CLP-064","src/Avalonia.Controls.ColorPicker/Converters/DoNothingForNullConverter.cs","DoNothingForNullConverter","Convert","正常系","非null値がそのまま返ること","なし","value=""test""","""test""","中","非null変換"
"65","UT-CLP-065","src/Avalonia.Controls.ColorPicker/Converters/DoNothingForNullConverter.cs","DoNothingForNullConverter","Convert","正常系","null値でDoNothingが返ること","なし","value=null","BindingOperations.DoNothing","高","null処理"
"66","UT-CLP-066","src/Avalonia.Controls.ColorPicker/Converters/DoNothingForNullConverter.cs","DoNothingForNullConverter","ConvertBack","正常系","非null値がそのまま返ること","なし","value=""test""","""test""","中","非null逆変換"
"67","UT-CLP-067","src/Avalonia.Controls.ColorPicker/Converters/DoNothingForNullConverter.cs","DoNothingForNullConverter","ConvertBack","正常系","null値でDoNothingが返ること","なし","value=null","BindingOperations.DoNothing","高","null逆変換"
"68","UT-CLP-068","src/Avalonia.Controls.ColorPicker/ColorPalettes/IColorPalette.cs","IColorPalette","ColorCount","正常系","色数が正しく返ること","IColorPaletteの実装","なし","0以上の整数","中","プロパティ取得"
"69","UT-CLP-069","src/Avalonia.Controls.ColorPicker/ColorPalettes/IColorPalette.cs","IColorPalette","ShadeCount","正常系","シェード数が正しく返ること","IColorPaletteの実装","なし","0以上の整数","中","プロパティ取得"
"70","UT-CLP-070","src/Avalonia.Controls.ColorPicker/ColorPalettes/IColorPalette.cs","IColorPalette","GetColor","正常系","インデックスに対応する色が返ること","IColorPaletteの実装","colorIndex=0, shadeIndex=0","有効なColor","高","色取得"
"71","UT-CLP-071","src/Avalonia.Controls.ColorPicker/ColorPalettes/FluentColorPalette.cs","FluentColorPalette","ColorCount","正常系","6が返ること","なし","なし","6","中","Windows 10パレット"
"72","UT-CLP-072","src/Avalonia.Controls.ColorPicker/ColorPalettes/FluentColorPalette.cs","FluentColorPalette","ShadeCount","正常系","8が返ること","なし","なし","8","中","Windows 10パレット"
"73","UT-CLP-073","src/Avalonia.Controls.ColorPicker/ColorPalettes/FluentColorPalette.cs","FluentColorPalette","GetColor","正常系","有効なインデックスで色が返ること","なし","colorIndex=0, shadeIndex=0","Color","高","色取得"
"74","UT-CLP-074","src/Avalonia.Controls.ColorPicker/ColorPalettes/FluentColorPalette.cs","FluentColorPalette","GetColor","境界値","負のインデックスでクランプされること","なし","colorIndex=-1, shadeIndex=-1","index=0として扱われる","中","負のインデックス"
"75","UT-CLP-075","src/Avalonia.Controls.ColorPicker/ColorPalettes/FluentColorPalette.cs","FluentColorPalette","GetColor","境界値","範囲外インデックスでクランプされること","なし","colorIndex=100, shadeIndex=100","最大インデックスとして扱われる","中","範囲外インデックス"
"76","UT-CLP-076","src/Avalonia.Controls.ColorPicker/ColorPalettes/FlatColorPalette.cs","FlatColorPalette","ColorCount","正常系","20が返ること","なし","なし","20","中","Flat UIパレット"
"77","UT-CLP-077","src/Avalonia.Controls.ColorPicker/ColorPalettes/FlatColorPalette.cs","FlatColorPalette","ShadeCount","正常系","10が返ること","なし","なし","10","中","Flat UIパレット"
"78","UT-CLP-078","src/Avalonia.Controls.ColorPicker/ColorPalettes/FlatColorPalette.cs","FlatColorPalette","GetColor","正常系","有効なインデックスで色が返ること","なし","colorIndex=0, shadeIndex=0","Color","高","色取得"
"79","UT-CLP-079","src/Avalonia.Controls.ColorPicker/ColorPalettes/FlatColorPalette.cs","FlatColorPalette","GetColor","正常系","遅延初期化が正しく動作すること","初回呼び出し","colorIndex=0, shadeIndex=0","Color","中","遅延初期化"
"80","UT-CLP-080","src/Avalonia.Controls.ColorPicker/ColorPalettes/FlatHalfColorPalette.cs","FlatHalfColorPalette","ColorCount","正常系","10が返ること","なし","なし","10","中","ハーフパレット"
"81","UT-CLP-081","src/Avalonia.Controls.ColorPicker/ColorPalettes/FlatHalfColorPalette.cs","FlatHalfColorPalette","ShadeCount","正常系","5が返ること","なし","なし","5","中","ハーフパレット"
"82","UT-CLP-082","src/Avalonia.Controls.ColorPicker/ColorPalettes/FlatHalfColorPalette.cs","FlatHalfColorPalette","GetColor","正常系","有効なインデックスで色が返ること","なし","colorIndex=0, shadeIndex=0","Color","高","色取得"
"83","UT-CLP-083","src/Avalonia.Controls.ColorPicker/ColorPalettes/MaterialColorPalette.cs","MaterialColorPalette","ColorCount","正常系","19が返ること","なし","なし","19","中","Material Designパレット"
"84","UT-CLP-084","src/Avalonia.Controls.ColorPicker/ColorPalettes/MaterialColorPalette.cs","MaterialColorPalette","ShadeCount","正常系","10が返ること","なし","なし","10","中","Material Designパレット"
"85","UT-CLP-085","src/Avalonia.Controls.ColorPicker/ColorPalettes/MaterialColorPalette.cs","MaterialColorPalette","GetColor","正常系","有効なインデックスで色が返ること","なし","colorIndex=0, shadeIndex=0","Color","高","色取得"
"86","UT-CLP-086","src/Avalonia.Controls.ColorPicker/ColorPalettes/MaterialHalfColorPalette.cs","MaterialHalfColorPalette","ColorCount","正常系","10が返ること","なし","なし","10","中","ハーフパレット"
"87","UT-CLP-087","src/Avalonia.Controls.ColorPicker/ColorPalettes/MaterialHalfColorPalette.cs","MaterialHalfColorPalette","ShadeCount","正常系","5が返ること","なし","なし","5","中","ハーフパレット"
"88","UT-CLP-088","src/Avalonia.Controls.ColorPicker/ColorPalettes/MaterialHalfColorPalette.cs","MaterialHalfColorPalette","GetColor","正常系","有効なインデックスで色が返ること","なし","colorIndex=0, shadeIndex=0","Color","高","色取得"
"89","UT-CLP-089","src/Avalonia.Controls.ColorPicker/ColorPalettes/SixteenColorPalette.cs","SixteenColorPalette","ColorCount","正常系","4が返ること","なし","なし","4","中","16色パレット"
"90","UT-CLP-090","src/Avalonia.Controls.ColorPicker/ColorPalettes/SixteenColorPalette.cs","SixteenColorPalette","ShadeCount","正常系","4が返ること","なし","なし","4","中","16色パレット"
"91","UT-CLP-091","src/Avalonia.Controls.ColorPicker/ColorPalettes/SixteenColorPalette.cs","SixteenColorPalette","GetColor","正常系","有効なインデックスで色が返ること","なし","colorIndex=0, shadeIndex=0","Color","高","色取得"
"92","UT-CLP-092","src/Avalonia.Controls.ColorPicker/ColorChangedEventArgs.cs","ColorChangedEventArgs","コンストラクタ","正常系","OldColorとNewColorが正しく設定されること","なし","oldColor=Red, newColor=Blue","OldColor=Red, NewColor=Blue","高","イベント引数"
"93","UT-CLP-093","src/Avalonia.Controls.ColorPicker/ColorChangedEventArgs.cs","ColorChangedEventArgs","OldColor","正常系","設定した古い色が取得できること","コンストラクタで設定","なし","設定した色","中","プロパティ取得"
"94","UT-CLP-094","src/Avalonia.Controls.ColorPicker/ColorChangedEventArgs.cs","ColorChangedEventArgs","NewColor","正常系","設定した新しい色が取得できること","コンストラクタで設定","なし","設定した色","中","プロパティ取得"
"95","UT-CLP-095","src/Avalonia.Controls.ColorPicker/ColorView/ColorView.cs","ColorView","OnCoerceColor","正常系","IsAlphaEnabled=trueで値がそのまま返ること","IsAlphaEnabled=true","color=Color(128,255,0,0)","Color(128,255,0,0)","高","アルファ有効"
"96","UT-CLP-096","src/Avalonia.Controls.ColorPicker/ColorView/ColorView.cs","ColorView","OnCoerceColor","正常系","IsAlphaEnabled=falseでアルファが255に固定されること","IsAlphaEnabled=false","color=Color(128,255,0,0)","Color(255,255,0,0)","高","アルファ無効"
"97","UT-CLP-097","src/Avalonia.Controls.ColorPicker/ColorView/ColorView.cs","ColorView","OnCoerceHsvColor","正常系","IsAlphaEnabled=trueで値がそのまま返ること","IsAlphaEnabled=true","hsvColor=HsvColor(0.5,...)","HsvColor(0.5,...)","高","アルファ有効HSV"
"98","UT-CLP-098","src/Avalonia.Controls.ColorPicker/ColorView/ColorView.cs","ColorView","OnCoerceHsvColor","正常系","IsAlphaEnabled=falseでアルファが1.0に固定されること","IsAlphaEnabled=false","hsvColor=HsvColor(0.5,...)","HsvColor(1.0,...)","高","アルファ無効HSV"
"99","UT-CLP-099","src/Avalonia.Controls.ColorPicker/ColorView/ColorView.Properties.cs","ColorView","Color","正常系","色が正しく設定・取得できること","なし","Color=Red","Red","高","プロパティ"
"100","UT-CLP-100","src/Avalonia.Controls.ColorPicker/ColorView/ColorView.Properties.cs","ColorView","HsvColor","正常系","HSV色が正しく設定・取得できること","なし","HsvColor=HsvColor(...)","設定したHsvColor","高","プロパティ"
"101","UT-CLP-101","src/Avalonia.Controls.ColorPicker/ColorView/ColorView.Properties.cs","ColorView","ColorModel","正常系","カラーモデルが設定・取得できること","なし","ColorModel=Hsva","Hsva","中","プロパティ"
"102","UT-CLP-102","src/Avalonia.Controls.ColorPicker/ColorView/ColorView.Properties.cs","ColorView","IsAlphaEnabled","正常系","アルファ有効フラグが設定・取得できること","なし","IsAlphaEnabled=false","false","高","プロパティ"
"103","UT-CLP-103","src/Avalonia.Controls.ColorPicker/ColorView/ColorView.Properties.cs","ColorView","Palette","正常系","パレットが設定されると関連プロパティも更新されること","なし","Palette=FluentColorPalette","PaletteColorsとPaletteColumnCountが更新される","高","パレット連動"
"104","UT-CLP-104","src/Avalonia.Controls.ColorPicker/ColorView/ColorView.Properties.cs","ColorView","SelectedIndex","正常系","選択インデックスが設定・取得できること","なし","SelectedIndex=1","1","中","プロパティ"
"105","UT-CLP-105","src/Avalonia.Controls.ColorPicker/ColorPreviewer/ColorPreviewer.cs","ColorPreviewer","OnColorChanged","正常系","HsvColor変更時にColorChangedイベントが発火すること","イベントハンドラ登録","HsvColor変更","ColorChangedイベント発火","高","イベント発火"
"106","UT-CLP-106","src/Avalonia.Controls.ColorPicker/ColorPreviewer/ColorPreviewer.Properties.cs","ColorPreviewer","HsvColor","正常系","HSV色が設定・取得できること","なし","HsvColor=HsvColor(...)","設定したHsvColor","高","プロパティ"
"107","UT-CLP-107","src/Avalonia.Controls.ColorPicker/ColorPreviewer/ColorPreviewer.Properties.cs","ColorPreviewer","IsAccentColorsVisible","正常系","アクセント色表示フラグが設定・取得できること","なし","IsAccentColorsVisible=false","false","中","プロパティ"
"108","UT-CLP-108","src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrum.Properties.cs","ColorSpectrum","Color","正常系","色が正しく設定・取得できること","なし","Color=Red","Red","高","プロパティ"
"109","UT-CLP-109","src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrum.Properties.cs","ColorSpectrum","HsvColor","正常系","HSV色が設定・取得できること","なし","HsvColor=HsvColor(...)","設定したHsvColor","高","プロパティ"
"110","UT-CLP-110","src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrum.Properties.cs","ColorSpectrum","Components","正常系","コンポーネントが設定・取得できること","なし","Components=HueSaturation","HueSaturation","中","プロパティ"
"111","UT-CLP-111","src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrum.Properties.cs","ColorSpectrum","Shape","正常系","形状が設定・取得できること","なし","Shape=Ring","Ring","中","プロパティ"
"112","UT-CLP-112","src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrum.Properties.cs","ColorSpectrum","MinHue","正常系","最小Hue値が設定・取得できること","なし","MinHue=30","30","中","プロパティ"
"113","UT-CLP-113","src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrum.Properties.cs","ColorSpectrum","MaxHue","正常系","最大Hue値が設定・取得できること","なし","MaxHue=300","300","中","プロパティ"
"114","UT-CLP-114","src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrum.Properties.cs","ColorSpectrum","ThirdComponent","正常系","第三コンポーネントが自動計算されること","Components=HueSaturation","なし","Value","中","自動計算"
"115","UT-CLP-115","src/Avalonia.Controls.ColorPicker/ColorPicker/ColorPicker.cs","ColorPicker","Content","正常系","コンテンツが設定・取得できること","なし","Content=TextBlock","設定したTextBlock","中","プロパティ"
"116","UT-CLP-116","src/Avalonia.Controls.ColorPicker/ColorPicker/ColorPicker.cs","ColorPicker","ContentTemplate","正常系","コンテンツテンプレートが設定・取得できること","なし","ContentTemplate=DataTemplate","設定したDataTemplate","中","プロパティ"
"117","UT-CLP-117","src/Avalonia.Controls.ColorPicker/ColorPicker/ColorPicker.cs","ColorPicker","HorizontalContentAlignment","正常系","水平配置が設定・取得できること","なし","HorizontalContentAlignment=Center","Center","低","プロパティ"
"118","UT-CLP-118","src/Avalonia.Controls.ColorPicker/ColorPicker/ColorPicker.cs","ColorPicker","VerticalContentAlignment","正常系","垂直配置が設定・取得できること","なし","VerticalContentAlignment=Center","Center","低","プロパティ"
"119","UT-CLP-119","src/Avalonia.Controls.ColorPicker/Helpers/ColorPickerHelpers.cs","ColorPickerHelpers","IncrementColorComponent","正常系","Hueが小さいインクリメントで増加すること","なし","component=Hue, direction=Higher, amount=Small","H+1","高","色成分増加"
"120","UT-CLP-120","src/Avalonia.Controls.ColorPicker/Helpers/ColorPickerHelpers.cs","ColorPickerHelpers","IncrementColorComponent","正常系","Hueが大きいインクリメントで30増加すること","なし","component=Hue, direction=Higher, amount=Large","H+30","高","大きいインクリメント"
"121","UT-CLP-121","src/Avalonia.Controls.ColorPicker/Helpers/ColorPickerHelpers.cs","ColorPickerHelpers","IncrementColorComponent","正常系","Saturationが小さいインクリメントで増加すること","なし","component=Saturation, direction=Higher, amount=Small","S+1%","高","彩度増加"
"122","UT-CLP-122","src/Avalonia.Controls.ColorPicker/Helpers/ColorPickerHelpers.cs","ColorPickerHelpers","IncrementColorComponent","正常系","Valueが小さいインクリメントで増加すること","なし","component=Value, direction=Higher, amount=Small","V+1%","高","明度増加"
"123","UT-CLP-123","src/Avalonia.Controls.ColorPicker/Helpers/ColorPickerHelpers.cs","ColorPickerHelpers","IncrementColorComponent","境界値","最大値でラップする場合最小値に戻ること","shouldWrap=true, 現在値=maxBound","direction=Higher","minBoundに戻る","中","ラップ処理"
"124","UT-CLP-124","src/Avalonia.Controls.ColorPicker/Helpers/ColorPickerHelpers.cs","ColorPickerHelpers","IncrementColorComponent","境界値","最大値でラップしない場合最大値にとどまること","shouldWrap=false, 現在値=maxBound","direction=Higher","maxBoundのまま","中","ラップなし"
"125","UT-CLP-125","src/Avalonia.Controls.ColorPicker/Helpers/ColorPickerHelpers.cs","ColorPickerHelpers","IncrementColorComponent","異常系","無効なコンポーネントで例外がスローされること","なし","component=不正な値","InvalidOperationException","中","例外処理"
"126","UT-CLP-126","src/Avalonia.Controls.ColorPicker/Helpers/ColorPickerHelpers.cs","ColorPickerHelpers","FindNextNamedColor","正常系","次の色名に遷移すること","ToDisplayNameExists=true","component=Hue, direction=Higher","異なる色名のHsv","中","色名検索"
"127","UT-CLP-127","src/Avalonia.Controls.ColorPicker/Helpers/ColorPickerHelpers.cs","ColorPickerHelpers","FindNextNamedColor","境界値","ラップ有りで境界を超えた場合反対側に移動すること","shouldWrap=true","境界付近の色","反対側の色","中","ラップ色名検索"
"128","UT-CLP-128","src/Avalonia.Controls.ColorPicker/Helpers/ColorPickerHelpers.cs","ColorPickerHelpers","CreateBitmapFromPixelData","正常系","ピクセルデータからビットマップが生成されること","有効なBGRAデータ","pixelWidth=100, pixelHeight=100","Bitmap","高","ビットマップ生成"
"129","UT-CLP-129","src/Avalonia.Controls.ColorPicker/ColorComponent.cs","ColorComponent","Alpha","正常系","Alpha=0であること","なし","なし","0","低","列挙値"
"130","UT-CLP-130","src/Avalonia.Controls.ColorPicker/ColorComponent.cs","ColorComponent","Component1","正常系","Component1=1であること","なし","なし","1","低","列挙値"
"131","UT-CLP-131","src/Avalonia.Controls.ColorPicker/ColorComponent.cs","ColorComponent","Component2","正常系","Component2=2であること","なし","なし","2","低","列挙値"
"132","UT-CLP-132","src/Avalonia.Controls.ColorPicker/ColorComponent.cs","ColorComponent","Component3","正常系","Component3=3であること","なし","なし","3","低","列挙値"
"133","UT-CLP-133","src/Avalonia.Controls.ColorPicker/ColorModel.cs","ColorModel","Hsva","正常系","Hsvaが定義されていること","なし","なし","Hsva","低","列挙値"
"134","UT-CLP-134","src/Avalonia.Controls.ColorPicker/ColorModel.cs","ColorModel","Rgba","正常系","Rgbaが定義されていること","なし","なし","Rgba","低","列挙値"
"135","UT-CLP-135","src/Avalonia.Controls.ColorPicker/HsvComponent.cs","HsvComponent","Alpha","正常系","Alpha=0であること","なし","なし","0","低","列挙値"
"136","UT-CLP-136","src/Avalonia.Controls.ColorPicker/HsvComponent.cs","HsvComponent","Hue","正常系","Hue=1であること","なし","なし","1","低","列挙値"
"137","UT-CLP-137","src/Avalonia.Controls.ColorPicker/HsvComponent.cs","HsvComponent","Saturation","正常系","Saturation=2であること","なし","なし","2","低","列挙値"
"138","UT-CLP-138","src/Avalonia.Controls.ColorPicker/HsvComponent.cs","HsvComponent","Value","正常系","Value=3であること","なし","なし","3","低","列挙値"
"139","UT-CLP-139","src/Avalonia.Controls.ColorPicker/RgbComponent.cs","RgbComponent","Alpha","正常系","Alpha=0であること","なし","なし","0","低","列挙値"
"140","UT-CLP-140","src/Avalonia.Controls.ColorPicker/RgbComponent.cs","RgbComponent","Red","正常系","Red=1であること","なし","なし","1","低","列挙値"
"141","UT-CLP-141","src/Avalonia.Controls.ColorPicker/RgbComponent.cs","RgbComponent","Green","正常系","Green=2であること","なし","なし","2","低","列挙値"
"142","UT-CLP-142","src/Avalonia.Controls.ColorPicker/RgbComponent.cs","RgbComponent","Blue","正常系","Blue=3であること","なし","なし","3","低","列挙値"
"143","UT-CLP-143","src/Avalonia.Controls.ColorPicker/AlphaComponentPosition.cs","AlphaComponentPosition","Leading","正常系","Leadingが定義されていること","なし","なし","Leading","低","列挙値"
"144","UT-CLP-144","src/Avalonia.Controls.ColorPicker/AlphaComponentPosition.cs","AlphaComponentPosition","Trailing","正常系","Trailingが定義されていること","なし","なし","Trailing","低","列挙値"
"145","UT-CLP-145","src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrumShape.cs","ColorSpectrumShape","Box","正常系","Boxが定義されていること","なし","なし","Box","低","列挙値"
"146","UT-CLP-146","src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrumShape.cs","ColorSpectrumShape","Ring","正常系","Ringが定義されていること","なし","なし","Ring","低","列挙値"
"147","UT-CLP-147","src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrumComponents.cs","ColorSpectrumComponents","HueValue","正常系","HueValueが定義されていること","なし","なし","HueValue","低","列挙値"
"148","UT-CLP-148","src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrumComponents.cs","ColorSpectrumComponents","HueSaturation","正常系","HueSaturationが定義されていること","なし","なし","HueSaturation","低","列挙値"
"149","UT-CLP-149","src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrumComponents.cs","ColorSpectrumComponents","SaturationValue","正常系","SaturationValueが定義されていること","なし","なし","SaturationValue","低","列挙値"
"150","UT-CLP-150","src/Avalonia.Controls.ColorPicker/ColorSpectrum/ColorSpectrumComponents.cs","ColorSpectrumComponents","ValueHue","正常系","ValueHueが定義されていること","なし","なし","ValueHue","低","列挙値"
"1","UT-CTL-001","src/Avalonia.Controls/Control.cs","Control","FocusAdorner (get/set)","正常系","FocusAdornerプロパティが正しく取得・設定されること","Controlインスタンスが存在する","ITemplate<Control>インスタンス","設定した値が取得できる","中","フォーカスアドーナーの基本機能"
"2","UT-CTL-002","src/Avalonia.Controls/Control.cs","Control","Tag (get/set)","正常系","Tagプロパティが正しく取得・設定されること","Controlインスタンスが存在する","任意のobject","設定した値が取得できる","低","ユーザー定義データのアタッチ"
"3","UT-CTL-003","src/Avalonia.Controls/Control.cs","Control","ContextMenu (get/set)","正常系","ContextMenuプロパティが正しく取得・設定されること","Controlインスタンスが存在する","ContextMenuインスタンス","設定した値が取得できる","中","コンテキストメニューの設定"
"4","UT-CTL-004","src/Avalonia.Controls/Control.cs","Control","ContextFlyout (get/set)","正常系","ContextFlyoutプロパティが正しく取得・設定されること","Controlインスタンスが存在する","FlyoutBaseインスタンス","設定した値が取得できる","中","コンテキストフライアウトの設定"
"5","UT-CTL-005","src/Avalonia.Controls/Control.cs","Control","IsLoaded","正常系","ロード状態が正しく反映されること","Controlがビジュアルツリーに追加済み","なし","trueが返却される","高","ロード状態の確認"
"6","UT-CTL-006","src/Avalonia.Controls/Control.cs","Control","IsLoaded","正常系","未ロード状態が正しく反映されること","Controlがビジュアルツリーに未追加","なし","falseが返却される","高","未ロード状態の確認"
"7","UT-CTL-007","src/Avalonia.Controls/Control.cs","Control","OnLoaded","正常系","Loadedイベントが発火されること","Controlがビジュアルツリーに追加される","なし","Loadedイベントが発生する","高","ライフサイクルイベント"
"8","UT-CTL-008","src/Avalonia.Controls/Control.cs","Control","OnUnloaded","正常系","Unloadedイベントが発火されること","Controlがビジュアルツリーから削除される","なし","Unloadedイベントが発生する","高","ライフサイクルイベント"
"9","UT-CTL-009","src/Avalonia.Controls/Control.cs","Control","OnSizeChanged","正常系","SizeChangedイベントが発火されること","Controlのサイズが変更される","新しいサイズ","SizeChangedイベントが発生する","中","サイズ変更通知"
"10","UT-CTL-010","src/Avalonia.Controls/Control.cs","Control","OnGotFocus","正常系","フォーカス取得時にフォーカスアドーナーが表示されること","Controlがフォーカス可能","NavigationMethod.Tab","フォーカスアドーナーが追加される","中","フォーカス表示"
"11","UT-CTL-011","src/Avalonia.Controls/Control.cs","Control","OnLostFocus","正常系","フォーカス喪失時にフォーカスアドーナーが削除されること","Controlにフォーカスがある","なし","フォーカスアドーナーが削除される","中","フォーカス表示"
"12","UT-CTL-012","src/Avalonia.Controls/Control.cs","Control","GetOrCreateAutomationPeer","正常系","AutomationPeerが生成されること","Controlインスタンスが存在する","なし","AutomationPeerインスタンスが返却される","中","アクセシビリティ対応"
"13","UT-CTL-013","src/Avalonia.Controls/Control.cs","Control","ContextMenu","異常系","nullを設定しても例外が発生しないこと","Controlインスタンスが存在する","null","例外が発生しない","低","null許容"
"14","UT-BTN-001","src/Avalonia.Controls/Button.cs","Button","Click","正常系","クリック時にClickイベントが発火されること","Buttonが有効状態","クリック操作","Clickイベントが発生する","高","ボタンの基本機能"
"15","UT-BTN-002","src/Avalonia.Controls/Button.cs","Button","Command","正常系","Commandが実行されること","CommandがICommand実装で設定済み","クリック操作","Command.Executeが呼ばれる","高","コマンドパターン"
"16","UT-BTN-003","src/Avalonia.Controls/Button.cs","Button","Command","正常系","CanExecuteがfalseの場合Commandが実行されないこと","Command.CanExecute=false","クリック操作","Command.Executeが呼ばれない","高","コマンド実行条件"
"17","UT-BTN-004","src/Avalonia.Controls/Button.cs","Button","CommandParameter","正常系","CommandParameterがCommand.Executeに渡されること","Commandが設定済み","CommandParameter=""TestParam""","Execute(""TestParam"")が呼ばれる","高","コマンドパラメータ"
"18","UT-BTN-005","src/Avalonia.Controls/Button.cs","Button","IsDefault","正常系","Enterキーでクリックが発生すること","IsDefault=true","Enterキー押下","Clickイベントが発生する","高","デフォルトボタン"
"19","UT-BTN-006","src/Avalonia.Controls/Button.cs","Button","IsCancel","正常系","Escapeキーでクリックが発生すること","IsCancel=true","Escapeキー押下","Clickイベントが発生する","高","キャンセルボタン"
"20","UT-BTN-007","src/Avalonia.Controls/Button.cs","Button","IsPressed","正常系","押下時にIsPressedがtrueになること","Buttonが有効状態","マウス押下","IsPressed=true","中","押下状態"
"21","UT-BTN-008","src/Avalonia.Controls/Button.cs","Button","IsPressed","正常系","リリース時にIsPressedがfalseになること","Buttonが押下状態","マウスリリース","IsPressed=false","中","押下状態解除"
"22","UT-BTN-009","src/Avalonia.Controls/Button.cs","Button","Flyout","正常系","クリック時にFlyoutが表示されること","Flyoutが設定済み","クリック操作","Flyoutが表示される","中","フライアウト表示"
"23","UT-BTN-010","src/Avalonia.Controls/Button.cs","Button","ClickMode","正常系","ClickMode.Pressでポインタ押下時にClickが発生すること","ClickMode=Press","ポインタ押下","Clickイベントが発生する","中","クリックモード"
"24","UT-BTN-011","src/Avalonia.Controls/Button.cs","Button","ClickMode","正常系","ClickMode.Releaseでポインタリリース時にClickが発生すること","ClickMode=Release","ポインタリリース","Clickイベントが発生する","中","クリックモード"
"25","UT-BTN-012","src/Avalonia.Controls/Button.cs","Button","HotKey","正常系","HotKeyでクリックが発生すること","HotKeyが設定済み","設定したキー押下","Clickイベントが発生する","中","ホットキー"
"26","UT-BTN-013","src/Avalonia.Controls/Button.cs","Button","OnKeyDown","正常系","Spaceキー押下でIsPressedがtrueになること","Buttonにフォーカスがある","Spaceキー押下","IsPressed=true","中","キーボード操作"
"27","UT-BTN-014","src/Avalonia.Controls/Button.cs","Button","OnKeyUp","正常系","Spaceキーリリースでクリックが発生すること","Buttonにフォーカスがある、ClickMode=Release","Spaceキーリリース","Clickイベントが発生する","中","キーボード操作"
"28","UT-BTN-015","src/Avalonia.Controls/Button.cs","Button","IsEffectivelyEnabled","異常系","無効状態でクリックしても何も起こらないこと","IsEnabled=false","クリック操作","Clickイベントが発生しない","高","無効状態"
"29","UT-TBX-001","src/Avalonia.Controls/TextBox.cs","TextBox","Text (get/set)","正常系","Textプロパティが正しく取得・設定されること","TextBoxインスタンスが存在する","Text=""Hello""","設定した値が取得できる","高","テキスト入力の基本機能"
"30","UT-TBX-002","src/Avalonia.Controls/TextBox.cs","TextBox","Text","境界値","空文字列が設定できること","TextBoxインスタンスが存在する","Text=""""","空文字列が取得できる","中","空入力"
"31","UT-TBX-003","src/Avalonia.Controls/TextBox.cs","TextBox","Text","異常系","nullが設定された場合の挙動","TextBoxインスタンスが存在する","Text=null","例外が発生しないまたは空文字列になる","中","null入力"
"32","UT-TBX-004","src/Avalonia.Controls/TextBox.cs","TextBox","SelectionStart","正常系","選択開始位置が正しく設定されること","テキストが入力済み","SelectionStart=5","選択開始位置が5になる","中","テキスト選択"
"33","UT-TBX-005","src/Avalonia.Controls/TextBox.cs","TextBox","SelectionEnd","正常系","選択終了位置が正しく設定されること","テキストが入力済み","SelectionEnd=10","選択終了位置が10になる","中","テキスト選択"
"34","UT-TBX-006","src/Avalonia.Controls/TextBox.cs","TextBox","SelectedText","正常系","選択テキストが正しく取得できること","テキストが選択済み","なし","選択されたテキストが返却される","中","テキスト選択"
"35","UT-TBX-007","src/Avalonia.Controls/TextBox.cs","TextBox","MaxLength","正常系","MaxLength以上の入力が制限されること","MaxLength=10","11文字入力","10文字までしか入力されない","高","入力制限"
"36","UT-TBX-008","src/Avalonia.Controls/TextBox.cs","TextBox","MaxLength","境界値","MaxLength=0で制限なしになること","MaxLength=0","任意長の入力","全て入力される","中","無制限"
"37","UT-TBX-009","src/Avalonia.Controls/TextBox.cs","TextBox","IsReadOnly","正常系","IsReadOnly=trueで編集不可になること","IsReadOnly=true","テキスト入力","テキストが変更されない","高","読み取り専用"
"38","UT-TBX-010","src/Avalonia.Controls/TextBox.cs","TextBox","AcceptsReturn","正常系","AcceptsReturn=trueで改行が入力できること","AcceptsReturn=true","Enterキー押下","改行が挿入される","中","複数行入力"
"39","UT-TBX-011","src/Avalonia.Controls/TextBox.cs","TextBox","AcceptsTab","正常系","AcceptsTab=trueでタブが入力できること","AcceptsTab=true","Tabキー押下","タブ文字が挿入される","中","タブ入力"
"40","UT-TBX-012","src/Avalonia.Controls/TextBox.cs","TextBox","Copy","正常系","選択テキストがクリップボードにコピーされること","テキストが選択済み","Ctrl+C","クリップボードにテキストがコピーされる","高","コピー操作"
"41","UT-TBX-013","src/Avalonia.Controls/TextBox.cs","TextBox","Cut","正常系","選択テキストが切り取られクリップボードにコピーされること","テキストが選択済み","Ctrl+X","テキストが削除されクリップボードにコピーされる","高","カット操作"
"42","UT-TBX-014","src/Avalonia.Controls/TextBox.cs","TextBox","Paste","正常系","クリップボードのテキストが貼り付けられること","クリップボードにテキストがある","Ctrl+V","テキストが挿入される","高","ペースト操作"
"43","UT-TBX-015","src/Avalonia.Controls/TextBox.cs","TextBox","SelectAll","正常系","全テキストが選択されること","テキストが入力済み","Ctrl+A","全テキストが選択される","中","全選択"
"44","UT-TBX-016","src/Avalonia.Controls/TextBox.cs","TextBox","Undo","正常系","直前の操作が取り消されること","テキスト編集後","Ctrl+Z","編集前の状態に戻る","中","取り消し"
"45","UT-TBX-017","src/Avalonia.Controls/TextBox.cs","TextBox","Redo","正常系","取り消した操作がやり直されること","Undo実行後","Ctrl+Y","取り消し前の状態に戻る","中","やり直し"
"46","UT-TBX-018","src/Avalonia.Controls/TextBox.cs","TextBox","PlaceholderText","正常系","プレースホルダーが表示されること","Text="""", PlaceholderText=""Enter text""","なし","プレースホルダーテキストが表示される","中","プレースホルダー"
"47","UT-TBX-019","src/Avalonia.Controls/TextBox.cs","TextBox","PlaceholderText","正常系","テキスト入力後にプレースホルダーが非表示になること","PlaceholderText設定済み","テキスト入力","プレースホルダーが非表示になる","中","プレースホルダー"
"48","UT-TBX-020","src/Avalonia.Controls/TextBox.cs","TextBox","PasswordChar","正常系","PasswordCharでテキストがマスクされること","PasswordChar='*'","テキスト入力","入力文字が*で表示される","高","パスワード入力"
"49","UT-CMB-001","src/Avalonia.Controls/ComboBox.cs","ComboBox","IsDropDownOpen","正常系","ドロップダウンが開くこと","アイテムが設定済み","IsDropDownOpen=true","ドロップダウンが表示される","高","ドロップダウン基本機能"
"50","UT-CMB-002","src/Avalonia.Controls/ComboBox.cs","ComboBox","IsDropDownOpen","正常系","ドロップダウンが閉じること","ドロップダウンが開いている","IsDropDownOpen=false","ドロップダウンが非表示になる","高","ドロップダウン基本機能"
"51","UT-CMB-003","src/Avalonia.Controls/ComboBox.cs","ComboBox","SelectedItem","正常系","選択アイテムが正しく設定されること","アイテムが設定済み","SelectedItem=items[1]","選択アイテムが更新される","高","選択機能"
"52","UT-CMB-004","src/Avalonia.Controls/ComboBox.cs","ComboBox","SelectedIndex","正常系","選択インデックスが正しく設定されること","アイテムが設定済み","SelectedIndex=2","選択インデックスが2になる","高","選択機能"
"53","UT-CMB-005","src/Avalonia.Controls/ComboBox.cs","ComboBox","SelectedIndex","境界値","SelectedIndex=-1で選択解除されること","アイテムが選択済み","SelectedIndex=-1","選択が解除される","高","選択解除"
"54","UT-CMB-006","src/Avalonia.Controls/ComboBox.cs","ComboBox","SelectionBoxItem","正常系","選択ボックスに選択アイテムが表示されること","アイテムが選択済み","なし","SelectionBoxItemが選択アイテムと一致","中","選択表示"
"55","UT-CMB-007","src/Avalonia.Controls/ComboBox.cs","ComboBox","MaxDropDownHeight","正常系","ドロップダウンの最大高さが設定されること","MaxDropDownHeight=100","なし","ドロップダウンの高さが100以下","中","サイズ制限"
"56","UT-CMB-008","src/Avalonia.Controls/ComboBox.cs","ComboBox","PlaceholderText","正常系","未選択時にプレースホルダーが表示されること","SelectedItem=null, PlaceholderText設定","なし","プレースホルダーが表示される","中","プレースホルダー"
"57","UT-CMB-009","src/Avalonia.Controls/ComboBox.cs","ComboBox","IsEditable","正常系","編集可能モードでテキスト入力できること","IsEditable=true","テキスト入力","テキストが入力される","中","編集可能"
"58","UT-CMB-010","src/Avalonia.Controls/ComboBox.cs","ComboBox","Text","正常系","編集可能モードでTextプロパティが更新されること","IsEditable=true","テキスト入力","Textプロパティが更新される","中","テキスト連動"
"59","UT-CMB-011","src/Avalonia.Controls/ComboBox.cs","ComboBox","OnKeyDown","正常系","F4キーでドロップダウンがトグルされること","なし","F4キー押下","IsDropDownOpenがトグルされる","中","キーボード操作"
"60","UT-CMB-012","src/Avalonia.Controls/ComboBox.cs","ComboBox","OnKeyDown","正常系","Escapeキーでドロップダウンが閉じること","IsDropDownOpen=true","Escapeキー押下","IsDropDownOpen=false","中","キーボード操作"
"61","UT-CMB-013","src/Avalonia.Controls/ComboBox.cs","ComboBox","OnPointerWheelChanged","正常系","マウスホイールで選択が変更されること","IsFocused=true, IsDropDownOpen=false","マウスホイール","選択が変更される","中","マウス操作"
"62","UT-CMB-014","src/Avalonia.Controls/ComboBox.cs","ComboBox","Clear","正常系","選択がクリアされること","アイテムが選択済み","Clear()呼び出し","SelectedItem=null, SelectedIndex=-1","中","選択クリア"
"63","UT-CMB-015","src/Avalonia.Controls/ComboBox.cs","ComboBox","DropDownOpened","正常系","DropDownOpenedイベントが発火されること","アイテムが設定済み","IsDropDownOpen=true","DropDownOpenedイベントが発生する","中","イベント"
"64","UT-CMB-016","src/Avalonia.Controls/ComboBox.cs","ComboBox","DropDownClosed","正常系","DropDownClosedイベントが発火されること","IsDropDownOpen=true","IsDropDownOpen=false","DropDownClosedイベントが発生する","中","イベント"
"65","UT-LST-001","src/Avalonia.Controls/ListBox.cs","ListBox","SelectedItem","正常系","単一選択が正しく動作すること","SelectionMode=Single","アイテムをクリック","SelectedItemが更新される","高","単一選択"
"66","UT-LST-002","src/Avalonia.Controls/ListBox.cs","ListBox","SelectedItems","正常系","複数選択が正しく動作すること","SelectionMode=Multiple","Ctrl+クリック","SelectedItemsに複数追加される","高","複数選択"
"67","UT-LST-003","src/Avalonia.Controls/ListBox.cs","ListBox","SelectionMode","正常系","SelectionMode.Singleで単一選択のみ許可されること","SelectionMode=Single","複数アイテムをクリック","最後のアイテムのみ選択される","高","選択モード"
"68","UT-LST-004","src/Avalonia.Controls/ListBox.cs","ListBox","SelectionMode","正常系","SelectionMode.Multipleで複数選択が許可されること","SelectionMode=Multiple","複数アイテムをCtrl+クリック","全てのアイテムが選択される","高","選択モード"
"69","UT-LST-005","src/Avalonia.Controls/ListBox.cs","ListBox","SelectAll","正常系","全アイテムが選択されること","SelectionMode=Multiple, アイテムが設定済み","SelectAll()呼び出し","全アイテムが選択される","中","全選択"
"70","UT-LST-006","src/Avalonia.Controls/ListBox.cs","ListBox","UnselectAll","正常系","全選択が解除されること","アイテムが選択済み","UnselectAll()呼び出し","選択が全て解除される","中","選択解除"
"71","UT-LST-007","src/Avalonia.Controls/ListBox.cs","ListBox","Scroll","正常系","スクロールが正しく取得できること","ScrollViewer付きテンプレート適用済み","なし","IScrollableインスタンスが返却される","中","スクロール"
"72","UT-LST-008","src/Avalonia.Controls/ListBox.cs","ListBox","OnKeyDown","正常系","方向キーで選択が移動すること","アイテムが選択済み","方向キー押下","選択が移動する","中","キーボード操作"
"73","UT-LST-009","src/Avalonia.Controls/ListBox.cs","ListBox","Selection","正常系","ISelectionModelが正しく動作すること","なし","Selection.Select(0)","インデックス0が選択される","中","選択モデル"
"74","UT-LST-010","src/Avalonia.Controls/ListBox.cs","ListBox","CreateContainerForItemOverride","正常系","ListBoxItemコンテナが生成されること","なし","アイテム追加","ListBoxItemが生成される","中","コンテナ生成"
"75","UT-WIN-001","src/Avalonia.Controls/Window.cs","Window","Title","正常系","Titleプロパティが正しく設定されること","Windowインスタンスが存在する","Title=""Test Window""","タイトルバーに表示される","高","ウィンドウタイトル"
"76","UT-WIN-002","src/Avalonia.Controls/Window.cs","Window","Icon","正常系","Iconプロパティが正しく設定されること","Windowインスタンスが存在する","WindowIconインスタンス","アイコンが設定される","中","ウィンドウアイコン"
"77","UT-WIN-003","src/Avalonia.Controls/Window.cs","Window","WindowState","正常系","WindowState.Normalで通常サイズになること","Windowが表示済み","WindowState=Normal","通常サイズで表示される","高","ウィンドウ状態"
"78","UT-WIN-004","src/Avalonia.Controls/Window.cs","Window","WindowState","正常系","WindowState.Maximizedで最大化されること","Windowが表示済み","WindowState=Maximized","最大化される","高","ウィンドウ状態"
"79","UT-WIN-005","src/Avalonia.Controls/Window.cs","Window","WindowState","正常系","WindowState.Minimizedで最小化されること","Windowが表示済み","WindowState=Minimized","最小化される","高","ウィンドウ状態"
"80","UT-WIN-006","src/Avalonia.Controls/Window.cs","Window","CanResize","正常系","CanResize=falseでリサイズ不可になること","Windowが表示済み","CanResize=false","リサイズできない","高","リサイズ制御"
"81","UT-WIN-007","src/Avalonia.Controls/Window.cs","Window","CanMinimize","正常系","CanMinimize=falseで最小化不可になること","Windowが表示済み","CanMinimize=false","最小化ボタンが無効になる","中","最小化制御"
"82","UT-WIN-008","src/Avalonia.Controls/Window.cs","Window","CanMaximize","正常系","CanMaximize=falseで最大化不可になること","Windowが表示済み","CanMaximize=false","最大化ボタンが無効になる","中","最大化制御"
"83","UT-WIN-009","src/Avalonia.Controls/Window.cs","Window","Show","正常系","ウィンドウが表示されること","Windowインスタンスが存在する","Show()呼び出し","IsVisible=true","高","ウィンドウ表示"
"84","UT-WIN-010","src/Avalonia.Controls/Window.cs","Window","ShowDialog","正常系","モーダルダイアログとして表示されること","親ウィンドウが表示済み","ShowDialog(owner)呼び出し","モーダル表示される","高","ダイアログ表示"
"85","UT-WIN-011","src/Avalonia.Controls/Window.cs","Window","Close","正常系","ウィンドウが閉じること","Windowが表示済み","Close()呼び出し","ウィンドウが閉じる","高","ウィンドウ終了"
"86","UT-WIN-012","src/Avalonia.Controls/Window.cs","Window","Close","正常系","ダイアログ結果付きで閉じること","ShowDialogで表示済み","Close(result)呼び出し","ダイアログ結果が返却される","高","ダイアログ結果"
"87","UT-WIN-013","src/Avalonia.Controls/Window.cs","Window","Closing","正常系","Closingイベントが発火されること","Windowが表示済み","Close()呼び出し","Closingイベントが発生する","高","クローズイベント"
"88","UT-WIN-014","src/Avalonia.Controls/Window.cs","Window","Closing","正常系","Closingイベントでキャンセルできること","Windowが表示済み","e.Cancel=trueを設定","ウィンドウが閉じない","高","クローズキャンセル"
"89","UT-WIN-015","src/Avalonia.Controls/Window.cs","Window","Hide","正常系","ウィンドウが非表示になること","Windowが表示済み","Hide()呼び出し","IsVisible=false","高","ウィンドウ非表示"
"90","UT-WIN-016","src/Avalonia.Controls/Window.cs","Window","Position","正常系","ウィンドウ位置が正しく設定されること","Windowインスタンスが存在する","Position=new PixelPoint(100, 200)","指定位置に移動する","中","ウィンドウ位置"
"91","UT-WIN-017","src/Avalonia.Controls/Window.cs","Window","SizeToContent","正常系","コンテンツに合わせてサイズ調整されること","コンテンツが設定済み","SizeToContent=WidthAndHeight","コンテンツサイズに調整される","中","自動サイズ"
"92","UT-WIN-018","src/Avalonia.Controls/Window.cs","Window","WindowStartupLocation","正常系","CenterScreenで画面中央に配置されること","Windowインスタンスが存在する","WindowStartupLocation=CenterScreen","画面中央に表示される","中","初期位置"
"93","UT-WIN-019","src/Avalonia.Controls/Window.cs","Window","WindowStartupLocation","正常系","CenterOwnerで親ウィンドウ中央に配置されること","親ウィンドウが存在する","WindowStartupLocation=CenterOwner","親ウィンドウ中央に表示される","中","初期位置"
"94","UT-WIN-020","src/Avalonia.Controls/Window.cs","Window","SystemDecorations","正常系","SystemDecorations.Noneで装飾なしになること","Windowインスタンスが存在する","SystemDecorations=None","タイトルバー等が非表示になる","中","システム装飾"
"95","UT-WIN-021","src/Avalonia.Controls/Window.cs","Window","Show","異常系","閉じたウィンドウを再表示しようとすると例外","Windowが閉じ済み","Show()呼び出し","InvalidOperationException","高","再表示不可"
"96","UT-SLD-001","src/Avalonia.Controls/Slider.cs","Slider","Value","正常系","Valueプロパティが正しく設定されること","Sliderインスタンスが存在する","Value=50","Valueが50になる","高","値設定"
"97","UT-SLD-002","src/Avalonia.Controls/Slider.cs","Slider","Value","境界値","Minimumより小さい値が設定された場合","Minimum=0","Value=-10","ValueがMinimum(0)にクランプされる","高","最小値制限"
"98","UT-SLD-003","src/Avalonia.Controls/Slider.cs","Slider","Value","境界値","Maximumより大きい値が設定された場合","Maximum=100","Value=150","ValueがMaximum(100)にクランプされる","高","最大値制限"
"99","UT-SLD-004","src/Avalonia.Controls/Slider.cs","Slider","Minimum","正常系","Minimumプロパティが正しく設定されること","Sliderインスタンスが存在する","Minimum=10","Minimumが10になる","高","最小値設定"
"100","UT-SLD-005","src/Avalonia.Controls/Slider.cs","Slider","Maximum","正常系","Maximumプロパティが正しく設定されること","Sliderインスタンスが存在する","Maximum=200","Maximumが200になる","高","最大値設定"
"101","UT-SLD-006","src/Avalonia.Controls/Slider.cs","Slider","Orientation","正常系","Horizontalで水平方向になること","Sliderインスタンスが存在する","Orientation=Horizontal","水平方向で表示される","中","方向設定"
"102","UT-SLD-007","src/Avalonia.Controls/Slider.cs","Slider","Orientation","正常系","Verticalで垂直方向になること","Sliderインスタンスが存在する","Orientation=Vertical","垂直方向で表示される","中","方向設定"
"103","UT-SLD-008","src/Avalonia.Controls/Slider.cs","Slider","IsSnapToTickEnabled","正常系","スナップが有効な場合目盛りにスナップすること","IsSnapToTickEnabled=true, TickFrequency=10","Value=15","Valueが10または20にスナップされる","中","スナップ"
"104","UT-SLD-009","src/Avalonia.Controls/Slider.cs","Slider","TickFrequency","正常系","TickFrequencyに基づいて目盛りが表示されること","TickFrequency=10, TickPlacement=TopLeft","なし","10間隔で目盛りが表示される","中","目盛り"
"105","UT-SLD-010","src/Avalonia.Controls/Slider.cs","Slider","IsDirectionReversed","正常系","方向が反転すること","IsDirectionReversed=true","なし","スライダー方向が反転する","中","方向反転"
"106","UT-SLD-011","src/Avalonia.Controls/Slider.cs","Slider","OnKeyDown","正常系","方向キーで値が変更されること","Sliderにフォーカスがある","Rightキー押下","Valueが増加する","中","キーボード操作"
"107","UT-SLD-012","src/Avalonia.Controls/Slider.cs","Slider","OnKeyDown","正常系","Home/Endキーで最小/最大値になること","Sliderにフォーカスがある","Homeキー押下","Value=Minimum","中","キーボード操作"
"108","UT-SLD-013","src/Avalonia.Controls/Slider.cs","Slider","IsDragging","正常系","ドラッグ中にIsDraggingがtrueになること","Sliderインスタンスが存在する","Thumbをドラッグ","IsDragging=true","中","ドラッグ状態"
"109","UT-NUD-001","src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs","NumericUpDown","Value","正常系","Valueプロパティが正しく設定されること","NumericUpDownインスタンスが存在する","Value=50","Valueが50になる","高","値設定"
"110","UT-NUD-002","src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs","NumericUpDown","Value","境界値","Minimumより小さい値が設定された場合の挙動","Minimum=0, ClipValueToMinMax=true","Value=-10","ValueがMinimum(0)にクランプされる","高","最小値制限"
"111","UT-NUD-003","src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs","NumericUpDown","Value","境界値","Maximumより大きい値が設定された場合の挙動","Maximum=100, ClipValueToMinMax=true","Value=150","ValueがMaximum(100)にクランプされる","高","最大値制限"
"112","UT-NUD-004","src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs","NumericUpDown","Value","異常系","nullが設定できること","NumericUpDownインスタンスが存在する","Value=null","Valueがnullになる","中","null許容"
"113","UT-NUD-005","src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs","NumericUpDown","Increment","正常系","スピンボタンで値が増加すること","Value=10, Increment=5","上スピンボタンクリック","Value=15","高","インクリメント"
"114","UT-NUD-006","src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs","NumericUpDown","Increment","正常系","スピンボタンで値が減少すること","Value=10, Increment=5","下スピンボタンクリック","Value=5","高","デクリメント"
"115","UT-NUD-007","src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs","NumericUpDown","Increment","境界値","Maximumで上スピンが無効になること","Value=Maximum","上スピンボタンクリック","Valueが変わらない","高","上限到達"
"116","UT-NUD-008","src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs","NumericUpDown","Increment","境界値","Minimumで下スピンが無効になること","Value=Minimum","下スピンボタンクリック","Valueが変わらない","高","下限到達"
"117","UT-NUD-009","src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs","NumericUpDown","Text","正常系","Textプロパティが値と同期すること","Value=123","なし","Text=""123""","中","テキスト同期"
"118","UT-NUD-010","src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs","NumericUpDown","FormatString","正常系","FormatStringで表示形式が設定されること","Value=123.45, FormatString=""N2""","なし","Text=""123.45""(ロケール依存)","中","表示形式"
"119","UT-NUD-011","src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs","NumericUpDown","IsReadOnly","正常系","IsReadOnly=trueでスピンが無効になること","IsReadOnly=true","スピンボタンクリック","Valueが変わらない","中","読み取り専用"
"120","UT-NUD-012","src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs","NumericUpDown","AllowSpin","正常系","AllowSpin=falseでスピンが無効になること","AllowSpin=false","スピンボタンクリック","Valueが変わらない","中","スピン無効"
"121","UT-NUD-013","src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs","NumericUpDown","ShowButtonSpinner","正常系","ShowButtonSpinner=falseでボタンが非表示になること","ShowButtonSpinner=false","なし","スピンボタンが非表示","低","ボタン表示"
"122","UT-NUD-014","src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs","NumericUpDown","PlaceholderText","正常系","Value=nullでプレースホルダーが表示されること","Value=null, PlaceholderText=""Enter number""","なし","プレースホルダーが表示される","中","プレースホルダー"
"123","UT-NUD-015","src/Avalonia.Controls/NumericUpDown/NumericUpDown.cs","NumericUpDown","ValueChanged","正常系","ValueChangedイベントが発火されること","NumericUpDownインスタンスが存在する","Value変更","ValueChangedイベントが発生する","中","イベント"
"124","UT-TAB-001","src/Avalonia.Controls/TabControl.cs","TabControl","SelectedItem","正常系","選択タブが正しく設定されること","タブが複数存在する","SelectedItem=tabs[1]","2番目のタブが選択される","高","タブ選択"
"125","UT-TAB-002","src/Avalonia.Controls/TabControl.cs","TabControl","SelectedIndex","正常系","選択インデックスが正しく設定されること","タブが複数存在する","SelectedIndex=2","3番目のタブが選択される","高","タブ選択"
"126","UT-TAB-003","src/Avalonia.Controls/TabControl.cs","TabControl","SelectedContent","正常系","選択タブのコンテンツが表示されること","タブが選択済み","なし","SelectedContentが選択タブのContentと一致","高","コンテンツ表示"
"127","UT-TAB-004","src/Avalonia.Controls/TabControl.cs","TabControl","TabStripPlacement","正常系","Topでタブが上部に配置されること","TabStripPlacement=Top","なし","タブストリップが上部に表示される","中","配置設定"
"128","UT-TAB-005","src/Avalonia.Controls/TabControl.cs","TabControl","TabStripPlacement","正常系","Bottomでタブが下部に配置されること","TabStripPlacement=Bottom","なし","タブストリップが下部に表示される","中","配置設定"
"129","UT-TAB-006","src/Avalonia.Controls/TabControl.cs","TabControl","TabStripPlacement","正常系","Leftでタブが左側に配置されること","TabStripPlacement=Left","なし","タブストリップが左側に表示される","中","配置設定"
"130","UT-TAB-007","src/Avalonia.Controls/TabControl.cs","TabControl","TabStripPlacement","正常系","Rightでタブが右側に配置されること","TabStripPlacement=Right","なし","タブストリップが右側に表示される","中","配置設定"
"131","UT-TAB-008","src/Avalonia.Controls/TabControl.cs","TabControl","ContentTemplate","正常系","ContentTemplateが適用されること","ContentTemplateが設定済み","タブ選択","テンプレートに従ってコンテンツが表示される","中","テンプレート"
"132","UT-TAB-009","src/Avalonia.Controls/TabControl.cs","TabControl","OnApplyTemplate","正常系","テンプレート適用後に正しく初期化されること","テンプレートが定義済み","テンプレート適用","ItemsPresenterとContentPresenterが取得される","中","テンプレート適用"
"133","UT-SCR-001","src/Avalonia.Controls/ScrollViewer.cs","ScrollViewer","Offset","正常系","Offsetプロパティが正しく設定されること","スクロール可能なコンテンツがある","Offset=new Vector(100, 200)","指定位置にスクロールされる","高","スクロール位置"
"134","UT-SCR-002","src/Avalonia.Controls/ScrollViewer.cs","ScrollViewer","Offset","境界値","負の値が0にクランプされること","スクロール可能なコンテンツがある","Offset=new Vector(-10, -10)","Offset=(0, 0)にクランプされる","高","最小値制限"
"135","UT-SCR-003","src/Avalonia.Controls/ScrollViewer.cs","ScrollViewer","Offset","境界値","最大値を超える値がクランプされること","Extent-Viewport=最大スクロール位置","Offset=最大+100","最大スクロール位置にクランプされる","高","最大値制限"
"136","UT-SCR-004","src/Avalonia.Controls/ScrollViewer.cs","ScrollViewer","Extent","正常系","コンテンツサイズが正しく取得できること","コンテンツが設定済み","なし","コンテンツの実サイズが返却される","中","コンテンツサイズ"
"137","UT-SCR-005","src/Avalonia.Controls/ScrollViewer.cs","ScrollViewer","Viewport","正常系","表示領域サイズが正しく取得できること","ScrollViewerが配置済み","なし","表示領域のサイズが返却される","中","表示領域"
"138","UT-SCR-006","src/Avalonia.Controls/ScrollViewer.cs","ScrollViewer","HorizontalScrollBarVisibility","正常系","Autoで必要時にスクロールバーが表示されること","HorizontalScrollBarVisibility=Auto","コンテンツ幅>Viewport幅","水平スクロールバーが表示される","中","スクロールバー表示"
"139","UT-SCR-007","src/Avalonia.Controls/ScrollViewer.cs","ScrollViewer","HorizontalScrollBarVisibility","正常系","Disabledでスクロールバーが非表示になること","HorizontalScrollBarVisibility=Disabled","なし","水平スクロールバーが非表示","中","スクロールバー非表示"
"140","UT-SCR-008","src/Avalonia.Controls/ScrollViewer.cs","ScrollViewer","VerticalScrollBarVisibility","正常系","Visibleで常にスクロールバーが表示されること","VerticalScrollBarVisibility=Visible","なし","垂直スクロールバーが常に表示される","中","スクロールバー表示"
"141","UT-SCR-009","src/Avalonia.Controls/ScrollViewer.cs","ScrollViewer","LineUp","正常系","1行分上にスクロールすること","Offset.Y > 0","LineUp()呼び出し","Offset.YがSmallChange.Height分減少","中","行スクロール"
"142","UT-SCR-010","src/Avalonia.Controls/ScrollViewer.cs","ScrollViewer","LineDown","正常系","1行分下にスクロールすること","下方向にスクロール可能","LineDown()呼び出し","Offset.YがSmallChange.Height分増加","中","行スクロール"
"143","UT-SCR-011","src/Avalonia.Controls/ScrollViewer.cs","ScrollViewer","PageUp","正常系","1ページ分上にスクロールすること","Offset.Y > Viewport.Height","PageUp()呼び出し","Offset.YがViewport.Height分減少","中","ページスクロール"
"144","UT-SCR-012","src/Avalonia.Controls/ScrollViewer.cs","ScrollViewer","PageDown","正常系","1ページ分下にスクロールすること","下方向にスクロール可能","PageDown()呼び出し","Offset.YがViewport.Height分増加","中","ページスクロール"
"145","UT-SCR-013","src/Avalonia.Controls/ScrollViewer.cs","ScrollViewer","ScrollToHome","正常系","先頭にスクロールすること","Offset > 0","ScrollToHome()呼び出し","Offset=(0, 0)","中","先頭へ移動"
"146","UT-SCR-014","src/Avalonia.Controls/ScrollViewer.cs","ScrollViewer","ScrollToEnd","正常系","末尾にスクロールすること","スクロール可能なコンテンツがある","ScrollToEnd()呼び出し","Offsetが末尾位置になる","中","末尾へ移動"
"147","UT-SCR-015","src/Avalonia.Controls/ScrollViewer.cs","ScrollViewer","ScrollChanged","正常系","ScrollChangedイベントが発火されること","スクロール可能なコンテンツがある","スクロール操作","ScrollChangedイベントが発生する","中","イベント"
"148","UT-SCR-016","src/Avalonia.Controls/ScrollViewer.cs","ScrollViewer","BringIntoViewOnFocusChange","正常系","フォーカス時に自動スクロールすること","BringIntoViewOnFocusChange=true","子要素にフォーカス","フォーカス要素が表示領域に入る","中","自動スクロール"
"149","UT-TRV-001","src/Avalonia.Controls/TreeView.cs","TreeView","SelectedItem","正常系","選択アイテムが正しく設定されること","ツリーアイテムが存在する","SelectedItem=item","アイテムが選択される","高","選択機能"
"150","UT-TRV-002","src/Avalonia.Controls/TreeView.cs","TreeView","SelectedItems","正常系","複数選択が正しく動作すること","SelectionMode=Multiple","複数アイテムをCtrl+クリック","複数アイテムが選択される","高","複数選択"
"151","UT-TRV-003","src/Avalonia.Controls/TreeView.cs","TreeView","SelectionMode","正常系","SelectionMode.Singleで単一選択のみ許可されること","SelectionMode=Single","複数アイテムをクリック","最後のアイテムのみ選択される","高","選択モード"
"152","UT-TRV-004","src/Avalonia.Controls/TreeView.cs","TreeView","ExpandSubTree","正常系","サブツリーが展開されること","TreeViewItemが存在する","ExpandSubTree(item)呼び出し","item以下の全ノードが展開される","中","ツリー展開"
"153","UT-TRV-005","src/Avalonia.Controls/TreeView.cs","TreeView","CollapseSubTree","正常系","サブツリーが折りたたまれること","TreeViewItemが展開済み","CollapseSubTree(item)呼び出し","item以下の全ノードが折りたたまれる","中","ツリー折りたたみ"
"154","UT-TRV-006","src/Avalonia.Controls/TreeView.cs","TreeView","SelectAll","正常系","表示中の全アイテムが選択されること","SelectionMode=Multiple, ノードが展開済み","SelectAll()呼び出し","表示中の全アイテムが選択される","中","全選択"
"155","UT-TRV-007","src/Avalonia.Controls/TreeView.cs","TreeView","UnselectAll","正常系","全選択が解除されること","アイテムが選択済み","UnselectAll()呼び出し","選択が全て解除される","中","選択解除"
"156","UT-TRV-008","src/Avalonia.Controls/TreeView.cs","TreeView","TreeContainerFromItem","正常系","アイテムからコンテナが取得できること","アイテムが実現化済み","TreeContainerFromItem(item)呼び出し","TreeViewItemコンテナが返却される","中","コンテナ取得"
"157","UT-TRV-009","src/Avalonia.Controls/TreeView.cs","TreeView","TreeItemFromContainer","正常系","コンテナからアイテムが取得できること","コンテナが存在する","TreeItemFromContainer(container)呼び出し","対応するアイテムが返却される","中","アイテム取得"
"158","UT-TRV-010","src/Avalonia.Controls/TreeView.cs","TreeView","OnKeyDown","正常系","方向キーで選択が移動すること","アイテムが選択済み","方向キー押下","選択が階層を考慮して移動する","中","キーボード操作"
"159","UT-TRV-011","src/Avalonia.Controls/TreeView.cs","TreeView","SelectionChanged","正常系","SelectionChangedイベントが発火されること","アイテムが存在する","選択変更","SelectionChangedイベントが発生する","中","イベント"
"160","UT-TRV-012","src/Avalonia.Controls/TreeView.cs","TreeView","AutoScrollToSelectedItem","正常系","選択時に自動スクロールすること","AutoScrollToSelectedItem=true","SelectedItem設定","選択アイテムが表示領域に入る","中","自動スクロール"
"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起動"
"1","UT-DES-001","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string)","正常系","有効なXAMLからWindowが作成されること","AvaloniaLocatorが初期化済み","xaml=""<Window/>"", assemblyPath=""Test.dll"", xamlFileProjectPath=""/Test.xaml""","Windowオブジェクトが返却される","高","デザイナーウィンドウ読み込みの基本機能"
"2","UT-DES-002","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string)","異常系","nullのXAMLが渡された場合","AvaloniaLocatorが初期化済み","xaml=null, assemblyPath=""Test.dll"", xamlFileProjectPath=""/Test.xaml""","例外がスローされる","高","入力検証"
"3","UT-DES-003","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string)","異常系","空文字のXAMLが渡された場合","AvaloniaLocatorが初期化済み","xaml="""", assemblyPath=""Test.dll"", xamlFileProjectPath=""/Test.xaml""","例外がスローされる","中","空文字処理"
"4","UT-DES-004","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string, double)","正常系","renderScalingが正しく適用されること","AvaloniaLocatorが初期化済み","xaml=""<Window/>"", assemblyPath=""Test.dll"", xamlFileProjectPath=""/Test.xaml"", renderScaling=2.0","RenderScalingが2.0のWindowが返却される","中","スケーリング設定"
"5","UT-DES-005","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string, double)","境界値","renderScalingが0の場合","AvaloniaLocatorが初期化済み","xaml=""<Window/>"", renderScaling=0.0","適切な処理（例外または0として設定）","中","境界値テスト"
"6","UT-DES-006","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string)","正常系","assemblyPathがnullの場合baseUriがnullになること","AvaloniaLocatorが初期化済み","xaml=""<Window/>"", assemblyPath=null, xamlFileProjectPath=null","baseUriがnullでWindowが作成される","中","アセンブリパス省略時の動作"
"7","UT-DES-007","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string)","正常系","xamlFileProjectPathがnullの場合デフォルトパスが使用されること","AvaloniaLocatorが初期化済み","xaml=""<Window/>"", assemblyPath=""Test.dll"", xamlFileProjectPath=null","""/Fake.xaml""がbaseUriに使用される","中","デフォルトパス適用"
"8","UT-DES-008","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string)","正常系","Windowではないコントロールの場合Windowでラップされること","AvaloniaLocatorが初期化済み","xaml=""<Button/>"", assemblyPath=""Test.dll"", xamlFileProjectPath=""/Test.xaml""","Buttonを含むWindowが返却される","中","非Windowコントロールの処理"
"9","UT-DES-009","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string)","正常系","SizeToContentが適切に設定されること","AvaloniaLocatorが初期化済み","xaml=""<Window/>"" (Width/Heightが未設定)","SizeToContentがWidth|Heightに設定される","中","自動サイズ調整"
"10","UT-DES-010","src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs","RemoteDesignerEntryPoint","ParseCommandLineArgs","正常系","有効なコマンドライン引数が正しくパースされること","なし","args=[""--transport"", ""tcp-bson://127.0.0.1:30243/"", ""--session-id"", ""123"", ""app.exe""]","Transport, SessionId, AppPathが正しく設定されたCommandLineArgsが返却される","高","コマンドラインパース基本機能"
"11","UT-DES-011","src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs","RemoteDesignerEntryPoint","ParseCommandLineArgs","異常系","必須引数が不足している場合","なし","args=[""--transport"", ""tcp-bson://127.0.0.1:30243/""]","アプリケーションが終了する（PrintUsageが呼ばれる）","高","必須引数検証"
"12","UT-DES-012","src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs","RemoteDesignerEntryPoint","ParseCommandLineArgs","正常系","--methodオプションが正しくパースされること","なし","args=[""--transport"", ""tcp-bson://127.0.0.1:30243/"", ""--method"", ""html"", ""app.exe""]","Method=""html""が設定される","中","methodオプション"
"13","UT-DES-013","src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs","RemoteDesignerEntryPoint","ParseCommandLineArgs","正常系","--html-urlオプションが正しくパースされること","なし","args=[""--transport"", ""file://test.xaml"", ""--html-url"", ""http://localhost:8081"", ""app.exe""]","HtmlMethodListenUriが設定される","中","html-urlオプション"
"14","UT-DES-014","src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs","RemoteDesignerEntryPoint","CreateTransport","正常系","tcp-bsonスキームでBsonTcpTransportが作成されること","なし","args.Transport=tcp-bson://127.0.0.1:30243/","BsonTcpTransport接続が返却される","高","TCP転送作成"
"15","UT-DES-015","src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs","RemoteDesignerEntryPoint","CreateTransport","正常系","fileスキームでFileWatcherTransportが作成されること","なし","args.Transport=file://C:/test.xaml, args.AppPath=""app.exe""","FileWatcherTransportが返却される","高","ファイル監視転送作成"
"16","UT-DES-016","src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs","RemoteDesignerEntryPoint","CreateTransport","異常系","未対応のスキームの場合","なし","args.Transport=unknown://localhost/","PrintUsageが呼ばれnullが返却される","中","未対応スキーム処理"
"17","UT-DES-017","src/Avalonia.DesignerSupport/Remote/PreviewerWindowingPlatform.cs","PreviewerWindowingPlatform","CreateWindow","正常系","WindowStubが返却されること","Initializeが呼ばれ済み","なし","WindowStubインスタンスが返却される","中","スタブウィンドウ作成"
"18","UT-DES-018","src/Avalonia.DesignerSupport/Remote/PreviewerWindowingPlatform.cs","PreviewerWindowingPlatform","CreateEmbeddableWindow","正常系","PreviewerWindowImplが返却されること","Initializeが呼ばれ済み","なし","PreviewerWindowImplインスタンスが返却される","高","埋め込みウィンドウ作成"
"19","UT-DES-019","src/Avalonia.DesignerSupport/Remote/PreviewerWindowingPlatform.cs","PreviewerWindowingPlatform","CreateEmbeddableWindow","正常系","既存ウィンドウがある場合Disposeされること","前回のCreateEmbeddableWindow呼び出し済み","なし","前のウィンドウがDisposeされ新しいPreviewerWindowImplが返却される","中","既存ウィンドウの破棄"
"20","UT-DES-020","src/Avalonia.DesignerSupport/Remote/PreviewerWindowingPlatform.cs","PreviewerWindowingPlatform","Initialize","正常系","AvaloniaLocatorに必要なサービスが登録されること","なし","transport=有効なIAvaloniaRemoteTransportConnection","ICursorFactory, IKeyboardDevice, IPlatformSettings等が登録される","高","プラットフォーム初期化"
"21","UT-DES-021","src/Avalonia.DesignerSupport/Remote/PreviewerWindowingPlatform.cs","PreviewerWindowingPlatform","CreateTrayIcon","正常系","nullが返却されること","なし","なし","nullが返却される","低","トレイアイコン非対応"
"22","UT-DES-022","src/Avalonia.DesignerSupport/Remote/PreviewerWindowingPlatform.cs","PreviewerWindowingPlatform","GetWindowsZOrder","正常系","zOrderがクリアされること","なし","windows=任意のIWindowImpl配列, zOrder=Span<long>","zOrderがすべて0にクリアされる","低","Z順序取得"
"23","UT-DES-023","src/Avalonia.DesignerSupport/Remote/FileWatcherTransport.cs","FileWatcherTransport","コンストラクタ","正常系","有効なURIとappPathで初期化されること","なし","file=file://C:/test.xaml, appPath=""app.exe""","_pathと_appPathが正しく設定される","高","初期化"
"24","UT-DES-024","src/Avalonia.DesignerSupport/Remote/FileWatcherTransport.cs","FileWatcherTransport","Dispose","正常系","_disposedがtrueに設定されること","インスタンス作成済み","なし","_disposed=true","中","リソース解放"
"25","UT-DES-025","src/Avalonia.DesignerSupport/Remote/FileWatcherTransport.cs","FileWatcherTransport","Send","正常系","データがコンソールに出力されること","インスタンス作成済み","data=任意のオブジェクト","コンソールにデータ型名とプロパティが出力される","低","デバッグ出力"
"26","UT-DES-026","src/Avalonia.DesignerSupport/Remote/FileWatcherTransport.cs","FileWatcherTransport","Start","正常系","UpdaterThreadが開始されること","インスタンス作成済み","なし","ファイル監視が開始される","高","監視開始"
"27","UT-DES-027","src/Avalonia.DesignerSupport/Remote/FileWatcherTransport.cs","FileWatcherTransport","UpdaterThread","正常系","ファイル変更時にOnMessageが発火すること","Start呼び出し済み、ファイルが存在","ファイル内容が変更される","UpdateXamlMessageがOnMessageで発火される","高","ファイル変更検知"
"28","UT-DES-028","src/Avalonia.DesignerSupport/Remote/FileWatcherTransport.cs","FileWatcherTransport","UpdaterThread","正常系","ファイル内容が同じ場合OnMessageが発火しないこと","Start呼び出し済み","ファイル内容が変更なし","OnMessageが発火されない","中","変更なし時の動作"
"29","UT-DES-029","src/Avalonia.DesignerSupport/Remote/FileWatcherTransport.cs","FileWatcherTransport","PreviewerMethod","正常系","Methods.Htmlが返却されること","なし","なし","""html""が返却される","低","プロパティ値"
"30","UT-DES-030","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","コンストラクタ","正常系","HTTPスキームで正常に初期化されること","なし","signalTransport=有効な接続, listenUri=http://localhost:5000","リソースが読み込まれサーバーが起動する","高","初期化"
"31","UT-DES-031","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","コンストラクタ","異常系","HTTPスキーム以外の場合ArgumentExceptionがスローされること","なし","listenUri=https://localhost:5000","ArgumentExceptionがスローされる","高","スキーム検証"
"32","UT-DES-032","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","Send","正常系","FrameMessageの場合_lastFrameMessageに設定されること","インスタンス作成済み","data=FrameMessage","_lastFrameMessageが更新され_wakeupがSetされる","高","フレーム送信"
"33","UT-DES-033","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","Send","正常系","RequestViewportResizeMessageの場合何もしないこと","インスタンス作成済み","data=RequestViewportResizeMessage","Task.CompletedTaskが返却される","中","リサイズリクエスト無視"
"34","UT-DES-034","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","Send","正常系","その他のメッセージの場合signalTransportに転送されること","インスタンス作成済み","data=その他のオブジェクト","_signalTransport.Sendが呼ばれる","中","転送処理"
"35","UT-DES-035","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","Start","正常系","ClientSupportedPixelFormatsMessageが発火すること","インスタンス作成済み","なし","OnMessageでClientSupportedPixelFormatsMessageが発火","高","開始時の初期メッセージ"
"36","UT-DES-036","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","Dispose","正常系","リソースが解放されること","インスタンス作成済み","なし","_disposed=true, _pendingSocketとサーバーがDispose","中","リソース解放"
"37","UT-DES-037","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","IsValidOrigin","正常系","Originが一致する場合trueを返すこと","インスタンス作成済み","request.Headers[""Origin""]=_listenUri.OriginalString","trueが返却される","高","CORS検証"
"38","UT-DES-038","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","IsValidOrigin","正常系","vscode-webviewの場合trueを返すこと","インスタンス作成済み","request.Headers[""Origin""]=vscode-webview://xxx","trueが返却される","中","VSCode対応"
"39","UT-DES-039","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","IsValidOrigin","異常系","Originが不一致の場合falseを返すこと","インスタンス作成済み","request.Headers[""Origin""]=http://malicious.com","falseが返却される","高","不正Origin拒否"
"40","UT-DES-040","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","ParseMessage","正常系","frame-receivedメッセージが正しくパースされること","なし","message=""frame-received:123""","FrameReceivedMessage(SequenceId=123)が返却される","高","メッセージパース"
"41","UT-DES-041","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","ParseMessage","正常系","pointer-pressedメッセージが正しくパースされること","なし","message=""pointer-pressed:None:100.0:200.0:Left""","PointerPressedEventMessageが返却される","高","ポインタ押下パース"
"42","UT-DES-042","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","ParseMessage","正常系","pointer-releasedメッセージが正しくパースされること","なし","message=""pointer-released:None:100.0:200.0:Left""","PointerReleasedEventMessageが返却される","高","ポインタ解放パース"
"43","UT-DES-043","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","ParseMessage","正常系","pointer-movedメッセージが正しくパースされること","なし","message=""pointer-moved:None:100.0:200.0""","PointerMovedEventMessageが返却される","中","ポインタ移動パース"
"44","UT-DES-044","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","ParseMessage","正常系","scrollメッセージが正しくパースされること","なし","message=""scroll:None:100.0:200.0:0.0:10.0""","ScrollEventMessageが返却される","中","スクロールパース"
"45","UT-DES-045","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","ParseMessage","異常系","未知のメッセージタイプの場合nullを返すこと","なし","message=""unknown:data""","nullが返却される","中","未知メッセージ処理"
"46","UT-DES-046","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","ParseInputModifiers","正常系","修飾キーが正しくパースされること","なし","modifiersText=""Ctrl,Shift""","InputModifiers[]配列が返却される","中","修飾キーパース"
"47","UT-DES-047","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","ParseInputModifiers","境界値","空文字の場合nullを返すこと","なし","modifiersText=""""","nullが返却される","中","空修飾キー"
"48","UT-DES-048","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpServer","コンストラクタ","正常系","アドレスとポートが設定されること","なし","address=IPAddress.Loopback, port=8080","_addressと_portが正しく設定される","中","初期化"
"49","UT-DES-049","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpServer","Listen","正常系","TcpListenerが開始されること","なし","なし","_listenerが非nullになりStartされる","高","リスナー開始"
"50","UT-DES-050","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpServer","AcceptAsync","正常系","有効なHTTPリクエストが受信されること","Listen呼び出し済み","GETリクエストが送信される","SimpleWebSocketHttpRequestが返却される","高","リクエスト受信"
"51","UT-DES-051","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpServer","AcceptAsync","異常系","Listenが呼ばれていない場合InvalidOperationExceptionがスローされること","Listen未呼び出し","なし","InvalidOperationExceptionがスローされる","高","状態検証"
"52","UT-DES-052","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpServer","Dispose","正常系","リスナーが停止されること","Listen呼び出し済み","なし","_listenerがStopされnullに設定される","中","リソース解放"
"53","UT-DES-053","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpRequest","コンストラクタ","正常系","WebSocketリクエストが正しく識別されること","なし","headers={""Connection"":""Upgrade"", ""Upgrade"":""websocket"", ""Sec-WebSocket-Key"":""key""}","IsWebsocketRequest=trueが設定される","高","WebSocket識別"
"54","UT-DES-054","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpRequest","コンストラクタ","正常系","通常HTTPリクエストが正しく識別されること","なし","headers={}","IsWebsocketRequest=falseが設定される","中","通常HTTP識別"
"55","UT-DES-055","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpRequest","RespondAsync","正常系","HTTPレスポンスが送信されること","インスタンス作成済み","code=200, data=[""Hello""], contentType=""text/plain""","ヘッダーとボディが書き込まれストリームがDispose","高","レスポンス送信"
"56","UT-DES-056","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpRequest","AcceptWebSocket","正常系","WebSocketハンドシェイクが行われること","IsWebsocketRequest=true","protocol=null","SimpleWebSocketインスタンスが返却される","高","WebSocketアップグレード"
"57","UT-DES-057","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","SendMessage(string)","正常系","テキストメッセージが送信されること","インスタンス作成済み","text=""Hello World""","UTF8エンコードされたテキストフレームが送信される","高","テキスト送信"
"58","UT-DES-058","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","SendMessage(bool, byte[])","正常系","バイナリメッセージが送信されること","インスタンス作成済み","isText=false, data=[1,2,3]","バイナリフレームが送信される","高","バイナリ送信"
"59","UT-DES-059","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","SendFrame","境界値","125バイト以下のデータ","インスタンス作成済み","data.Length=100","2バイトヘッダーで送信される","中","短いフレーム"
"60","UT-DES-060","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","SendFrame","境界値","126-65535バイトのデータ","インスタンス作成済み","data.Length=1000","4バイトヘッダーで送信される","中","中サイズフレーム"
"61","UT-DES-061","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","SendFrame","境界値","65536バイト以上のデータ","インスタンス作成済み","data.Length=100000","10バイトヘッダーで送信される","中","大サイズフレーム"
"62","UT-DES-062","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","ReceiveMessage","正常系","テキストメッセージが受信されること","接続済み","テキストフレームが送信される","IsText=true, Data=受信データのSimpleWebSocketMessageが返却される","高","テキスト受信"
"63","UT-DES-063","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","ReceiveMessage","正常系","Closeフレームの場合nullを返すこと","接続済み","Closeフレームが送信される","nullが返却される","高","接続終了検知"
"64","UT-DES-064","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","ReceiveMessage","正常系","Pingフレームの場合Pongが返されること","接続済み","Pingフレームが送信される","Pongフレームが送信される","中","Ping/Pong処理"
"65","UT-DES-065","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","ReceiveMessage","正常系","フラグメント化されたメッセージが正しく結合されること","接続済み","複数のContinueフレームが送信される","結合されたSimpleWebSocketMessageが返却される","中","フラグメント処理"
"66","UT-DES-066","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","Dispose","正常系","ストリームが解放されること","インスタンス作成済み","なし","_streamがDisposeされnullに設定される","中","リソース解放"
"67","UT-DES-067","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketMessage","AsString","正常系","データがUTF8文字列に変換されること","Data=[72,101,108,108,111]","なし","""Hello""が返却される","中","文字列変換"
"68","UT-DES-068","src/Avalonia.DesignerSupport/Remote/DetachableTransportConnection.cs","DetachableTransportConnection","コンストラクタ","正常系","内部接続が設定されOnMessageが登録されること","なし","inner=有効なIAvaloniaRemoteTransportConnection","_innerが設定されOnMessageハンドラが登録される","高","初期化"
"69","UT-DES-069","src/Avalonia.DesignerSupport/Remote/DetachableTransportConnection.cs","DetachableTransportConnection","Dispose","正常系","OnMessageが解除され_innerがnullになること","インスタンス作成済み","なし","OnMessageハンドラが解除され_inner=null","高","リソース解放"
"70","UT-DES-070","src/Avalonia.DesignerSupport/Remote/DetachableTransportConnection.cs","DetachableTransportConnection","FireOnMessage","正常系","OnMessageイベントが発火すること","OnMessageハンドラ登録済み","transport=this, obj=任意のオブジェクト","登録されたハンドラが呼び出される","高","メッセージ転送"
"71","UT-DES-071","src/Avalonia.DesignerSupport/Remote/DetachableTransportConnection.cs","DetachableTransportConnection","Send","正常系","内部接続のSendが呼び出されること","インスタンス作成済み","data=任意のオブジェクト","_inner.Sendが呼び出される","高","送信転送"
"72","UT-DES-072","src/Avalonia.DesignerSupport/Remote/DetachableTransportConnection.cs","DetachableTransportConnection","Send","正常系","Dispose後はnullが返却されること","Dispose呼び出し済み","data=任意のオブジェクト","nullが返却される（_inner?.Send）","中","Dispose後の送信"
"73","UT-DES-073","src/Avalonia.DesignerSupport/Remote/DetachableTransportConnection.cs","DetachableTransportConnection","Start","正常系","内部接続のStartが呼び出されること","インスタンス作成済み","なし","_inner.Startが呼び出される","中","開始転送"
"74","UT-DES-074","src/Avalonia.DesignerSupport/Remote/Stubs.cs","WindowStub","コンストラクタ","正常系","デフォルト値で初期化されること","なし","parent=null","RenderScaling=1.0, DesktopScaling=1.0等のデフォルト値が設定される","中","スタブ初期化"
"75","UT-DES-075","src/Avalonia.DesignerSupport/Remote/Stubs.cs","WindowStub","コンストラクタ","正常系","parentが指定された場合PopupPositionerが設定されること","なし","parent=有効なIWindowImpl","PopupPositionerが非nullになる","中","ポップアップ親設定"
"76","UT-DES-076","src/Avalonia.DesignerSupport/Remote/Stubs.cs","WindowStub","CreatePopup","正常系","新しいWindowStubが返却されること","インスタンス作成済み","なし","thisを親とするWindowStubが返却される","中","ポップアップ作成"
"77","UT-DES-077","src/Avalonia.DesignerSupport/Remote/Stubs.cs","WindowStub","PointToClient","正常系","PixelPointがPointに変換されること","なし","p=PixelPoint(100,200)","Point(100,200)が返却される","低","座標変換"
"78","UT-DES-078","src/Avalonia.DesignerSupport/Remote/Stubs.cs","WindowStub","PointToScreen","正常系","PointがPixelPointに変換されること","なし","p=Point(100,200)","PixelPoint(100,200)が返却される","低","座標変換"
"79","UT-DES-079","src/Avalonia.DesignerSupport/Remote/Stubs.cs","WindowStub","TryGetFeature","正常系","IStorageProviderの場合NoopStorageProviderが返却されること","なし","featureType=typeof(IStorageProvider)","NoopStorageProviderインスタンスが返却される","中","機能取得"
"80","UT-DES-080","src/Avalonia.DesignerSupport/Remote/Stubs.cs","WindowStub","TryGetFeature","正常系","IScreenImplの場合ScreenStubが返却されること","なし","featureType=typeof(IScreenImpl)","ScreenStubインスタンスが返却される","中","機能取得"
"81","UT-DES-081","src/Avalonia.DesignerSupport/Remote/Stubs.cs","WindowStub","TryGetFeature","正常系","未対応の機能の場合nullが返却されること","なし","featureType=typeof(未対応の型)","nullが返却される","中","未対応機能"
"82","UT-DES-082","src/Avalonia.DesignerSupport/Remote/Stubs.cs","ClipboardStub","ClearAsync","正常系","Task.CompletedTaskが返却されること","なし","なし","Task.CompletedTaskが返却される","低","スタブ動作"
"83","UT-DES-083","src/Avalonia.DesignerSupport/Remote/Stubs.cs","ClipboardStub","TryGetDataAsync","正常系","nullタスクが返却されること","なし","なし","Task<null>が返却される","低","スタブ動作"
"84","UT-DES-084","src/Avalonia.DesignerSupport/Remote/Stubs.cs","CursorFactoryStub","GetCursor","正常系","CursorStubが返却されること","なし","cursorType=StandardCursorType.Arrow","CursorStubインスタンスが返却される","低","カーソル作成"
"85","UT-DES-085","src/Avalonia.DesignerSupport/Remote/Stubs.cs","CursorFactoryStub","CreateCursor","正常系","CursorStubが返却されること","なし","cursor=任意のIBitmapImpl, hotSpot=PixelPoint(0,0)","CursorStubインスタンスが返却される","低","カスタムカーソル作成"
"86","UT-DES-086","src/Avalonia.DesignerSupport/Remote/Stubs.cs","IconLoaderStub","LoadIcon(string)","正常系","IconStubが返却されること","なし","fileName=""icon.ico""","IconStubインスタンスが返却される","低","アイコン読み込み"
"87","UT-DES-087","src/Avalonia.DesignerSupport/Remote/Stubs.cs","IconLoaderStub","LoadIcon(Stream)","正常系","IconStubが返却されること","なし","stream=任意のStream","IconStubインスタンスが返却される","低","ストリームからアイコン読み込み"
"88","UT-DES-088","src/Avalonia.DesignerSupport/Remote/Stubs.cs","ScreenStub","GetAllScreenKeys","正常系","1つの画面キーが返却されること","なし","なし","[1]が返却される","低","画面一覧"
"89","UT-DES-089","src/Avalonia.DesignerSupport/Remote/Stubs.cs","NoopStorageProvider","OpenFilePickerAsync","正常系","空のリストが返却されること","なし","options=任意のFilePickerOpenOptions","空のIReadOnlyList<IStorageFile>が返却される","低","ファイルピッカー無効化"
"90","UT-DES-090","src/Avalonia.DesignerSupport/Remote/Stubs.cs","NoopStorageProvider","SaveFilePickerAsync","正常系","nullが返却されること","なし","options=任意のFilePickerSaveOptions","nullが返却される","低","保存ピッカー無効化"
"91","UT-DES-091","src/Avalonia.DesignerSupport/Remote/Stubs.cs","NoopStorageProvider","OpenFolderPickerAsync","正常系","空のリストが返却されること","なし","options=任意のFolderPickerOpenOptions","空のIReadOnlyList<IStorageFolder>が返却される","低","フォルダピッカー無効化"
"92","UT-DES-092","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","コンストラクタ","正常系","ClientSizeが1x1で初期化されること","なし","transport=有効なIAvaloniaRemoteTransportConnection","ClientSize=Size(1,1)が設定される","高","初期化"
"93","UT-DES-093","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","OnMessage","正常系","ClientViewportAllocatedMessageでRenderScalingが更新されること","インスタンス作成済み","alloc.DpiX=192","RenderScaling=2.0が設定される","高","DPI対応"
"94","UT-DES-094","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","Resize","正常系","RequestViewportResizeMessageが送信されること","インスタンス作成済み","clientSize=Size(800,600)","RequestViewportResizeMessageがtransportに送信される","高","リサイズ処理"
"95","UT-DES-095","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","Resize","境界値","MaxAutoSizeHintを超えるサイズの場合制限されること","インスタンス作成済み","clientSize=Size(10000,10000)","ClientSizeがMaxAutoSizeHint(4096,4096)に制限される","高","サイズ制限"
"96","UT-DES-096","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","TryGetFeature","正常系","IStorageProviderの場合NoopStorageProviderが返却されること","なし","featureType=typeof(IStorageProvider)","NoopStorageProviderインスタンスが返却される","中","機能取得"
"97","UT-DES-097","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","TryGetFeature","正常系","IScreenImplの場合ScreenStubが返却されること","なし","featureType=typeof(IScreenImpl)","ScreenStubインスタンスが返却される","中","機能取得"
"98","UT-DES-098","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","DesktopScaling","正常系","1.0が返却されること","なし","なし","1.0が返却される","低","プロパティ値"
"99","UT-DES-099","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","MaxAutoSizeHint","正常系","4096x4096が返却されること","なし","なし","Size(4096,4096)が返却される","低","プロパティ値"
"100","UT-DES-100","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","NeedsManagedDecorations","正常系","falseが返却されること","なし","なし","falseが返却される","低","プロパティ値"
"1","UT-DSK-001","src/Avalonia.Desktop/AppBuilderDesktopExtensions.cs","AppBuilderDesktopExtensions","UsePlatformDetect","正常系","Windowsプラットフォームで正しく初期化されること","OperatingSystemEx.IsWindows()がtrueを返す環境","AppBuilderインスタンス","Win32とSkiaが設定されたAppBuilderが返却される","高","Windows環境でのプラットフォーム自動検出"
"2","UT-DSK-002","src/Avalonia.Desktop/AppBuilderDesktopExtensions.cs","AppBuilderDesktopExtensions","UsePlatformDetect","正常系","macOSプラットフォームで正しく初期化されること","OperatingSystemEx.IsMacOS()がtrueを返す環境","AppBuilderインスタンス","AvaloniaNativeとSkiaが設定されたAppBuilderが返却される","高","macOS環境でのプラットフォーム自動検出"
"3","UT-DSK-003","src/Avalonia.Desktop/AppBuilderDesktopExtensions.cs","AppBuilderDesktopExtensions","UsePlatformDetect","正常系","Linuxプラットフォームで正しく初期化されること","OperatingSystemEx.IsLinux()がtrueを返す環境","AppBuilderインスタンス","X11とSkiaが設定されたAppBuilderが返却される","高","Linux環境でのプラットフォーム自動検出"
"4","UT-DSK-004","src/Avalonia.Desktop/AppBuilderDesktopExtensions.cs","AppBuilderDesktopExtensions","UsePlatformDetect","正常系","HarfBuzzが全プラットフォームでロードされること","デスクトッププラットフォーム（Windows/macOS/Linux）","AppBuilderインスタンス","HarfBuzzが設定されたAppBuilderが返却される","高","フォントレンダリングの基本機能"
"5","UT-DSK-005","src/Avalonia.Desktop/AppBuilderDesktopExtensions.cs","AppBuilderDesktopExtensions","UsePlatformDetect","異常系","非デスクトッププラットフォームで警告ログが出力されること","IsWindows/IsMacOS/IsLinuxがすべてfalseを返す環境","AppBuilderインスタンス","警告ログが出力され、AppBuilderがそのまま返却される","中","Android/iOS/Browser等の非対応環境"
"6","UT-DSK-006","src/Avalonia.Desktop/AppBuilderDesktopExtensions.cs","AppBuilderDesktopExtensions","UsePlatformDetect","正常系","拡張メソッドがFluentインターフェースを維持すること","有効なAppBuilderインスタンス","AppBuilderインスタンス","入力と同じAppBuilderインスタンスが返却される","中","メソッドチェーンのサポート"
"7","UT-DSK-007","src/Avalonia.Desktop/AppBuilderDesktopExtensions.cs","AppBuilderDesktopExtensions","UsePlatformDetect","境界値","nullのAppBuilderが渡された場合","なし","null","NullReferenceExceptionがスローされる","中","null入力のエッジケース"
"8","UT-DSK-008","src/Avalonia.Desktop/AppBuilderDesktopExtensions.cs","AppBuilderDesktopExtensions","LoadAvaloniaNative","正常系","macOS用ネイティブバックエンドが設定されること","AppBuilderインスタンス","AppBuilderインスタンス","UseAvaloniaNative()が呼び出される","高","macOSネイティブレンダリング"
"9","UT-DSK-009","src/Avalonia.Desktop/AppBuilderDesktopExtensions.cs","AppBuilderDesktopExtensions","LoadWin32","正常系","Windows用バックエンドが設定されること","AppBuilderインスタンス","AppBuilderインスタンス","UseWin32()が呼び出される","高","Windowsプラットフォーム統合"
"10","UT-DSK-010","src/Avalonia.Desktop/AppBuilderDesktopExtensions.cs","AppBuilderDesktopExtensions","LoadX11","正常系","Linux用X11バックエンドが設定されること","AppBuilderインスタンス","AppBuilderインスタンス","UseX11()が呼び出される","高","LinuxのX11ウィンドウシステム統合"
"11","UT-DSK-011","src/Avalonia.Desktop/AppBuilderDesktopExtensions.cs","AppBuilderDesktopExtensions","LoadSkia","正常系","Skiaレンダリングエンジンが設定されること","AppBuilderインスタンス","AppBuilderインスタンス","UseSkia()が呼び出される","高","クロスプラットフォームレンダリング"
"12","UT-DSK-012","src/Avalonia.Desktop/AppBuilderDesktopExtensions.cs","AppBuilderDesktopExtensions","LoadHarfBuzz","正常系","HarfBuzzフォントシェーピングが設定されること","AppBuilderインスタンス","AppBuilderインスタンス","UseHarfBuzz()が呼び出される","高","国際化対応のフォントレンダリング"
"13","UT-DSK-013","src/Avalonia.Desktop/AppBuilderDesktopExtensions.cs","AppBuilderDesktopExtensions","UsePlatformDetect","正常系","Windowsで複数回呼び出しても重複設定されないこと","Windows環境","同一AppBuilderで2回呼び出し","エラーなく処理が完了する","中","冪等性の確認"
"14","UT-DSK-014","src/Avalonia.Desktop/AppBuilderDesktopExtensions.cs","AppBuilderDesktopExtensions","UsePlatformDetect","正常系","macOSで複数回呼び出しても重複設定されないこと","macOS環境","同一AppBuilderで2回呼び出し","エラーなく処理が完了する","中","冪等性の確認"
"15","UT-DSK-015","src/Avalonia.Desktop/AppBuilderDesktopExtensions.cs","AppBuilderDesktopExtensions","UsePlatformDetect","正常系","Linuxで複数回呼び出しても重複設定されないこと","Linux環境","同一AppBuilderで2回呼び出し","エラーなく処理が完了する","中","冪等性の確認"
"1","UT-DLG-001","src/Avalonia.Dialogs/ManagedFileDialogOptions.cs","ManagedFileDialogOptions","record","正常系","デフォルト値でレコードが作成されること","なし","new ManagedFileDialogOptions()","AllowDirectorySelection=false, CustomVolumeInfoProvider=null, ContentRootFactory=null","低","デフォルトコンストラクタ"
"2","UT-DLG-002","src/Avalonia.Dialogs/ManagedFileDialogOptions.cs","ManagedFileDialogOptions","AllowDirectorySelection","正常系","AllowDirectorySelectionがtrueに設定できること","なし","AllowDirectorySelection = true","trueが設定される","低","プロパティ設定"
"3","UT-DLG-003","src/Avalonia.Dialogs/ManagedFileChooserOverwritePrompt.cs","ManagedFileChooserOverwritePrompt","FileName","正常系","FileNameプロパティが取得・設定できること","コントロールが初期化済み","FileName = ""test.txt""","""test.txt""が返却される","中","プロパティの動作確認"
"4","UT-DLG-004","src/Avalonia.Dialogs/ManagedFileChooserOverwritePrompt.cs","ManagedFileChooserOverwritePrompt","Confirm","正常系","Confirm呼び出しでResultイベントがtrueで発火すること","Resultイベントが購読済み","Confirm()","Resultイベントがtrue引数で発火する","高","ユーザー確認アクション"
"5","UT-DLG-005","src/Avalonia.Dialogs/ManagedFileChooserOverwritePrompt.cs","ManagedFileChooserOverwritePrompt","Cancel","正常系","Cancel呼び出しでResultイベントがfalseで発火すること","Resultイベントが購読済み","Cancel()","Resultイベントがfalse引数で発火する","高","ユーザーキャンセルアクション"
"6","UT-DLG-006","src/Avalonia.Dialogs/ManagedFileChooserOverwritePrompt.cs","ManagedFileChooserOverwritePrompt","Confirm","異常系","Resultイベント未購読時にConfirmが例外をスローしないこと","Resultイベント未購読","Confirm()","例外がスローされない","中","null安全性"
"7","UT-DLG-007","src/Avalonia.Dialogs/Internal/ManagedFileChooserFilterViewModel.cs","ManagedFileChooserFilterViewModel","コンストラクタ","正常系","FilePickerFileTypeからフィルタが正しく作成されること","なし","FilePickerFileType(Name=""Text"", Patterns=[""*.txt""])","Name=""Text"", パターンが設定される","高","フィルタ初期化"
"8","UT-DLG-008","src/Avalonia.Dialogs/Internal/ManagedFileChooserFilterViewModel.cs","ManagedFileChooserFilterViewModel","コンストラクタ","正常系","*.*パターンの場合_patternsがnullになること","なし","FilePickerFileType(Patterns=[""*.*""])","_patterns=null（すべてのファイルにマッチ）","高","ワイルドカード処理"
"9","UT-DLG-009","src/Avalonia.Dialogs/Internal/ManagedFileChooserFilterViewModel.cs","ManagedFileChooserFilterViewModel","Match","正常系","パターンに一致するファイル名でtrueが返ること","Patterns=[""*.txt""]で初期化済み","filename=""document.txt""","true","高","ファイルマッチング"
"10","UT-DLG-010","src/Avalonia.Dialogs/Internal/ManagedFileChooserFilterViewModel.cs","ManagedFileChooserFilterViewModel","Match","正常系","パターンに一致しないファイル名でfalseが返ること","Patterns=[""*.txt""]で初期化済み","filename=""document.pdf""","false","高","ファイルマッチング"
"11","UT-DLG-011","src/Avalonia.Dialogs/Internal/ManagedFileChooserFilterViewModel.cs","ManagedFileChooserFilterViewModel","Match","正常系","_patternsがnullの場合すべてのファイルにマッチすること","Patterns=[""*.*""]で初期化済み","filename=""anyfile.xyz""","true","高","ワイルドカードマッチング"
"12","UT-DLG-012","src/Avalonia.Dialogs/Internal/ManagedFileChooserFilterViewModel.cs","ManagedFileChooserFilterViewModel","Match","境界値","空文字列のファイル名でfalseが返ること","Patterns=[""*.txt""]で初期化済み","filename=""""","false","中","空文字列処理"
"13","UT-DLG-013","src/Avalonia.Dialogs/Internal/ManagedFileChooserFilterViewModel.cs","ManagedFileChooserFilterViewModel","Match","正常系","大文字小文字を無視してマッチすること","Patterns=[""*.TXT""]で初期化済み","filename=""document.txt""","true","中","大文字小文字の無視"
"14","UT-DLG-014","src/Avalonia.Dialogs/Internal/ManagedFileChooserFilterViewModel.cs","ManagedFileChooserFilterViewModel","ToString","正常系","ToStringがNameを返すこと","Name=""Images""で初期化済み","ToString()","""Images""","低","文字列表現"
"15","UT-DLG-015","src/Avalonia.Dialogs/Internal/ChildFitter.cs","ChildFitter","MeasureOverride","正常系","MeasureOverrideが常にSize(0,0)を返すこと","なし","任意のavailableSize","Size(0, 0)","中","レイアウト測定"
"16","UT-DLG-016","src/Avalonia.Dialogs/Internal/ChildFitter.cs","ChildFitter","ArrangeOverride","正常系","ArrangeOverrideが渡されたサイズを返すこと","Childが設定済み","finalSize=Size(100, 200)","Size(100, 200)","中","レイアウト配置"
"17","UT-DLG-017","src/Avalonia.Dialogs/Internal/ChildFitter.cs","ChildFitter","ArrangeOverride","正常系","子要素がMeasureされること","Childが設定済み","finalSize=Size(100, 200)","Child.Measureが呼び出される","中","子要素の測定"
"18","UT-DLG-018","src/Avalonia.Dialogs/Internal/ChildFitter.cs","ChildFitter","ArrangeOverride","異常系","Childがnullでも例外がスローされないこと","Child=null","finalSize=Size(100, 200)","例外がスローされない","中","null安全性"
"19","UT-DLG-019","src/Avalonia.Dialogs/Internal/ManagedFileChooserNavigationItem.cs","ManagedFileChooserNavigationItem","プロパティ","正常系","DisplayNameが取得・設定できること","なし","DisplayName=""Documents""","""Documents""が返却される","低","プロパティ動作"
"20","UT-DLG-020","src/Avalonia.Dialogs/Internal/ManagedFileChooserNavigationItem.cs","ManagedFileChooserNavigationItem","プロパティ","正常系","Pathが取得・設定できること","なし","Path=""/home/user/docs""","パスが返却される","低","プロパティ動作"
"21","UT-DLG-021","src/Avalonia.Dialogs/Internal/ManagedFileChooserNavigationItem.cs","ManagedFileChooserNavigationItem","プロパティ","正常系","ItemTypeが取得・設定できること","なし","ItemType=Folder","Folderが返却される","低","プロパティ動作"
"22","UT-DLG-022","src/Avalonia.Dialogs/Internal/BclMountedVolumeInfoProvider.cs","BclMountedVolumeInfoProvider","Listen","正常系","利用可能なドライブがmountedDrivesに追加されること","ドライブが存在する環境","空のObservableCollection","ドライブ情報が追加される","高","ドライブ列挙"
"23","UT-DLG-023","src/Avalonia.Dialogs/Internal/BclMountedVolumeInfoProvider.cs","BclMountedVolumeInfoProvider","Listen","正常系","準備できていないドライブがスキップされること","IsReady=falseのドライブが存在","空のObservableCollection","該当ドライブは追加されない","中","未準備ドライブ処理"
"24","UT-DLG-024","src/Avalonia.Dialogs/Internal/BclMountedVolumeInfoProvider.cs","BclMountedVolumeInfoProvider","Listen","正常系","VolumeLabelが空の場合ディレクトリ名が使用されること","VolumeLabel=""""のドライブ","空のObservableCollection","VolumeLabelにディレクトリ名が設定される","中","ラベル処理"
"25","UT-DLG-025","src/Avalonia.Dialogs/Internal/BclMountedVolumeInfoProvider.cs","BclMountedVolumeInfoProvider","Listen","正常系","Disposable.Emptyが返却されること","なし","空のObservableCollection","Disposable.Emptyが返却される","低","戻り値確認"
"26","UT-DLG-026","src/Avalonia.Dialogs/Internal/BclMountedVolumeInfoProvider.cs","BclMountedVolumeInfoProvider","Listen","異常系","アクセスできないドライブで例外がキャッチされスキップされること","アクセス権限のないドライブ","空のObservableCollection","例外がスローされずスキップされる","中","例外処理"
"27","UT-DLG-027","src/Avalonia.Dialogs/Internal/FileSizeStringConverter.cs","FileSizeStringConverter","Convert","正常系","正のlong値が人間が読める形式に変換されること","なし","value=1024L","""1 KB""などの文字列","高","サイズ変換"
"28","UT-DLG-028","src/Avalonia.Dialogs/Internal/FileSizeStringConverter.cs","FileSizeStringConverter","Convert","境界値","0以下の値で空文字列が返ること","なし","value=0L","""""","中","境界値処理"
"29","UT-DLG-029","src/Avalonia.Dialogs/Internal/FileSizeStringConverter.cs","FileSizeStringConverter","Convert","異常系","long以外の型で空文字列が返ること","なし","value=""invalid""","""""","中","型チェック"
"30","UT-DLG-030","src/Avalonia.Dialogs/Internal/FileSizeStringConverter.cs","FileSizeStringConverter","ConvertBack","異常系","NotImplementedExceptionがスローされること","なし","任意の値","NotImplementedException","低","未実装メソッド"
"31","UT-DLG-031","src/Avalonia.Dialogs/Internal/AvaloniaDialogsInternalViewModelBase.cs","AvaloniaDialogsInternalViewModelBase","RaiseAndSetIfChanged","正常系","値が変更された場合trueが返りイベントが発火すること","PropertyChangedが購読済み","field=1, value=2","trueが返り、PropertyChangedが発火","高","プロパティ変更通知"
"32","UT-DLG-032","src/Avalonia.Dialogs/Internal/AvaloniaDialogsInternalViewModelBase.cs","AvaloniaDialogsInternalViewModelBase","RaiseAndSetIfChanged","正常系","値が同じ場合falseが返りイベントが発火しないこと","PropertyChangedが購読済み","field=1, value=1","falseが返り、PropertyChangedは発火しない","高","重複変更の抑制"
"33","UT-DLG-033","src/Avalonia.Dialogs/Internal/AvaloniaDialogsInternalViewModelBase.cs","AvaloniaDialogsInternalViewModelBase","RaisePropertyChanged","正常系","PropertyChangedイベントが正しいプロパティ名で発火すること","PropertyChangedが購読済み","propertyName=""TestProperty""","PropertyChangedがTestPropertyで発火","中","手動イベント発火"
"34","UT-DLG-034","src/Avalonia.Dialogs/Internal/ManagedFileChooserSources.cs","ManagedFileChooserSources","GetAllItems","正常系","ユーザーディレクトリとファイルシステムルートが連結されて返ること","デフォルト設定","なし","ユーザーディレクトリ + ファイルシステムルートの配列","高","ナビゲーション項目取得"
"35","UT-DLG-035","src/Avalonia.Dialogs/Internal/ManagedFileChooserSources.cs","ManagedFileChooserSources","DefaultGetUserDirectories","正常系","存在するユーザーディレクトリのみが返ること","特殊フォルダが存在","なし","存在するディレクトリの配列","中","ユーザーディレクトリ取得"
"36","UT-DLG-036","src/Avalonia.Dialogs/Internal/ManagedFileChooserSources.cs","ManagedFileChooserSources","DefaultGetUserDirectories","正常系","重複するパスが除外されること","同じパスの特殊フォルダ","なし","重複なしの配列","中","重複排除"
"37","UT-DLG-037","src/Avalonia.Dialogs/Internal/ManagedFileChooserSources.cs","ManagedFileChooserSources","DefaultGetFileSystemRoots","正常系","MountedVolumesからナビゲーション項目が作成されること","MountedVolumesにドライブ情報あり","なし","ボリューム情報の配列","中","ルート取得"
"38","UT-DLG-038","src/Avalonia.Dialogs/Internal/ManagedFileChooserSources.cs","ManagedFileChooserSources","DefaultGetFileSystemRoots","正常系","VolumeLabelがnullの場合サイズから表示名が生成されること","VolumeLabel=null, VolumeSizeBytes>0","なし","""X GB Volume""形式の表示名","中","ラベル生成"
"39","UT-DLG-039","src/Avalonia.Dialogs/Internal/ManagedFileChooserSources.cs","ManagedFileChooserSources","DefaultGetFileSystemRoots","異常系","アクセスできないボリュームがスキップされること","アクセス権限のないボリューム","なし","該当ボリュームは含まれない","中","例外処理"
"40","UT-DLG-040","src/Avalonia.Dialogs/Internal/ManagedFileChooserItemViewModel.cs","ManagedFileChooserItemViewModel","コンストラクタ","正常系","デフォルトコンストラクタで初期化されること","なし","new ManagedFileChooserItemViewModel()","プロパティがデフォルト値","低","デフォルト初期化"
"41","UT-DLG-041","src/Avalonia.Dialogs/Internal/ManagedFileChooserItemViewModel.cs","ManagedFileChooserItemViewModel","コンストラクタ","正常系","ManagedFileChooserNavigationItemから初期化されること","なし","ManagedFileChooserNavigationItem(Path=""/home"", DisplayName=""Home"", ItemType=Folder)","対応するプロパティが設定される","高","ナビゲーション項目からの初期化"
"42","UT-DLG-042","src/Avalonia.Dialogs/Internal/ManagedFileChooserItemViewModel.cs","ManagedFileChooserItemViewModel","IconKey","正常系","ItemType=FolderでIcon_Folderが返ること","ItemType=Folder","IconKey","""Icon_Folder""","中","アイコンキー取得"
"43","UT-DLG-043","src/Avalonia.Dialogs/Internal/ManagedFileChooserItemViewModel.cs","ManagedFileChooserItemViewModel","IconKey","正常系","ItemType=VolumeでIcon_Volumeが返ること","ItemType=Volume","IconKey","""Icon_Volume""","中","アイコンキー取得"
"44","UT-DLG-044","src/Avalonia.Dialogs/Internal/ManagedFileChooserItemViewModel.cs","ManagedFileChooserItemViewModel","IconKey","正常系","ItemType=FileでIcon_Fileが返ること","ItemType=File","IconKey","""Icon_File""","中","アイコンキー取得"
"45","UT-DLG-045","src/Avalonia.Dialogs/Internal/ManagedFileChooserItemViewModel.cs","ManagedFileChooserItemViewModel","プロパティ","正常系","DisplayNameがPropertyChangedを発火すること","PropertyChangedが購読済み","DisplayName=""NewName""","PropertyChangedが発火","中","変更通知"
"46","UT-DLG-046","src/Avalonia.Dialogs/Internal/ResourceSelectorConverter.cs","ResourceSelectorConverter","Convert","正常系","リソースキーに対応する値が返ること","リソースが登録済み","key=""TestResource""","登録されたリソース値","中","リソース取得"
"47","UT-DLG-047","src/Avalonia.Dialogs/Internal/ResourceSelectorConverter.cs","ResourceSelectorConverter","Convert","異常系","存在しないキーでnullが返ること","リソース未登録","key=""NonExistent""","null","中","存在しないリソース"
"48","UT-DLG-048","src/Avalonia.Dialogs/Internal/ResourceSelectorConverter.cs","ResourceSelectorConverter","ConvertBack","異常系","NotImplementedExceptionがスローされること","なし","任意の値","NotImplementedException","低","未実装メソッド"
"49","UT-DLG-049","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","コンストラクタ","正常系","ManagedFileDialogOptionsで初期化されること","なし","new ManagedFileChooserViewModel(options)","インスタンスが作成される","高","基本初期化"
"50","UT-DLG-050","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","コンストラクタ","正常系","FilePickerOpenOptionsで初期化されること","なし","FilePickerOpenOptions(Title=""Open"")","Title=""Open""","高","ファイルオープン初期化"
"51","UT-DLG-051","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","コンストラクタ","正常系","FilePickerSaveOptionsで初期化されること","なし","FilePickerSaveOptions(Title=""Save"")","Title=""Save"", _savingFile=true","高","ファイル保存初期化"
"52","UT-DLG-052","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","コンストラクタ","正常系","FolderPickerOpenOptionsで初期化されること","なし","FolderPickerOpenOptions(Title=""Select"")","Title=""Select"", _selectingDirectory=true","高","フォルダ選択初期化"
"53","UT-DLG-053","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","コンストラクタ","正常系","AllowMultiple=trueでSelectionMode.Multipleになること","なし","FilePickerOpenOptions(AllowMultiple=true)","SelectionMode=Multiple","中","複数選択モード"
"54","UT-DLG-054","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","コンストラクタ","正常系","FileTypeFilterからFiltersが設定されること","なし","FilePickerOpenOptions(FileTypeFilter=[...])","Filtersに項目が追加される","中","フィルタ設定"
"55","UT-DLG-055","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","Location","正常系","Locationが設定されPropertyChangedが発火すること","PropertyChangedが購読済み","Location=""/home/user""","PropertyChangedが発火","中","場所設定"
"56","UT-DLG-056","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","FileName","正常系","FileNameが設定されPropertyChangedが発火すること","PropertyChangedが購読済み","FileName=""test.txt""","PropertyChangedが発火","中","ファイル名設定"
"57","UT-DLG-057","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","QuickLinksSelectedIndex","正常系","LocationがQuickLinksに存在する場合インデックスが返ること","QuickLinks=[Path=""/home""], Location=""/home""","QuickLinksSelectedIndex","0","中","クイックリンク選択"
"58","UT-DLG-058","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","QuickLinksSelectedIndex","正常系","LocationがQuickLinksに存在しない場合-1が返ること","QuickLinks=[Path=""/home""], Location=""/other""","QuickLinksSelectedIndex","-1","中","クイックリンク未選択"
"59","UT-DLG-059","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","SelectedFilter","正常系","SelectedFilter変更時にRefreshが呼ばれること","Filters設定済み","SelectedFilter=Filters[1]","Refreshが実行される","中","フィルタ変更"
"60","UT-DLG-060","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","ShowHiddenFiles","正常系","ShowHiddenFiles変更時にRefreshが呼ばれること","なし","ShowHiddenFiles=true","Refreshが実行される","中","隠しファイル表示切替"
"61","UT-DLG-061","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","Navigate","正常系","有効なパスでItemsが更新されること","有効なディレクトリが存在","path=""/home/user""","Itemsにファイル・フォルダが追加される","高","ナビゲーション"
"62","UT-DLG-062","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","Navigate","正常系","存在しないパスでルートにナビゲートすること","なし","path=""/nonexistent""","ルートディレクトリにナビゲート","中","無効パス処理"
"63","UT-DLG-063","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","Navigate","正常系","ShowHiddenFiles=falseで隠しファイルがフィルタされること","隠しファイルが存在、ShowHiddenFiles=false","path=""/home/user""","隠しファイルがItemsに含まれない","中","隠しファイルフィルタ"
"64","UT-DLG-064","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","Navigate","正常系","SelectedFilterでファイルがフィルタされること","SelectedFilter=*.txt","path=""/home/user""","*.txt以外のファイルがフィルタされる","中","ファイルフィルタ"
"65","UT-DLG-065","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","Navigate","正常系","_selectingDirectory=trueでファイルが表示されないこと","FolderPickerで初期化","path=""/home/user""","ファイルがItemsに含まれない","中","フォルダ選択モード"
"66","UT-DLG-066","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","Navigate","正常系","initialSelectionNameが指定された場合そのファイルが選択されること","対象ファイルが存在","path=""/home"", initialSelectionName=""test.txt""","SelectedItemsにtest.txtが追加","中","初期選択"
"67","UT-DLG-067","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","Navigate","異常系","UnauthorizedAccessExceptionが発生しても例外がスローされないこと","アクセス権限のないディレクトリ","path=""/restricted""","例外がスローされない","中","アクセス拒否処理"
"68","UT-DLG-068","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","GoUp","正常系","親ディレクトリにナビゲートすること","Location=""/home/user/docs""","GoUp()","Location=""/home/user""","高","上位フォルダ移動"
"69","UT-DLG-069","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","GoUp","境界値","ルートディレクトリで何も起こらないこと","Location=""/""","GoUp()","Locationが変更されない","中","ルートでの動作"
"70","UT-DLG-070","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","Cancel","正常系","CancelRequestedイベントが発火すること","CancelRequestedが購読済み","Cancel()","CancelRequestedが発火","高","キャンセル処理"
"71","UT-DLG-071","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","Cancel","正常系","2回目のCancel呼び出しでイベントが発火しないこと","1回Cancel済み","Cancel()","イベントが発火しない","中","重複キャンセル防止"
"72","UT-DLG-072","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","CanOk","正常系","_selectingDirectoryでLocationが設定済みの場合trueを返すこと","FolderPicker, Location=""/home""","CanOk(null)","true","高","OK可否判定"
"73","UT-DLG-073","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","CanOk","正常系","_savingFileでFileNameが設定済みの場合trueを返すこと","SavePicker, FileName=""test.txt""","CanOk(null)","true","高","OK可否判定"
"74","UT-DLG-074","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","CanOk","正常系","SelectedItemsが空でない場合trueを返すこと","OpenPicker, SelectedItems=[...]","CanOk(null)","true","高","OK可否判定"
"75","UT-DLG-075","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","CanOk","正常系","条件を満たさない場合falseを返すこと","OpenPicker, SelectedItems=[]","CanOk(null)","false","中","OK不可判定"
"76","UT-DLG-076","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","Ok","正常系","_selectingDirectoryでCompleteRequestedにLocationが渡ること","FolderPicker, Location=""/home""","Ok()","CompleteRequestedが[""/home""]で発火","高","フォルダ選択完了"
"77","UT-DLG-077","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","Ok","正常系","_savingFileでCompleteRequestedにフルパスが渡ること","SavePicker, Location=""/home"", FileName=""test.txt""","Ok()","CompleteRequestedが[""/home/test.txt""]で発火","高","ファイル保存完了"
"78","UT-DLG-078","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","Ok","正常系","拡張子がない場合_defaultExtensionが付与されること","SavePicker, FileName=""test"", _defaultExtension="".txt""","Ok()","CompleteRequestedが[""/home/test.txt""]で発火","高","拡張子付与"
"79","UT-DLG-079","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","Ok","正常系","_overwritePromptでファイルが存在する場合OverwritePromptが発火すること","SavePicker, 既存ファイル, _overwritePrompt=true","Ok()","OverwritePromptが発火","高","上書き確認"
"80","UT-DLG-080","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","Ok","正常系","ファイル選択でSelectedItemsのパスが渡ること","OpenPicker, SelectedItems=[file1, file2]","Ok()","CompleteRequestedが[path1, path2]で発火","高","ファイル選択完了"
"81","UT-DLG-081","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","SelectSingleFile","正常系","CompleteRequestedに単一ファイルパスが渡ること","CompleteRequestedが購読済み","item(Path=""/home/test.txt"")","CompleteRequestedが[""/home/test.txt""]で発火","高","ダブルクリック選択"
"82","UT-DLG-082","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","EnterPressed","正常系","Locationがディレクトリの場合ナビゲートすること","Location=""/home/user""（ディレクトリ）","EnterPressed()","Navigateが呼ばれる","中","Enter押下処理"
"83","UT-DLG-083","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","EnterPressed","正常系","Locationがファイルの場合CompleteRequestedが発火すること","Location=""/home/test.txt""（ファイル）","EnterPressed()","CompleteRequestedが発火","中","Enter押下処理"
"84","UT-DLG-084","src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs","ManagedFileChooserViewModel","Refresh","正常系","現在のLocationで再ナビゲートすること","Location=""/home""","Refresh()","Navigateが""/home""で呼ばれる","中","リフレッシュ"
"85","UT-DLG-085","src/Avalonia.Dialogs/ManagedStorageProvider.cs","ManagedStorageProvider","コンストラクタ","正常系","parentとoptionsで初期化されること","なし","new ManagedStorageProvider(parent, options)","インスタンスが作成される","中","初期化"
"86","UT-DLG-086","src/Avalonia.Dialogs/ManagedStorageProvider.cs","ManagedStorageProvider","コンストラクタ","正常系","optionsがnullの場合デフォルトオプションが使用されること","なし","new ManagedStorageProvider(parent, null)","デフォルトオプションで初期化","中","null処理"
"87","UT-DLG-087","src/Avalonia.Dialogs/ManagedStorageProvider.cs","ManagedStorageProvider","CanSave","正常系","trueが返ること","なし","CanSave","true","低","機能フラグ"
"88","UT-DLG-088","src/Avalonia.Dialogs/ManagedStorageProvider.cs","ManagedStorageProvider","CanOpen","正常系","trueが返ること","なし","CanOpen","true","低","機能フラグ"
"89","UT-DLG-089","src/Avalonia.Dialogs/ManagedStorageProvider.cs","ManagedStorageProvider","CanPickFolder","正常系","trueが返ること","なし","CanPickFolder","true","低","機能フラグ"
"90","UT-DLG-090","src/Avalonia.Dialogs/ManagedStorageProvider.cs","ManagedStorageProvider","OpenFilePickerAsync","正常系","選択されたファイルがIStorageFileとして返ること","ダイアログでファイル選択","FilePickerOpenOptions","IStorageFileの配列","高","ファイル選択ダイアログ"
"91","UT-DLG-091","src/Avalonia.Dialogs/ManagedStorageProvider.cs","ManagedStorageProvider","SaveFilePickerAsync","正常系","選択されたパスがIStorageFileとして返ること","ダイアログでパス選択","FilePickerSaveOptions","IStorageFile","高","ファイル保存ダイアログ"
"92","UT-DLG-092","src/Avalonia.Dialogs/ManagedStorageProvider.cs","ManagedStorageProvider","SaveFilePickerAsync","正常系","キャンセル時にnullが返ること","ダイアログをキャンセル","FilePickerSaveOptions","null","中","キャンセル処理"
"93","UT-DLG-093","src/Avalonia.Dialogs/ManagedStorageProvider.cs","ManagedStorageProvider","SaveFilePickerWithResultAsync","正常系","ファイルとフィルタタイプが返ること","ダイアログでファイル選択","FilePickerSaveOptions","SaveFilePickerResult(File, SelectedFileType)","中","拡張保存ダイアログ"
"94","UT-DLG-094","src/Avalonia.Dialogs/ManagedStorageProvider.cs","ManagedStorageProvider","OpenFolderPickerAsync","正常系","選択されたフォルダがIStorageFolderとして返ること","ダイアログでフォルダ選択","FolderPickerOpenOptions","IStorageFolderの配列","高","フォルダ選択ダイアログ"
"95","UT-DLG-095","src/Avalonia.Dialogs/ManagedStorageProvider.cs","ManagedStorageProvider","PrepareRoot","正常系","ContentRootFactoryが設定されている場合それが使用されること","ContentRootFactory設定済み","model","カスタムContentControlが返る","中","ルート準備"
"96","UT-DLG-096","src/Avalonia.Dialogs/ManagedStorageProvider.cs","ManagedStorageProvider","PrepareRoot","正常系","parentがWindowでない場合ContentControlが作成されること","parent=非Window","model","ContentControlが返る","中","ルート準備"
"97","UT-DLG-097","src/Avalonia.Dialogs/ManagedStorageProvider.cs","ManagedStorageProvider","PrepareRoot","正常系","parentがWindow/nullの場合Windowが作成されること","parent=Window or null","model","Windowが返る","中","ルート準備"
"98","UT-DLG-098","src/Avalonia.Dialogs/ManagedStorageProvider.cs","ManagedStorageProvider","Show","異常系","parentがnullでWindowシステムがない場合InvalidOperationExceptionがスローされること","parent=null, 非Window環境","model","InvalidOperationException","中","エラー処理"
"99","UT-DLG-099","src/Avalonia.Dialogs/AboutAvaloniaDialog.cs","AboutAvaloniaDialog","Version","正常系","バージョン文字列が正しい形式で返ること","なし","Version","""vX.Y""形式の文字列","低","バージョン取得"
"100","UT-DLG-100","src/Avalonia.Dialogs/AboutAvaloniaDialog.cs","AboutAvaloniaDialog","IsDevelopmentBuild","正常系","Revision==999の場合trueが返ること","Revision=999","IsDevelopmentBuild","true","低","開発ビルド判定"
"101","UT-DLG-101","src/Avalonia.Dialogs/AboutAvaloniaDialog.cs","AboutAvaloniaDialog","Copyright","正常系","現在年を含む著作権文字列が返ること","なし","Copyright","""(C) 2026 The Avalonia Project""","低","著作権取得"
"102","UT-DLG-102","src/Avalonia.Dialogs/ManagedFileChooser.cs","ManagedFileChooser","コンストラクタ","正常系","PointerPressedイベントハンドラが登録されること","なし","new ManagedFileChooser()","ハンドラが登録される","中","初期化"
"103","UT-DLG-103","src/Avalonia.Dialogs/ManagedFileChooser.cs","ManagedFileChooser","OnPointerPressed","正常系","ダブルクリックでファイルが選択されること","Model設定済み、ファイル項目","ダブルクリック","SelectSingleFileが呼ばれる","高","ダブルクリック処理"
"104","UT-DLG-104","src/Avalonia.Dialogs/ManagedFileChooser.cs","ManagedFileChooser","OnPointerPressed","正常系","ダブルクリックでフォルダにナビゲートすること","Model設定済み、フォルダ項目","ダブルクリック","Navigateが呼ばれる","高","フォルダナビゲート"
"105","UT-DLG-105","src/Avalonia.Dialogs/ManagedFileChooser.cs","ManagedFileChooser","OnPointerPressed","正常系","クイックリンク領域のクリックでナビゲートすること","QuickLinks設定済み","クイックリンククリック","Navigateが呼ばれる","中","クイックリンク"
"106","UT-DLG-106","src/Avalonia.Dialogs/ManagedFileChooser.cs","ManagedFileChooser","OnPointerPressed","異常系","DataContextがnullの場合何も起こらないこと","DataContext=null","クリック","例外がスローされない","中","null安全性"
"107","UT-DLG-107","src/Avalonia.Dialogs/ManagedFileChooser.cs","ManagedFileChooser","OnApplyTemplate","正常系","PART_QuickLinksとPART_Filesが取得されること","テンプレート適用","OnApplyTemplate","_quickLinksRootと_filesViewが設定される","中","テンプレート適用"
"108","UT-DLG-108","src/Avalonia.Dialogs/ManagedFileChooser.cs","ManagedFileChooser","OnDataContextChanged","正常系","preselectedがある場合スクロールされること","SelectedItemsにアイテムあり","DataContext変更","ScrollIntoViewが呼ばれる","中","初期スクロール"
"109","UT-DLG-109","src/Avalonia.Dialogs/ManagedFileDialogExtensions.cs","ManagedStorageProviderFactory","CreateProvider","正常系","ManagedStorageProviderが返ること","なし","CreateProvider(topLevel)","ManagedStorageProvider","中","プロバイダー作成"
"110","UT-DLG-110","src/Avalonia.Dialogs/ManagedFileDialogExtensions.cs","ManagedFileDialogExtensions","UseManagedSystemDialogs","正常系","IStorageProviderFactoryがバインドされること","なし","builder.UseManagedSystemDialogs()","IStorageProviderFactoryがバインドされる","高","拡張メソッド"
"111","UT-DLG-111","src/Avalonia.Dialogs/ManagedFileDialogExtensions.cs","ManagedFileDialogExtensions","UseManagedSystemDialogs<TWindow>","正常系","カスタムWindowタイプでバインドされること","なし","builder.UseManagedSystemDialogs<CustomWindow>()","カスタムWindowファクトリでバインド","中","ジェネリック拡張"
"112","UT-DLG-112","src/Avalonia.Dialogs/ManagedFileDialogExtensions.cs","ManagedFileDialogExtensions","PrepareOptions","正常系","optionsOverrideがある場合それが使用されること","optionsOverride設定","PrepareOptions(override, null)","overrideが返る","中","オプション準備"
"113","UT-DLG-113","src/Avalonia.Dialogs/ManagedFileDialogExtensions.cs","ManagedFileDialogExtensions","PrepareOptions","正常系","customRootFactoryが設定される場合withで新しいオプションが作られること","options, customFactory設定","PrepareOptions(options, factory)","ContentRootFactoryが設定されたオプション","中","カスタムルート設定"
"114","UT-DLG-114","src/Avalonia.Dialogs/ManagedFileDialogExtensions.cs","ManagedFileDialogExtensions","UseManagedSystemDialogs","正常系","CustomVolumeInfoProviderがある場合IMountedVolumeInfoProviderがバインドされること","CustomVolumeInfoProvider設定","UseManagedSystemDialogs()","IMountedVolumeInfoProviderがバインドされる","中","カスタムボリュームプロバイダー"
"1","UT-INT-001","src/Avalonia.Fonts.Inter/InterFontCollection.cs","InterFontCollection","コンストラクタ","正常系","インスタンスが正常に生成されること","なし","なし","InterFontCollectionインスタンスが生成される","高","フォントコレクションの基本機能"
"2","UT-INT-002","src/Avalonia.Fonts.Inter/InterFontCollection.cs","InterFontCollection","コンストラクタ","正常系","基底クラスのコンストラクタが正しいURIで呼び出されること","なし","なし","Keyプロパティが""fonts:Inter""、Sourceプロパティが""avares://Avalonia.Fonts.Inter/Assets""となる","高","URI設定の確認"
"3","UT-INT-003","src/Avalonia.Fonts.Inter/InterFontCollection.cs","InterFontCollection","コンストラクタ","正常系","EmbeddedFontCollectionを継承していること","なし","なし","InterFontCollectionはEmbeddedFontCollectionの派生クラスである","中","継承関係の確認"
"4","UT-INT-004","src/Avalonia.Fonts.Inter/InterFontCollection.cs","InterFontCollection","コンストラクタ","正常系","sealedクラスとして継承不可であること","なし","なし","コンパイル時にInterFontCollectionを継承したクラス定義がエラーとなる","低","クラス設計の確認"
"5","UT-INT-005","src/Avalonia.Fonts.Inter/AppBuilderExtension.cs","AppBuilderExtension","WithInterFont","正常系","AppBuilderにInterフォントコレクションが追加されること","有効なAppBuilderインスタンス","appBuilder（有効なAppBuilder）","InterFontCollectionがフォントマネージャに追加され、AppBuilderが返却される","高","拡張メソッドの基本機能"
"6","UT-INT-006","src/Avalonia.Fonts.Inter/AppBuilderExtension.cs","AppBuilderExtension","WithInterFont","正常系","メソッドチェーンが可能であること","有効なAppBuilderインスタンス","appBuilder（有効なAppBuilder）","戻り値がAppBuilderであり、後続のメソッド呼び出しが可能","中","Fluent API設計の確認"
"7","UT-INT-007","src/Avalonia.Fonts.Inter/AppBuilderExtension.cs","AppBuilderExtension","WithInterFont","正常系","ConfigureFontsが内部で呼び出されること","有効なAppBuilderインスタンス","appBuilder（有効なAppBuilder）","ConfigureFontsメソッドが1回呼び出される","中","内部実装の確認"
"8","UT-INT-008","src/Avalonia.Fonts.Inter/AppBuilderExtension.cs","AppBuilderExtension","WithInterFont","正常系","AddFontCollectionにInterFontCollectionが渡されること","有効なAppBuilderインスタンス","appBuilder（有効なAppBuilder）","fontManager.AddFontCollectionがInterFontCollectionインスタンスで呼び出される","中","フォントコレクション登録の確認"
"9","UT-INT-009","src/Avalonia.Fonts.Inter/AppBuilderExtension.cs","AppBuilderExtension","WithInterFont","異常系","nullのAppBuilderが渡された場合","なし","appBuilder=null","ArgumentNullExceptionまたはNullReferenceExceptionがスローされる","高","null入力のエラーハンドリング"
"10","UT-INT-010","src/Avalonia.Fonts.Inter/AppBuilderExtension.cs","AppBuilderExtension","WithInterFont","正常系","複数回呼び出しても例外が発生しないこと","有効なAppBuilderインスタンス","appBuilder（有効なAppBuilder）を2回WithInterFontで呼び出し","例外が発生せずAppBuilderが返却される","中","重複呼び出しの耐性確認"
"11","UT-INT-011","src/Avalonia.Fonts.Inter/AppBuilderExtension.cs","AppBuilderExtension","WithInterFont","正常系","他の拡張メソッドとの組み合わせで動作すること","有効なAppBuilderインスタンス","appBuilder.WithInterFont().UsePlatformDetect()","連鎖的なメソッド呼び出しが成功する","中","他の拡張メソッドとの互換性"
"12","UT-INT-012","src/Avalonia.Fonts.Inter/InterFontCollection.cs","InterFontCollection","Key","正常系","Keyプロパティが正しいURIを返すこと","InterFontCollectionインスタンスが生成済み","なし","Uri(""fonts:Inter"", UriKind.Absolute)が返却される","高","フォントキーの確認"
"13","UT-INT-013","src/Avalonia.Fonts.Inter/InterFontCollection.cs","InterFontCollection","Source","正常系","Sourceプロパティが正しいURIを返すこと","InterFontCollectionインスタンスが生成済み","なし","Uri(""avares://Avalonia.Fonts.Inter/Assets"", UriKind.Absolute)が返却される","高","フォントソースの確認"
"1","UT-FRD-001","src/Avalonia.FreeDesktop/LinuxMountedVolumeInfoListener.cs","LinuxMountedVolumeInfoListener","コンストラクタ","正常系","ObservableCollectionを正しく初期化すること","なし","有効なObservableCollection<MountedVolumeInfo>参照","DispatcherTimerが開始され、Pollが呼び出される","高","マウントボリューム監視の初期化"
"2","UT-FRD-002","src/Avalonia.FreeDesktop/LinuxMountedVolumeInfoListener.cs","LinuxMountedVolumeInfoListener","Poll","正常系","マウントされたボリューム情報を正しく取得すること","/proc/partitionsと/proc/mountsが存在する","有効なパーティション情報とマウント情報","MountedVolumeInfoがObservableCollectionに追加される","高","ボリューム情報のポーリング"
"3","UT-FRD-003","src/Avalonia.FreeDesktop/LinuxMountedVolumeInfoListener.cs","LinuxMountedVolumeInfoListener","Poll","異常系","/proc/partitionsが読み取れない場合","ファイルが存在しない","なし","例外がスローされる","中","ファイル読み取りエラー処理"
"4","UT-FRD-004","src/Avalonia.FreeDesktop/LinuxMountedVolumeInfoListener.cs","LinuxMountedVolumeInfoListener","Poll","境界値","マウントされたボリュームが0件の場合","/proc/mountsが空","空のファイル内容","ObservableCollectionが空のまま","中","空のボリュームリスト"
"5","UT-FRD-005","src/Avalonia.FreeDesktop/LinuxMountedVolumeInfoListener.cs","LinuxMountedVolumeInfoListener","UnescapePathFromProcMounts","正常系","8進数エスケープシーケンスを正しくデコードすること","なし","エスケープされた文字列（例: \\040）","スペースに変換される","中","パスのアンエスケープ"
"6","UT-FRD-006","src/Avalonia.FreeDesktop/LinuxMountedVolumeInfoListener.cs","LinuxMountedVolumeInfoListener","UnescapeDeviceLabel","正常系","16進数エスケープシーケンスを正しくデコードすること","なし","エスケープされた文字列（例: \\x20）","スペースに変換される","中","ラベルのアンエスケープ"
"7","UT-FRD-007","src/Avalonia.FreeDesktop/LinuxMountedVolumeInfoListener.cs","LinuxMountedVolumeInfoListener","Dispose","正常系","リソースが正しく解放されること","Listenerが初期化済み","なし","DispatcherTimerが停止し、ObservableCollectionがクリアされる","高","リソースの解放"
"8","UT-FRD-008","src/Avalonia.FreeDesktop/LinuxMountedVolumeInfoListener.cs","LinuxMountedVolumeInfoListener","Dispose","状態","二重Disposeで例外が発生しないこと","既にDispose済み","なし","何も起こらない","中","冪等性の確認"
"9","UT-FRD-009","src/Avalonia.FreeDesktop/LinuxMountedVolumeInfoProvider.cs","LinuxMountedVolumeInfoProvider","Listen","正常系","LinuxMountedVolumeInfoListenerを返すこと","なし","有効なObservableCollection","IDisposableなListenerが返される","高","リスナー生成"
"10","UT-FRD-010","src/Avalonia.FreeDesktop/DBusHelper.cs","DBusHelper","DefaultConnection","正常系","DBus接続を取得すること","DBusセッションが利用可能","なし","Connectionオブジェクトが返される","高","DBus接続の取得"
"11","UT-FRD-011","src/Avalonia.FreeDesktop/DBusHelper.cs","DBusHelper","DefaultConnection","異常系","DBus接続に失敗した場合","DBusが利用不可","なし","nullが返される","高","接続失敗時の処理"
"12","UT-FRD-012","src/Avalonia.FreeDesktop/DBusHelper.cs","DBusHelper","TryCreateNewConnection","正常系","新しいDBus接続を作成すること","DBusセッションが利用可能","有効なdbusAddress","新しいConnectionオブジェクト","高","新規接続作成"
"13","UT-FRD-013","src/Avalonia.FreeDesktop/DBusHelper.cs","DBusHelper","TryCreateNewConnection","異常系","無効なアドレスで接続を試みた場合","なし","無効なdbusAddress","nullが返される","中","無効アドレス処理"
"14","UT-FRD-014","src/Avalonia.FreeDesktop/DBusHelper.cs","DBusHelper","TryCreateNewConnection","正常系","SynchronizationContextが復元されること","SynchronizationContextが設定済み","有効なdbusAddress","処理後に元のSynchronizationContextが復元される","中","コンテキスト復元"
"15","UT-FRD-015","src/Avalonia.FreeDesktop/DBusCallQueue.cs","DBusCallQueue","コンストラクタ","正常系","エラーハンドラを設定すること","なし","有効なFunc<Exception, Task>","DBusCallQueueが初期化される","中","キュー初期化"
"16","UT-FRD-016","src/Avalonia.FreeDesktop/DBusCallQueue.cs","DBusCallQueue","Enqueue","正常系","コールバックがキューに追加され実行されること","キューが初期化済み","有効なFunc<Task>","コールバックが非同期で実行される","高","タスクのエンキュー"
"17","UT-FRD-017","src/Avalonia.FreeDesktop/DBusCallQueue.cs","DBusCallQueue","EnqueueAsync","正常系","非同期でタスクが実行され完了を待機できること","キューが初期化済み","有効なFunc<Task>","Taskが正常に完了する","高","非同期エンキュー"
"18","UT-FRD-018","src/Avalonia.FreeDesktop/DBusCallQueue.cs","DBusCallQueue","EnqueueAsync<T>","正常系","戻り値のあるタスクが正しく実行されること","キューが初期化済み","有効なFunc<Task<T>>","期待する戻り値を持つTask<T>が返される","高","ジェネリック非同期エンキュー"
"19","UT-FRD-019","src/Avalonia.FreeDesktop/DBusCallQueue.cs","DBusCallQueue","EnqueueAsync","異常系","コールバックで例外が発生した場合","キューが初期化済み","例外をスローするFunc<Task>","Taskが例外で失敗する","高","例外処理"
"20","UT-FRD-020","src/Avalonia.FreeDesktop/DBusCallQueue.cs","DBusCallQueue","Process","正常系","キュー内の全タスクが順次処理されること","複数のタスクがエンキュー済み","なし","全タスクが順番に実行される","高","キュー処理"
"21","UT-FRD-021","src/Avalonia.FreeDesktop/DBusCallQueue.cs","DBusCallQueue","Process","状態","処理中は再入しないこと","処理中","新しいタスクをエンキュー","処理完了後に新しいタスクが実行される","中","再入防止"
"22","UT-FRD-022","src/Avalonia.FreeDesktop/DBusCallQueue.cs","DBusCallQueue","FailAll","正常系","全ての待機中タスクがキャンセルされること","複数のタスクがエンキュー済み","なし","全タスクがOperationCanceledExceptionで失敗","高","全タスクの失敗"
"23","UT-FRD-023","src/Avalonia.FreeDesktop/DBusCallQueue.cs","DBusCallQueue","FailAll","境界値","キューが空の場合","キューが空","なし","何も起こらない","低","空キューの処理"
"24","UT-FRD-024","src/Avalonia.FreeDesktop/DBusSystemDialog.cs","DBusSystemDialog","TryCreateAsync","正常系","DBusSystemDialogインスタンスを作成すること","DBus接続が利用可能でFileChooserポータルが存在","有効なIPlatformHandle","DBusSystemDialogが返される","高","ダイアログ生成"
"25","UT-FRD-025","src/Avalonia.FreeDesktop/DBusSystemDialog.cs","DBusSystemDialog","TryCreateAsync","異常系","DBus接続がない場合","DBusHelper.DefaultConnectionがnull","有効なIPlatformHandle","nullが返される","高","接続なし時の処理"
"26","UT-FRD-026","src/Avalonia.FreeDesktop/DBusSystemDialog.cs","DBusSystemDialog","TryCreateAsync","異常系","FileChooserポータルが利用不可の場合","バージョン取得で例外発生","有効なIPlatformHandle","nullが返される","中","ポータル不可時の処理"
"27","UT-FRD-027","src/Avalonia.FreeDesktop/DBusSystemDialog.cs","DBusSystemDialog","CanOpen","正常系","常にtrueを返すこと","インスタンス生成済み","なし","true","低","プロパティ確認"
"28","UT-FRD-028","src/Avalonia.FreeDesktop/DBusSystemDialog.cs","DBusSystemDialog","CanSave","正常系","常にtrueを返すこと","インスタンス生成済み","なし","true","低","プロパティ確認"
"29","UT-FRD-029","src/Avalonia.FreeDesktop/DBusSystemDialog.cs","DBusSystemDialog","CanPickFolder","正常系","バージョン3以上でtrueを返すこと","version >= 3","なし","true","中","バージョン依存機能"
"30","UT-FRD-030","src/Avalonia.FreeDesktop/DBusSystemDialog.cs","DBusSystemDialog","CanPickFolder","境界値","バージョン3未満でfalseを返すこと","version < 3","なし","false","中","バージョン境界"
"31","UT-FRD-031","src/Avalonia.FreeDesktop/DBusSystemDialog.cs","DBusSystemDialog","OpenFilePickerAsync","正常系","ファイル選択ダイアログでファイルを選択できること","ダイアログが正常に表示される","有効なFilePickerOpenOptions","選択されたファイルのリストが返される","高","ファイル選択"
"32","UT-FRD-032","src/Avalonia.FreeDesktop/DBusSystemDialog.cs","DBusSystemDialog","OpenFilePickerAsync","正常系","複数ファイル選択が有効な場合","AllowMultiple=true","複数ファイルを選択","複数のIStorageFileが返される","高","複数ファイル選択"
"33","UT-FRD-033","src/Avalonia.FreeDesktop/DBusSystemDialog.cs","DBusSystemDialog","OpenFilePickerAsync","境界値","ファイルが選択されなかった場合","ユーザーがキャンセル","なし","空のリストが返される","中","選択なし"
"34","UT-FRD-034","src/Avalonia.FreeDesktop/DBusSystemDialog.cs","DBusSystemDialog","SaveFilePickerAsync","正常系","ファイル保存ダイアログでファイルパスを取得できること","ダイアログが正常に表示される","有効なFilePickerSaveOptions","保存先のIStorageFileが返される","高","ファイル保存"
"35","UT-FRD-035","src/Avalonia.FreeDesktop/DBusSystemDialog.cs","DBusSystemDialog","SaveFilePickerAsync","境界値","保存がキャンセルされた場合","ユーザーがキャンセル","なし","nullが返される","中","保存キャンセル"
"36","UT-FRD-036","src/Avalonia.FreeDesktop/DBusSystemDialog.cs","DBusSystemDialog","SaveFilePickerWithResultAsync","正常系","選択されたファイルタイプ情報も取得できること","ダイアログが正常に表示される","有効なFilePickerSaveOptions","SaveFilePickerResultが返される","高","ファイルタイプ付き保存"
"37","UT-FRD-037","src/Avalonia.FreeDesktop/DBusSystemDialog.cs","DBusSystemDialog","OpenFolderPickerAsync","正常系","フォルダ選択ダイアログでフォルダを選択できること","version >= 3","有効なFolderPickerOpenOptions","選択されたフォルダのリストが返される","高","フォルダ選択"
"38","UT-FRD-038","src/Avalonia.FreeDesktop/DBusSystemDialog.cs","DBusSystemDialog","OpenFolderPickerAsync","境界値","バージョン3未満で呼び出した場合","version < 3","有効なFolderPickerOpenOptions","空のリストが返される","中","非対応バージョン"
"39","UT-FRD-039","src/Avalonia.FreeDesktop/DBusSystemDialog.cs","DBusSystemDialog","TryParseFilters","正常系","FilePickerFileTypeをDBus形式に変換すること","なし","有効なFilePickerFileTypeリスト","VariantValueとcurrentFilterが設定される","中","フィルター変換"
"40","UT-FRD-040","src/Avalonia.FreeDesktop/DBusSystemDialog.cs","DBusSystemDialog","TryParseFilters","異常系","fileTypesがnullの場合","なし","null","falseが返される","中","null入力処理"
"41","UT-FRD-041","src/Avalonia.FreeDesktop/DBusPlatformSettings.cs","DBusPlatformSettings","コンストラクタ","正常系","設定プロキシを初期化すること","DBus接続が利用可能","なし","OrgFreedesktopPortalSettingsProxyが初期化される","高","設定初期化"
"42","UT-FRD-042","src/Avalonia.FreeDesktop/DBusPlatformSettings.cs","DBusPlatformSettings","コンストラクタ","異常系","DBus接続がない場合","DBusHelper.DefaultConnectionがnull","なし","_settingsがnullのまま","中","接続なし時の処理"
"43","UT-FRD-043","src/Avalonia.FreeDesktop/DBusPlatformSettings.cs","DBusPlatformSettings","GetColorValues","正常系","キャッシュされた色設定を返すこと","_lastColorValuesが設定済み","なし","_lastColorValuesが返される","高","色設定取得"
"44","UT-FRD-044","src/Avalonia.FreeDesktop/DBusPlatformSettings.cs","DBusPlatformSettings","GetColorValues","異常系","キャッシュがない場合","_lastColorValuesがnull","なし","基底クラスのGetColorValuesが返される","中","フォールバック処理"
"45","UT-FRD-045","src/Avalonia.FreeDesktop/DBusPlatformSettings.cs","DBusPlatformSettings","ToColorScheme","正常系","値1でDarkテーマを返すこと","なし","value=1","PlatformThemeVariant.Dark","高","ダークテーマ変換"
"46","UT-FRD-046","src/Avalonia.FreeDesktop/DBusPlatformSettings.cs","DBusPlatformSettings","ToColorScheme","正常系","値0でLightテーマを返すこと","なし","value=0","PlatformThemeVariant.Light","高","ライトテーマ変換"
"47","UT-FRD-047","src/Avalonia.FreeDesktop/DBusPlatformSettings.cs","DBusPlatformSettings","ToColorScheme","正常系","値2でLightテーマを返すこと","なし","value=2","PlatformThemeVariant.Light","中","プリファレンスLight"
"48","UT-FRD-048","src/Avalonia.FreeDesktop/DBusPlatformSettings.cs","DBusPlatformSettings","ToAccentColor","正常系","有効なRGB値からColorを生成すること","なし","r=0.5, g=0.5, b=0.5","Color.FromRgb(127, 127, 127)","高","アクセント色変換"
"49","UT-FRD-049","src/Avalonia.FreeDesktop/DBusPlatformSettings.cs","DBusPlatformSettings","ToAccentColor","境界値","RGB値が0の場合","なし","r=0, g=0, b=0","Color.FromRgb(0, 0, 0)","中","最小値境界"
"50","UT-FRD-050","src/Avalonia.FreeDesktop/DBusPlatformSettings.cs","DBusPlatformSettings","ToAccentColor","境界値","RGB値が1の場合","なし","r=1, g=1, b=1","Color.FromRgb(255, 255, 255)","中","最大値境界"
"51","UT-FRD-051","src/Avalonia.FreeDesktop/DBusPlatformSettings.cs","DBusPlatformSettings","ToAccentColor","異常系","RGB値が範囲外の場合（負の値）","なし","r=-0.1, g=0.5, b=0.5","nullが返される","高","範囲外値処理"
"52","UT-FRD-052","src/Avalonia.FreeDesktop/DBusPlatformSettings.cs","DBusPlatformSettings","ToAccentColor","異常系","RGB値が範囲外の場合（1より大きい）","なし","r=1.1, g=0.5, b=0.5","nullが返される","高","範囲外値処理"
"53","UT-FRD-053","src/Avalonia.FreeDesktop/DBusPlatformSettings.cs","DBusPlatformSettings","SettingsChangedHandler","正常系","color-scheme変更時にテーマが更新されること","設定監視中","color-scheme=1","_themeVariantがDarkに更新される","高","テーマ変更通知"
"54","UT-FRD-054","src/Avalonia.FreeDesktop/DBusPlatformSettings.cs","DBusPlatformSettings","SettingsChangedHandler","正常系","accent-color変更時にアクセント色が更新されること","設定監視中","有効なaccent-color","_accentColorが更新される","高","アクセント色変更通知"
"55","UT-FRD-055","src/Avalonia.FreeDesktop/DBusPlatformSettings.cs","DBusPlatformSettings","SettingsChangedHandler","異常系","例外が発生した場合","設定監視中","exception!=null","何も起こらない","中","例外無視"
"56","UT-FRD-056","src/Avalonia.FreeDesktop/DBusMenuExporter.cs","DBusMenuExporter","TryCreateTopLevelNativeMenu","正常系","トップレベルメニューエクスポーターを作成すること","DBus接続が利用可能","有効なxid","ITopLevelNativeMenuExporterが返される","高","メニュー生成"
"57","UT-FRD-057","src/Avalonia.FreeDesktop/DBusMenuExporter.cs","DBusMenuExporter","TryCreateTopLevelNativeMenu","異常系","DBus接続がない場合","DBusHelper.DefaultConnectionがnull","有効なxid","nullが返される","中","接続なし時の処理"
"58","UT-FRD-058","src/Avalonia.FreeDesktop/DBusMenuExporter.cs","DBusMenuExporter","TryCreateDetachedNativeMenu","正常系","デタッチドメニューエクスポーターを作成すること","有効なConnection","path, connection","INativeMenuExporterが返される","高","デタッチドメニュー生成"
"59","UT-FRD-059","src/Avalonia.FreeDesktop/DBusMenuExporter.cs","DBusMenuExporter","GenerateDBusMenuObjPath","正常系","一意のパスを生成すること","なし","なし","/net/avaloniaui/dbusmenu/で始まるGUID付きパス","中","パス生成"
"60","UT-FRD-060","src/Avalonia.FreeDesktop/DBusMenuExporter.cs","DBusMenuExporterImpl","SetNativeMenu","正常系","メニューを設定しレイアウトをリセットすること","インスタンス生成済み","有効なNativeMenu","メニューが設定され、CollectionChanged購読開始","高","メニュー設定"
"61","UT-FRD-061","src/Avalonia.FreeDesktop/DBusMenuExporter.cs","DBusMenuExporterImpl","SetNativeMenu","異常系","nullメニューの場合","インスタンス生成済み","null","空のNativeMenuが設定される","中","null処理"
"62","UT-FRD-062","src/Avalonia.FreeDesktop/DBusMenuExporter.cs","DBusMenuExporterImpl","OnGetLayoutAsync","正常系","メニューレイアウトを返すこと","メニューが設定済み","parentId=0, recursionDepth=-1","(revision, layout)タプルが返される","高","レイアウト取得"
"63","UT-FRD-063","src/Avalonia.FreeDesktop/DBusMenuExporter.cs","DBusMenuExporterImpl","OnEventAsync","正常系","clickedイベントでメニュー項目がクリックされること","メニュー項目が存在","id, eventId=""clicked""","RaiseClickedが呼び出される","高","クリックイベント"
"64","UT-FRD-064","src/Avalonia.FreeDesktop/DBusMenuExporter.cs","DBusMenuExporterImpl","GetProperty","正常系","セパレーターのtypeプロパティを返すこと","NativeMenuItemSeparatorが存在","name=""type""","\"separator\"が返される","中","プロパティ取得"
"65","UT-FRD-065","src/Avalonia.FreeDesktop/DBusMenuExporter.cs","DBusMenuExporterImpl","GetProperty","正常系","メニュー項目のlabelプロパティを返すこと","NativeMenuItemが存在","name=""label""","Headerが返される","中","ラベル取得"
"66","UT-FRD-066","src/Avalonia.FreeDesktop/DBusMenuExporter.cs","DBusMenuExporterImpl","GetProperty","正常系","キーボードショートカットを返すこと","Gestureが設定済み","name=""shortcut""","ショートカット配列が返される","中","ショートカット取得"
"67","UT-FRD-067","src/Avalonia.FreeDesktop/DBusMenuExporter.cs","DBusMenuExporterImpl","Dispose","正常系","リソースが解放されること","インスタンス生成済み","なし","登録解除が行われる","高","リソース解放"
"68","UT-FRD-068","src/Avalonia.FreeDesktop/DBusMenuExporter.cs","DBusMenuExporterImpl","Dispose","状態","二重Disposeで例外が発生しないこと","既にDispose済み","なし","何も起こらない","中","冪等性確認"
"69","UT-FRD-069","src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs","DBusTrayIconImpl","コンストラクタ","正常系","トレイアイコンを初期化すること","DBus接続が利用可能","なし","IsActive=true, MenuExporterが設定される","高","トレイアイコン初期化"
"70","UT-FRD-070","src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs","DBusTrayIconImpl","コンストラクタ","異常系","DBus接続がない場合","TryCreateNewConnectionがnull","なし","IsActive=false","中","接続なし時の処理"
"71","UT-FRD-071","src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs","DBusTrayIconImpl","SetIcon","正常系","アイコンを設定すること","インスタンス生成済み、IconConverterDelegate設定済み","有効なIWindowIconImpl","_iconが更新される","高","アイコン設定"
"72","UT-FRD-072","src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs","DBusTrayIconImpl","SetIcon","異常系","iconがnullの場合","インスタンス生成済み","null","EmptyPixmapが設定される","中","null処理"
"73","UT-FRD-073","src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs","DBusTrayIconImpl","SetIcon","異常系","IconConverterDelegateがnullの場合","インスタンス生成済み","有効なicon","何も起こらない","中","デリゲートなし"
"74","UT-FRD-074","src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs","DBusTrayIconImpl","SetIsVisible","正常系","表示状態をtrueに設定すること","_isVisible=false, サービス接続済み","visible=true","トレイアイコンが再作成される","高","表示切替"
"75","UT-FRD-075","src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs","DBusTrayIconImpl","SetIsVisible","正常系","表示状態をfalseに設定すること","_isVisible=true, サービス接続済み","visible=false","トレイアイコンが破棄される","高","非表示切替"
"76","UT-FRD-076","src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs","DBusTrayIconImpl","SetToolTipText","正常系","ツールチップテキストを設定すること","インスタンス生成済み","text=""Test""","_tooltipTextが更新される","中","ツールチップ設定"
"77","UT-FRD-077","src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs","DBusTrayIconImpl","SetToolTipText","異常系","textがnullの場合","インスタンス生成済み","null","何も起こらない","低","null処理"
"78","UT-FRD-078","src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs","DBusTrayIconImpl","Dispose","正常系","リソースが解放されること","インスタンス生成済み","なし","IsActive=false, 各リソースがDispose","高","リソース解放"
"79","UT-FRD-079","src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs","StatusNotifierItemDbusObj","SetIcon","正常系","IconPixmapを設定し通知を発行すること","オブジェクト生成済み","有効なdbusPixmap","IconPixmapが更新され、InvalidateAllが呼ばれる","高","アイコン設定"
"80","UT-FRD-080","src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs","StatusNotifierItemDbusObj","SetTitleAndTooltip","正常系","タイトルとツールチップを設定すること","オブジェクト生成済み","text=""Test""","Id, Category, Status, Titleが設定される","中","タイトル設定"
"81","UT-FRD-081","src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs","StatusNotifierItemDbusObj","SetTitleAndTooltip","異常系","textがnullの場合","オブジェクト生成済み","null","何も起こらない","低","null処理"
"82","UT-FRD-082","src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs","StatusNotifierItemDbusObj","OnActivateAsync","正常系","ActivationDelegateが呼び出されること","デリゲート登録済み","x=0, y=0","ActivationDelegateが発火する","高","アクティベーション"
"83","UT-FRD-083","src/Avalonia.FreeDesktop/NativeMethods.cs","NativeMethods","ReadLink","正常系","シンボリックリンクのターゲットを読み取ること","有効なシンボリックリンク","有効なpath","ターゲットパスが返される","高","シンボリックリンク解決"
"84","UT-FRD-084","src/Avalonia.FreeDesktop/NativeMethods.cs","NativeMethods","ReadLink","異常系","存在しないパスの場合","なし","存在しないpath","空文字列または例外","中","不正パス処理"
"85","UT-FRD-085","src/Avalonia.FreeDesktop/NativeMethods.cs","NativeMethods","ReadLink","正常系","ArrayPoolのバッファが正しく返却されること","有効なシンボリックリンク","有効なpath","処理後にArrayPoolにバッファが返却","中","リソース管理"
"86","UT-FRD-086","src/Avalonia.FreeDesktop/DBusIme/X11DBusImeHelper.cs","X11DBusImeHelper","DetectAndRegister","正常系","fcitx IMEが検出され登録されること","AVALONIA_IM_MODULE=""fcitx""","なし","FcitxX11TextInputMethodがAvaloniaLocatorに登録","高","fcitx検出"
"87","UT-FRD-087","src/Avalonia.FreeDesktop/DBusIme/X11DBusImeHelper.cs","X11DBusImeHelper","DetectAndRegister","正常系","ibus IMEが検出され登録されること","GTK_IM_MODULE=""ibus""","なし","IBusX11TextInputMethodがAvaloniaLocatorに登録","高","ibus検出"
"88","UT-FRD-088","src/Avalonia.FreeDesktop/DBusIme/X11DBusImeHelper.cs","X11DBusImeHelper","DetectAndRegister","異常系","IMEが""none""の場合","AVALONIA_IM_MODULE=""none""","なし","falseが返される","中","IME無効化"
"89","UT-FRD-089","src/Avalonia.FreeDesktop/DBusIme/X11DBusImeHelper.cs","X11DBusImeHelper","DetectAndRegister","正常系","XMODIFIERSから@im=でIMEを検出すること","XMODIFIERS=""@im=fcitx""","なし","FcitxX11TextInputMethodが登録される","中","XMODIFIERS検出"
"90","UT-FRD-090","src/Avalonia.FreeDesktop/DBusIme/X11DBusImeHelper.cs","X11DBusImeHelper","DetectAndRegister","異常系","DBus接続がない場合","有効なIM_MODULE、DBus接続なし","なし","falseが返される","中","接続なし時の処理"
"91","UT-FRD-091","src/Avalonia.FreeDesktop/DBusIme/DBusTextInputMethodBase.cs","DBusInputMethodFactory<T>","CreateClient","正常系","IMEクライアントを生成すること","ファクトリが初期化済み","有効なxid","(method, control)タプルが返される","高","クライアント生成"
"92","UT-FRD-092","src/Avalonia.FreeDesktop/DBusIme/DBusTextInputMethodBase.cs","DBusTextInputMethodBase","コンストラクタ","正常系","接続とknownNamesを設定すること","有効なConnection","connection, knownNames","DBusCallQueueが初期化、WatchAsyncが開始","高","基底クラス初期化"
"93","UT-FRD-093","src/Avalonia.FreeDesktop/DBusIme/DBusTextInputMethodBase.cs","DBusTextInputMethodBase","IsActive","正常系","クライアントが設定されている場合trueを返すこと","_client!=null","なし","true","中","アクティブ状態確認"
"94","UT-FRD-094","src/Avalonia.FreeDesktop/DBusIme/DBusTextInputMethodBase.cs","DBusTextInputMethodBase","SetClient","正常系","クライアントを設定し状態を更新すること","インスタンス生成済み","有効なTextInputMethodClient","_clientが設定、UpdateActiveが呼ばれる","高","クライアント設定"
"95","UT-FRD-095","src/Avalonia.FreeDesktop/DBusIme/DBusTextInputMethodBase.cs","DBusTextInputMethodBase","SetWindowActive","正常系","ウィンドウのアクティブ状態を設定すること","インスタンス生成済み","active=true","_windowActiveがtrue、UpdateActiveが呼ばれる","高","ウィンドウアクティブ設定"
"96","UT-FRD-096","src/Avalonia.FreeDesktop/DBusIme/DBusTextInputMethodBase.cs","DBusTextInputMethodBase","HandleEventAsync","正常系","キーイベントを処理すること","接続済み","有効なRawKeyEventArgs, keyVal, keyCode","boolが返される","高","キーイベント処理"
"97","UT-FRD-097","src/Avalonia.FreeDesktop/DBusIme/DBusTextInputMethodBase.cs","DBusTextInputMethodBase","HandleEventAsync","異常系","OperationCanceledExceptionの場合","切断状態","有効なargs","falseが返される","中","キャンセル処理"
"98","UT-FRD-098","src/Avalonia.FreeDesktop/DBusIme/DBusTextInputMethodBase.cs","DBusTextInputMethodBase","SetCursorRect","正常系","カーソル位置を設定すること","インスタンス生成済み","有効なRect","_logicalRectが更新、UpdateCursorRectが呼ばれる","中","カーソル位置設定"
"99","UT-FRD-099","src/Avalonia.FreeDesktop/DBusIme/DBusTextInputMethodBase.cs","DBusTextInputMethodBase","UpdateWindowInfo","正常系","ウィンドウ情報を更新すること","インスタンス生成済み","position, scaling","_windowPosition, _scalingが更新","中","ウィンドウ情報更新"
"100","UT-FRD-100","src/Avalonia.FreeDesktop/DBusIme/DBusTextInputMethodBase.cs","DBusTextInputMethodBase","Dispose","正常系","リソースを解放すること","接続済み","なし","DisconnectAsyncが呼ばれ、_currentNameがnull","高","リソース解放"
"101","UT-FRD-101","src/Avalonia.FreeDesktop/DBusIme/DBusTextInputMethodBase.cs","DBusTextInputMethodBase","Reset","正常系","状態をリセットすること","接続済み","なし","_lastReportedRect, _imeActiveがリセット","中","状態リセット"
"102","UT-FRD-102","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxICWrapper.cs","FcitxICWrapper","FocusInAsync","正常系","フォーカスインを通知すること","プロキシが設定済み","なし","対応するプロキシのFocusInAsyncが呼ばれる","高","フォーカスイン"
"103","UT-FRD-103","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxICWrapper.cs","FcitxICWrapper","FocusOutAsync","正常系","フォーカスアウトを通知すること","プロキシが設定済み","なし","対応するプロキシのFocusOutAsyncが呼ばれる","高","フォーカスアウト"
"104","UT-FRD-104","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxICWrapper.cs","FcitxICWrapper","ResetAsync","正常系","コンテキストをリセットすること","プロキシが設定済み","なし","対応するプロキシのResetAsyncが呼ばれる","中","リセット"
"105","UT-FRD-105","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxICWrapper.cs","FcitxICWrapper","SetCursorRectAsync","正常系","カーソル位置を設定すること","プロキシが設定済み","x, y, w, h","対応するプロキシのSetCursorRectAsyncが呼ばれる","中","カーソル位置設定"
"106","UT-FRD-106","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxICWrapper.cs","FcitxICWrapper","ProcessKeyEventAsync","正常系","キーイベントを処理すること（old）","_oldが設定済み","keyVal, keyCode, state, type, time","処理結果のboolが返される","高","キー処理（旧API）"
"107","UT-FRD-107","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxICWrapper.cs","FcitxICWrapper","ProcessKeyEventAsync","正常系","キーイベントを処理すること（modern）","_modernが設定済み","keyVal, keyCode, state, type, time","処理結果のboolが返される","高","キー処理（新API）"
"108","UT-FRD-108","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxICWrapper.cs","FcitxICWrapper","DestroyICAsync","正常系","入力コンテキストを破棄すること","プロキシが設定済み","なし","対応するプロキシのDestroyICAsyncが呼ばれる","高","コンテキスト破棄"
"109","UT-FRD-109","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxICWrapper.cs","FcitxICWrapper","SetCapacityAsync","正常系","入力機能フラグを設定すること","プロキシが設定済み","flags","対応するメソッドが呼ばれる","中","機能設定"
"110","UT-FRD-110","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxX11TextInputMethod.cs","FcitxX11TextInputMethod","Connect","正常系","org.fcitx.Fcitxに接続すること","サービスが利用可能","name=""org.fcitx.Fcitx""","trueが返され、_contextが設定される","高","fcitx接続"
"111","UT-FRD-111","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxX11TextInputMethod.cs","FcitxX11TextInputMethod","Connect","正常系","org.freedesktop.portal.Fcitxに接続すること","サービスが利用可能","name=""org.freedesktop.portal.Fcitx""","trueが返され、_contextが設定される","高","fcitx5接続"
"112","UT-FRD-112","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxX11TextInputMethod.cs","FcitxX11TextInputMethod","HandleKeyCore","正常系","キーイベントを処理すること","接続済み","有効なRawKeyEventArgs","boolが返される","高","キー処理"
"113","UT-FRD-113","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxX11TextInputMethod.cs","FcitxX11TextInputMethod","HandleKeyCore","正常系","修飾キーが正しく変換されること","接続済み","Control+Shift+keyVal","FcitxKeyStateが正しく設定される","中","修飾キー変換"
"114","UT-FRD-114","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxX11TextInputMethod.cs","FcitxX11TextInputMethod","SetOptions","正常系","入力オプションを設定すること","接続済み","有効なTextInputOptions","_optionFlagsが更新される","中","オプション設定"
"115","UT-FRD-115","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxX11TextInputMethod.cs","FcitxX11TextInputMethod","SetOptions","正常系","ContentType.Passwordでフラグが設定されること","接続済み","ContentType=Password","CAPACITY_PASSWORDフラグが設定","高","パスワードモード"
"116","UT-FRD-116","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxX11TextInputMethod.cs","FcitxX11TextInputMethod","OnPreedit","正常系","プリエディットテキストが設定されること","Client.SupportsPreedit=true","有効なstr, cursorpos","ClientのSetPreeditTextが呼ばれる","高","プリエディット処理"
"117","UT-FRD-117","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxX11TextInputMethod.cs","FcitxX11TextInputMethod","OnPreedit","境界値","プリエディットが空の場合","Client.SupportsPreedit=true","str=null","SetPreeditTextがnullで呼ばれる","中","空プリエディット"
"118","UT-FRD-118","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxX11TextInputMethod.cs","FcitxX11TextInputMethod","OnCommitString","正常系","コミット文字列がFireCommitで発火すること","接続済み","有効な文字列s","FireCommitが呼ばれる","高","コミット処理"
"119","UT-FRD-119","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxX11TextInputMethod.cs","FcitxX11TextInputMethod","OnCommitString","異常系","例外が発生した場合","接続済み","e!=null","ログ出力のみ、FireCommitは呼ばれない","中","コミットエラー"
"120","UT-FRD-120","src/Avalonia.FreeDesktop/DBusIme/Fcitx/FcitxX11TextInputMethod.cs","FcitxX11TextInputMethod","OnForward","正常系","キー転送イベントがFireForwardで発火すること","接続済み","keyval, state, type","FireForwardが呼ばれる","中","キー転送"
"121","UT-FRD-121","src/Avalonia.FreeDesktop/DBusIme/IBus/IBusX11TextInputMethod.cs","IBusX11TextInputMethod","Connect","正常系","IBusポータルに接続すること","サービスが利用可能","name=""org.freedesktop.portal.IBus""","trueが返され、_contextが設定される","高","ibus接続"
"122","UT-FRD-122","src/Avalonia.FreeDesktop/DBusIme/IBus/IBusX11TextInputMethod.cs","IBusX11TextInputMethod","HandleKeyCore","正常系","キーイベントを処理すること","接続済み","有効なRawKeyEventArgs","boolが返される","高","キー処理"
"123","UT-FRD-123","src/Avalonia.FreeDesktop/DBusIme/IBus/IBusX11TextInputMethod.cs","IBusX11TextInputMethod","HandleKeyCore","正常系","KeyUp時にReleaseMaskが設定されること","接続済み","Type=KeyUp","IBusModifierMask.ReleaseMaskが設定される","中","KeyUp処理"
"124","UT-FRD-124","src/Avalonia.FreeDesktop/DBusIme/IBus/IBusX11TextInputMethod.cs","IBusX11TextInputMethod","OnCommitText","正常系","コミットテキストがFireCommitで発火すること","接続済み、_insideReset=0","有効なVariantValue","FireCommitが呼ばれる","高","コミット処理"
"125","UT-FRD-125","src/Avalonia.FreeDesktop/DBusIme/IBus/IBusX11TextInputMethod.cs","IBusX11TextInputMethod","OnCommitText","状態","リセット中はコミットが無視されること","_insideReset>0","有効なVariantValue","FireCommitが呼ばれない","高","リセット中の処理"
"126","UT-FRD-126","src/Avalonia.FreeDesktop/DBusIme/IBus/IBusX11TextInputMethod.cs","IBusX11TextInputMethod","OnUpdatePreedit","正常系","プリエディットテキストが更新されること","Client.SupportsPreedit=true","有効なText, CursorPos","SetPreeditTextが呼ばれる","高","プリエディット更新"
"127","UT-FRD-127","src/Avalonia.FreeDesktop/DBusIme/IBus/IBusX11TextInputMethod.cs","IBusX11TextInputMethod","OnHidePreedit","正常系","プリエディットが非表示になること","Client.SupportsPreedit=true, _preeditText!=\""""","なし","SetPreeditTextが空文字で呼ばれる","中","プリエディット非表示"
"128","UT-FRD-128","src/Avalonia.FreeDesktop/DBusIme/IBus/IBusX11TextInputMethod.cs","IBusX11TextInputMethod","OnHidePreedit","境界値","既にプリエディットが空の場合","_preeditText=\""""","なし","何も起こらない","低","空プリエディット"
"129","UT-FRD-129","src/Avalonia.FreeDesktop/DBusIme/IBus/IBusX11TextInputMethod.cs","IBusX11TextInputMethod","ResetContextCore","正常系","コンテキストをリセットすること","_context!=null","なし","_context.ResetAsyncが呼ばれる","中","リセット"
"130","UT-FRD-130","src/Avalonia.FreeDesktop/DBusIme/IBus/IBusX11TextInputMethod.cs","IBusX11TextInputMethod","ResetContextCore","状態","_insideResetがインクリメント/デクリメントされること","_context!=null","なし","処理前後で_insideResetが正しく管理される","中","リセットカウンタ"
"131","UT-FRD-131","src/Avalonia.FreeDesktop/DBusIme/IBus/IBusX11TextInputMethod.cs","IBusX11TextInputMethod","SetCapabilitiesCore","正常系","プリエディットサポートでフラグが設定されること","_context!=null","supportsPreedit=true","CapPreeditTextフラグが設定される","中","機能設定"
"132","UT-FRD-132","src/Avalonia.FreeDesktop/DBusIme/IBus/IBusX11TextInputMethod.cs","IBusX11TextInputMethod","OnForwardKey","正常系","転送キーイベントがFireForwardで発火すること","接続済み","有効なkeyval, keycode, state","FireForwardが呼ばれる","中","キー転送"
"133","UT-FRD-133","src/Avalonia.FreeDesktop/DBusIme/IBus/IBusX11TextInputMethod.cs","IBusX11TextInputMethod","OnForwardKey","異常系","例外が発生した場合","接続済み","e!=null","ログ出力のみ、FireForwardは呼ばれない","中","転送エラー"
"1","UT-GEN-001","src/tools/Avalonia.Generators/Common/GlobPattern.cs","GlobPattern","コンストラクタ","正常系","ワイルドカードパターンが正しく正規表現に変換されること","なし","pattern=""*""","正規表現 ""^.*$"" が生成される","高","パターンマッチングの基本機能"
"2","UT-GEN-002","src/tools/Avalonia.Generators/Common/GlobPattern.cs","GlobPattern","コンストラクタ","正常系","疑問符パターンが正しく正規表現に変換されること","なし","pattern=""?.cs""","正規表現 ""^.\.cs$"" が生成される","高","単一文字マッチング"
"3","UT-GEN-003","src/tools/Avalonia.Generators/Common/GlobPattern.cs","GlobPattern","Matches","正常系","ワイルドカードパターンが任意の文字列にマッチすること","GlobPattern(""*"")が初期化済み","str=""test.xaml""","trueが返却される","高","基本的なマッチング"
"4","UT-GEN-004","src/tools/Avalonia.Generators/Common/GlobPattern.cs","GlobPattern","Matches","正常系","拡張子パターンが正しくマッチすること","GlobPattern(""*.xaml"")が初期化済み","str=""MainWindow.xaml""","trueが返却される","高","拡張子フィルタリング"
"5","UT-GEN-005","src/tools/Avalonia.Generators/Common/GlobPattern.cs","GlobPattern","Matches","異常系","パターンに一致しない文字列の場合","GlobPattern(""*.xaml"")が初期化済み","str=""test.cs""","falseが返却される","高","不一致ケース"
"6","UT-GEN-006","src/tools/Avalonia.Generators/Common/GlobPattern.cs","GlobPattern","Matches","正常系","大文字小文字を区別しないマッチング","GlobPattern(""*.XAML"")が初期化済み","str=""test.xaml""","trueが返却される","中","IgnoreCase確認"
"7","UT-GEN-007","src/tools/Avalonia.Generators/Common/GlobPattern.cs","GlobPattern","Equals","正常系","同じパターンのGlobPatternが等しいこと","なし","pattern1=""*.xaml"", pattern2=""*.xaml""","trueが返却される","中","等価性チェック"
"8","UT-GEN-008","src/tools/Avalonia.Generators/Common/GlobPattern.cs","GlobPattern","Equals","正常系","異なるパターンのGlobPatternが等しくないこと","なし","pattern1=""*.xaml"", pattern2=""*.cs""","falseが返却される","中","非等価性チェック"
"9","UT-GEN-009","src/tools/Avalonia.Generators/Common/GlobPattern.cs","GlobPattern","GetHashCode","正常系","同じパターンで同じハッシュコードが返却されること","なし","pattern=""*.xaml""","同一のハッシュコードが返却される","低","ハッシュコード一貫性"
"10","UT-GEN-010","src/tools/Avalonia.Generators/Common/GlobPatternGroup.cs","GlobPatternGroup","コンストラクタ","正常系","複数パターンからGlobPatternGroupが生成されること","なし","patterns=[""*.xaml"", ""*.axaml""]","2つのGlobPatternを含むグループが生成される","高","グループ初期化"
"11","UT-GEN-011","src/tools/Avalonia.Generators/Common/GlobPatternGroup.cs","GlobPatternGroup","Matches","正常系","いずれかのパターンにマッチした場合trueが返ること","GlobPatternGroup初期化済み","patterns=[""*.xaml"", ""*.cs""], str=""test.xaml""","trueが返却される","高","OR条件マッチング"
"12","UT-GEN-012","src/tools/Avalonia.Generators/Common/GlobPatternGroup.cs","GlobPatternGroup","Matches","正常系","どのパターンにもマッチしない場合falseが返ること","GlobPatternGroup初期化済み","patterns=[""*.xaml"", ""*.axaml""], str=""test.cs""","falseが返却される","高","不一致ケース"
"13","UT-GEN-013","src/tools/Avalonia.Generators/Common/GlobPatternGroup.cs","GlobPatternGroup","Matches","境界値","空のパターングループの場合","GlobPatternGroup初期化済み","patterns=[], str=""test.xaml""","falseが返却される","中","空グループ"
"14","UT-GEN-014","src/tools/Avalonia.Generators/Common/GlobPatternGroup.cs","GlobPatternGroup","Equals","正常系","同じパターングループが等しいこと","なし","2つの同一パターングループ","trueが返却される","中","等価性チェック"
"15","UT-GEN-015","src/tools/Avalonia.Generators/Common/EquatableList.cs","EquatableList<T>","Equals","正常系","同じ要素を持つリストが等しいこと","なし","list1=[1,2,3], list2=[1,2,3]","trueが返却される","高","等価性チェック"
"16","UT-GEN-016","src/tools/Avalonia.Generators/Common/EquatableList.cs","EquatableList<T>","Equals","正常系","異なる要素を持つリストが等しくないこと","なし","list1=[1,2,3], list2=[1,2,4]","falseが返却される","高","非等価性チェック"
"17","UT-GEN-017","src/tools/Avalonia.Generators/Common/EquatableList.cs","EquatableList<T>","Equals","正常系","異なるサイズのリストが等しくないこと","なし","list1=[1,2,3], list2=[1,2]","falseが返却される","高","サイズ不一致"
"18","UT-GEN-018","src/tools/Avalonia.Generators/Common/EquatableList.cs","EquatableList<T>","Equals","異常系","nullとの比較でfalseが返ること","なし","list=[1,2,3], other=null","falseが返却される","中","null比較"
"19","UT-GEN-019","src/tools/Avalonia.Generators/Common/EquatableList.cs","EquatableList<T>","GetHashCode","正常系","同じリストで同じハッシュコードが返ること","なし","list=[1,2,3]","同一のハッシュコードが返却される","中","ハッシュコード一貫性"
"20","UT-GEN-020","src/tools/Avalonia.Generators/Common/EquatableList.cs","EquatableList<T>","operator==","正常系","等価演算子が正しく動作すること","なし","list1=[1,2,3], list2=[1,2,3]","trueが返却される","中","演算子テスト"
"21","UT-GEN-021","src/tools/Avalonia.Generators/Common/EquatableList.cs","EquatableList<T>","operator!=","正常系","不等価演算子が正しく動作すること","なし","list1=[1,2,3], list2=[1,2,4]","trueが返却される","中","演算子テスト"
"22","UT-GEN-022","src/tools/Avalonia.Generators/Common/EquatableList.cs","EquatableList<T>","Empty","正常系","Emptyが空のリストを返すこと","なし","なし","Count=0のリストが返却される","低","定数チェック"
"23","UT-GEN-023","src/tools/Avalonia.Generators/Common/XamlXViewResolver.cs","XamlXViewResolver","ResolveView","正常系","有効なXAMLからクラス情報が解決されること","MiniCompilerが初期化済み","xaml=""<Window x:Class=\"App.MainWindow\".../>""","ResolvedViewDocument(ClassName=""MainWindow"", Namespace=""App"")が返却される","高","基本的なView解決"
"24","UT-GEN-024","src/tools/Avalonia.Generators/Common/XamlXViewResolver.cs","XamlXViewResolver","ResolveView","正常系","ネストした名前空間のクラスが正しく解決されること","MiniCompilerが初期化済み","xaml=""<Window x:Class=\"App.Views.MainWindow\".../>""","ResolvedViewDocument(ClassName=""MainWindow"", Namespace=""App.Views"")が返却される","高","名前空間解決"
"25","UT-GEN-025","src/tools/Avalonia.Generators/Common/XamlXViewResolver.cs","XamlXViewResolver","ResolveView","異常系","x:Classが存在しないXAMLの場合","MiniCompilerが初期化済み","xaml=""<Button Content=\"Test\".../>""","nullが返却される","高","クラス属性なし"
"26","UT-GEN-026","src/tools/Avalonia.Generators/Common/XamlXViewResolver.cs","XamlXViewResolver","ResolveView","異常系","空のXAMLの場合","MiniCompilerが初期化済み","xaml=""""","例外がスローされるかnullが返却される","中","空入力"
"27","UT-GEN-027","src/tools/Avalonia.Generators/Common/XamlXViewResolver.cs","XamlXViewResolver","ResolveView","異常系","不正なXML形式の場合","MiniCompilerが初期化済み","xaml=""<Window><""","XmlExceptionがスローされる","中","不正XML"
"28","UT-GEN-028","src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs","XamlXNameResolver","ResolveXmlNames","正常系","名前付き要素が正しく解決されること","XamlDocumentが有効","Name=""MyButton""を持つButton要素","ResolvedXmlNameリストに要素が含まれる","高","名前解決基本"
"29","UT-GEN-029","src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs","XamlXNameResolver","ResolveXmlNames","正常系","複数の名前付き要素が解決されること","XamlDocumentが有効","Name=""Btn1"", Name=""Txt1""を持つ要素","2つのResolvedXmlNameが含まれる","高","複数要素解決"
"30","UT-GEN-030","src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs","XamlXNameResolver","ResolveXmlNames","正常系","名前付き要素がない場合空リストが返ること","XamlDocumentが有効","Name属性を持たない要素のみ","空のEquatableListが返却される","中","名前なし"
"31","UT-GEN-031","src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs","XamlXNameResolver","ResolveXmlNames","境界値","重複する名前がある場合最初の要素のみ保持されること","XamlDocumentが有効","同じName=""Duplicate""を持つ2要素","1つのResolvedXmlNameのみ含まれる","高","重複名処理"
"32","UT-GEN-032","src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs","XamlXNameResolver","ResolveName","正常系","CLR型から完全修飾型名が生成されること","なし","clrType=Button, name=""MyButton""","ResolvedName(TypeName=""global::Avalonia.Controls.Button"", Name=""MyButton"")","高","型名解決"
"33","UT-GEN-033","src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs","XamlXNameResolver","ResolveName","正常系","ジェネリック型の完全修飾型名が生成されること","なし","clrType=List<String>, name=""Items""","ResolvedName(TypeName=""global::System.Collections.Generic.List<global::System.String>"", ...)","高","ジェネリック型解決"
"34","UT-GEN-034","src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs","XamlXNameResolver","ResolveName","正常系","フィールド修飾子が正しく設定されること","なし","clrType=Button, name=""Btn"", fieldModifier=""private""","ResolvedName.FieldModifier=""private""","中","修飾子設定"
"35","UT-GEN-035","src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs","XamlXNameResolver","TryGetFieldModifier","正常系","privateが正しく解釈されること","XamlAstObjectNode有効","FieldModifier=""private""","""private""が返却される","中","修飾子解析"
"36","UT-GEN-036","src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs","XamlXNameResolver","TryGetFieldModifier","正常系","publicが正しく解釈されること","XamlAstObjectNode有効","FieldModifier=""public""","""public""が返却される","中","修飾子解析"
"37","UT-GEN-037","src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs","XamlXNameResolver","TryGetFieldModifier","正常系","protectedが正しく解釈されること","XamlAstObjectNode有効","FieldModifier=""protected""","""protected""が返却される","中","修飾子解析"
"38","UT-GEN-038","src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs","XamlXNameResolver","TryGetFieldModifier","正常系","internalが正しく解釈されること","XamlAstObjectNode有効","FieldModifier=""internal""","""internal""が返却される","中","修飾子解析"
"39","UT-GEN-039","src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs","XamlXNameResolver","TryGetFieldModifier","正常系","notpublicがinternalに変換されること","XamlAstObjectNode有効","FieldModifier=""notpublic""","""internal""が返却される","中","WPF互換"
"40","UT-GEN-040","src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs","XamlXNameResolver","TryGetFieldModifier","異常系","不明な修飾子の場合nullが返ること","XamlAstObjectNode有効","FieldModifier=""unknown""","nullが返却される","中","未知修飾子"
"41","UT-GEN-041","src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs","XamlXNameResolver","TryGetFieldModifier","正常系","FieldModifier未指定の場合nullが返ること","XamlAstObjectNode有効","FieldModifier属性なし","nullが返却される","中","デフォルト動作"
"42","UT-GEN-042","src/tools/Avalonia.Generators/Common/ResolverExtensions.cs","ResolverExtensions","IsAvaloniaStyledElement","正常系","StyledElementを継承する型でtrueが返ること","なし","clrType=Button(StyledElement継承)","trueが返却される","高","型チェック"
"43","UT-GEN-043","src/tools/Avalonia.Generators/Common/ResolverExtensions.cs","ResolverExtensions","IsAvaloniaStyledElement","正常系","StyledElementを継承しない型でfalseが返ること","なし","clrType=Object","falseが返却される","高","型チェック"
"44","UT-GEN-044","src/tools/Avalonia.Generators/Common/ResolverExtensions.cs","ResolverExtensions","IsAvaloniaStyledElement","正常系","StyledElement自体でtrueが返ること","なし","clrType=StyledElement","trueが返却される","中","自身との比較"
"45","UT-GEN-045","src/tools/Avalonia.Generators/Common/ResolverExtensions.cs","ResolverExtensions","IsAvaloniaWindow","正常系","Windowを継承する型でtrueが返ること","なし","clrType=MainWindow(Window継承)","trueが返却される","高","Window型チェック"
"46","UT-GEN-046","src/tools/Avalonia.Generators/Common/ResolverExtensions.cs","ResolverExtensions","IsAvaloniaWindow","正常系","Windowを継承しない型でfalseが返ること","なし","clrType=UserControl","falseが返却される","高","Window型チェック"
"47","UT-GEN-047","src/tools/Avalonia.Generators/NameGenerator/OnlyPropertiesCodeGenerator.cs","OnlyPropertiesCodeGenerator","GenerateCode","正常系","プロパティのみのコードが生成されること","なし","className=""MainWindow"", nameSpace=""App"", names=[ResolvedName(""Button"", ""MyBtn"")]","FindNameScope?.Find形式のコードが生成される","高","コード生成基本"
"48","UT-GEN-048","src/tools/Avalonia.Generators/NameGenerator/OnlyPropertiesCodeGenerator.cs","OnlyPropertiesCodeGenerator","GenerateCode","正常系","複数の名前付き要素のプロパティが生成されること","なし","names=[name1, name2, name3]","3つのプロパティを含むコードが生成される","高","複数要素生成"
"49","UT-GEN-049","src/tools/Avalonia.Generators/NameGenerator/OnlyPropertiesCodeGenerator.cs","OnlyPropertiesCodeGenerator","GenerateCode","境界値","空の名前リストの場合","なし","names=[]","プロパティなしのpartialクラスが生成される","中","空リスト"
"50","UT-GEN-050","src/tools/Avalonia.Generators/NameGenerator/OnlyPropertiesCodeGenerator.cs","OnlyPropertiesCodeGenerator","GenerateCode","正常系","デフォルト修飾子がinternalの場合","defaultNamedFieldModifier=Internal","names=[ResolvedName(null修飾子)]","internal修飾子でプロパティが生成される","中","デフォルト修飾子"
"51","UT-GEN-051","src/tools/Avalonia.Generators/NameGenerator/OnlyPropertiesCodeGenerator.cs","OnlyPropertiesCodeGenerator","GenerateCode","正常系","カスタム修飾子が優先されること","なし","names=[ResolvedName(""private""修飾子)]","private修飾子でプロパティが生成される","中","カスタム修飾子"
"52","UT-GEN-052","src/tools/Avalonia.Generators/NameGenerator/OnlyPropertiesCodeGenerator.cs","OnlyPropertiesCodeGenerator","GenerateCode","正常系","GeneratedCodeAttributeが含まれること","なし","任意のnames","[global::System.CodeDom.Compiler.GeneratedCode(...)]が含まれる","中","属性生成"
"53","UT-GEN-053","src/tools/Avalonia.Generators/NameGenerator/InitializeComponentCodeGenerator.cs","InitializeComponentCodeGenerator","GenerateCode","正常系","InitializeComponentメソッドが生成されること","なし","className=""MainWindow"", nameSpace=""App"", names=[...]","InitializeComponentメソッドを含むコードが生成される","高","コード生成基本"
"54","UT-GEN-054","src/tools/Avalonia.Generators/NameGenerator/InitializeComponentCodeGenerator.cs","InitializeComponentCodeGenerator","GenerateCode","正常系","フィールド初期化コードが生成されること","なし","names=[ResolvedName(""Button"", ""MyBtn"")]","MyBtn = __thisNameScope__?.Find<Button>(""MyBtn"");が含まれる","高","フィールド初期化"
"55","UT-GEN-055","src/tools/Avalonia.Generators/NameGenerator/InitializeComponentCodeGenerator.cs","InitializeComponentCodeGenerator","GenerateCode","正常系","AttachDevTools有効時にDevToolsコードが含まれること","avaloniaNameGeneratorAttachDevTools=true","任意のnames","AttachDevToolsコードブロックが含まれる","高","DevTools統合"
"56","UT-GEN-056","src/tools/Avalonia.Generators/NameGenerator/InitializeComponentCodeGenerator.cs","InitializeComponentCodeGenerator","GenerateCode","正常系","AttachDevTools無効時にDevToolsコードが含まれないこと","avaloniaNameGeneratorAttachDevTools=false","任意のnames","AttachDevToolsコードブロックが含まれない","高","DevTools無効化"
"57","UT-GEN-057","src/tools/Avalonia.Generators/NameGenerator/InitializeComponentCodeGenerator.cs","InitializeComponentCodeGenerator","GenerateCode","境界値","空の名前リストの場合","なし","names=[]","フィールド初期化なしのInitializeComponentが生成される","中","空リスト"
"58","UT-GEN-058","src/tools/Avalonia.Generators/NameGenerator/InitializeComponentCodeGenerator.cs","InitializeComponentCodeGenerator","GenerateCode","正常系","AvaloniaXamlLoader.Loadが呼び出されること","なし","任意のnames","AvaloniaXamlLoader.Load(this);が含まれる","高","XAML読み込み"
"59","UT-GEN-059","src/tools/Avalonia.Generators/NameGenerator/InitializeComponentCodeGenerator.cs","InitializeComponentCodeGenerator","GenerateCode","正常系","ExcludeFromCodeCoverageAttributeが含まれること","なし","任意のnames","[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]が含まれる","低","属性生成"
"60","UT-GEN-060","src/tools/Avalonia.Generators/GeneratorOptions.cs","GeneratorOptions","コンストラクタ","正常系","デフォルト値が正しく設定されること","AnalyzerConfigOptionsモック","プロパティ未設定","IsEnabled=true, Behavior=InitializeComponent, FieldModifier=Internal","高","デフォルト設定"
"61","UT-GEN-061","src/tools/Avalonia.Generators/GeneratorOptions.cs","GeneratorOptions","コンストラクタ","正常系","カスタムBehaviorが読み込まれること","AnalyzerConfigOptionsモック","Behavior=""OnlyProperties""","AvaloniaNameGeneratorBehavior=OnlyProperties","高","設定読み込み"
"62","UT-GEN-062","src/tools/Avalonia.Generators/GeneratorOptions.cs","GeneratorOptions","コンストラクタ","正常系","カスタムFieldModifierが読み込まれること","AnalyzerConfigOptionsモック","DefaultFieldModifier=""Private""","AvaloniaNameGeneratorClassFieldModifier=Private","高","設定読み込み"
"63","UT-GEN-063","src/tools/Avalonia.Generators/GeneratorOptions.cs","GeneratorOptions","コンストラクタ","正常系","複数のFilterByPathパターンが読み込まれること","AnalyzerConfigOptionsモック","FilterByPath=""*.xaml;*.axaml""","2つのパターンを含むGlobPatternGroup","高","複数パターン"
"64","UT-GEN-064","src/tools/Avalonia.Generators/GeneratorOptions.cs","GeneratorOptions","コンストラクタ","正常系","IsEnabled=falseが読み込まれること","AnalyzerConfigOptionsモック","IsEnabled=""false""","AvaloniaNameGeneratorIsEnabled=false","中","無効化設定"
"65","UT-GEN-065","src/tools/Avalonia.Generators/GeneratorOptions.cs","GeneratorOptions","コンストラクタ","異常系","不正なEnum値の場合デフォルトが使用されること","AnalyzerConfigOptionsモック","Behavior=""InvalidValue""","AvaloniaNameGeneratorBehavior=InitializeComponent","中","不正値処理"
"66","UT-GEN-066","src/tools/Avalonia.Generators/GeneratorExtensions.cs","GeneratorExtensions","GetMsBuildProperty","正常系","存在するプロパティが取得されること","AnalyzerConfigOptionsモック","name=""TestProperty"", 値=""TestValue""","""TestValue""が返却される","高","プロパティ取得"
"67","UT-GEN-067","src/tools/Avalonia.Generators/GeneratorExtensions.cs","GeneratorExtensions","GetMsBuildProperty","正常系","存在しないプロパティでデフォルト値が返ること","AnalyzerConfigOptionsモック","name=""NonExistent"", defaultValue=""Default""","""Default""が返却される","高","デフォルト値"
"68","UT-GEN-068","src/tools/Avalonia.Generators/GeneratorExtensions.cs","GeneratorExtensions","GetMsBuildProperty","正常系","デフォルト値未指定で空文字が返ること","AnalyzerConfigOptionsモック","name=""NonExistent""","""""が返却される","中","空デフォルト"
"69","UT-GEN-069","src/tools/Avalonia.Generators/Compiler/MiniCompiler.cs","MiniCompiler","CreateNoop","正常系","NoopTypeSystemでMiniCompilerが生成されること","なし","なし","MiniCompilerインスタンスが返却される","高","Noop初期化"
"70","UT-GEN-070","src/tools/Avalonia.Generators/Compiler/MiniCompiler.cs","MiniCompiler","CreateRoslyn","正常系","RoslynTypeSystemでMiniCompilerが生成されること","RoslynTypeSystemが有効","typeSystem, additionalTypes","MiniCompilerインスタンスが返却される","高","Roslyn初期化"
"71","UT-GEN-071","src/tools/Avalonia.Generators/Compiler/MiniCompiler.cs","MiniCompiler","TransformWithCancellation","正常系","XamlDocumentが正しく変換されること","MiniCompiler初期化済み","有効なXamlDocument","変換後のDocumentが返却される","高","変換処理"
"72","UT-GEN-072","src/tools/Avalonia.Generators/Compiler/MiniCompiler.cs","MiniCompiler","TransformWithCancellation","異常系","キャンセル要求時にOperationCanceledExceptionがスローされること","MiniCompiler初期化済み","cancellationToken.IsCancellationRequested=true","OperationCanceledExceptionがスローされる","高","キャンセル処理"
"73","UT-GEN-073","src/tools/Avalonia.Generators/Compiler/MiniCompiler.cs","MiniCompiler","ResolveXamlType","正常系","XamlXmlTypeからCLR型が解決されること","MiniCompiler初期化済み","XamlXmlType(""Button"", ...","IXamlTypeが返却される","高","型解決"
"74","UT-GEN-074","src/tools/Avalonia.Generators/Compiler/MiniCompiler.cs","MiniCompiler","ResolveXamlType","正常系","ジェネリック型が正しく解決されること","MiniCompiler初期化済み","XamlXmlType(""List"", GenericArgs=[String])","ジェネリック型のIXamlTypeが返却される","高","ジェネリック型解決"
"75","UT-GEN-075","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynTypeSystem","コンストラクタ","正常系","Compilationからアセンブリが読み込まれること","なし","有効なCompilation","Assembliesに参照アセンブリが含まれる","高","初期化"
"76","UT-GEN-076","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynTypeSystem","FindAssembly","正常系","名前でアセンブリが検索されること","RoslynTypeSystem初期化済み","name=""System""","IXamlAssemblyが返却される","高","アセンブリ検索"
"77","UT-GEN-077","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynTypeSystem","FindAssembly","異常系","存在しないアセンブリでnullが返ること","RoslynTypeSystem初期化済み","name=""NonExistent""","nullが返却される","中","不存在アセンブリ"
"78","UT-GEN-078","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynTypeSystem","FindType","正常系","完全修飾名で型が検索されること","RoslynTypeSystem初期化済み","name=""System.String""","IXamlTypeが返却される","高","型検索"
"79","UT-GEN-079","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynTypeSystem","FindType","正常系","型がキャッシュされること","RoslynTypeSystem初期化済み","同じnameで2回呼び出し","同じIXamlTypeインスタンスが返却される","中","キャッシュ動作"
"80","UT-GEN-080","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynTypeSystem","FindType","異常系","存在しない型でnullが返ること","RoslynTypeSystem初期化済み","name=""NonExistent.Type""","nullが返却される","中","不存在型"
"81","UT-GEN-081","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynAssembly","Equals","正常系","同じシンボルのアセンブリが等しいこと","なし","同じIAssemblySymbol","trueが返却される","中","等価性"
"82","UT-GEN-082","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynAssembly","FindType","正常系","アセンブリ内の型が検索されること","RoslynAssembly初期化済み","fullName=""Namespace.TypeName""","RoslynTypeが返却される","高","型検索"
"83","UT-GEN-083","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynType","FullName","正常系","完全修飾型名が返却されること","RoslynType初期化済み","なし","""Namespace.TypeName""形式が返却される","高","プロパティ取得"
"84","UT-GEN-084","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynType","BaseType","正常系","基底型が返却されること","RoslynType初期化済み","なし","基底型のRoslynTypeが返却される","高","継承解決"
"85","UT-GEN-085","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynType","BaseType","境界値","基底型がない場合nullが返ること","RoslynType初期化済み（Object型）","なし","nullが返却される","中","ルート型"
"86","UT-GEN-086","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynType","Properties","正常系","プロパティ一覧が返却されること","RoslynType初期化済み","なし","IReadOnlyList<IXamlProperty>が返却される","中","プロパティ列挙"
"87","UT-GEN-087","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynType","Interfaces","正常系","実装インターフェース一覧が返却されること","RoslynType初期化済み","なし","IReadOnlyList<IXamlType>が返却される","中","インターフェース列挙"
"88","UT-GEN-088","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynType","MakeGenericType","正常系","ジェネリック型が構築されること","RoslynType初期化済み","typeArguments=[String]","GenericArgumentsが設定されたRoslynTypeが返却される","高","ジェネリック構築"
"89","UT-GEN-089","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynProperty","PropertyType","正常系","プロパティ型が返却されること","RoslynProperty初期化済み","なし","IXamlTypeが返却される","高","型取得"
"90","UT-GEN-090","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynProperty","Getter","正常系","getterメソッドが返却されること","RoslynProperty初期化済み","get可能なプロパティ","RoslynMethodが返却される","中","アクセサ取得"
"91","UT-GEN-091","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynProperty","Getter","境界値","getterがない場合nullが返ること","RoslynProperty初期化済み","setのみのプロパティ","nullが返却される","中","アクセサなし"
"92","UT-GEN-092","src/tools/Avalonia.Generators/Compiler/RoslynTypeSystem.cs","RoslynConstructor","Parameters","正常系","コンストラクタパラメータが返却されること","RoslynConstructor初期化済み","なし","IReadOnlyList<IXamlType>が返却される","中","パラメータ取得"
"93","UT-GEN-093","src/tools/Avalonia.Generators/Compiler/NoopTypeSystem.cs","NoopTypeSystem","FindAssembly","正常系","常にnullが返却されること","なし","任意のname","nullが返却される","中","Noop動作"
"94","UT-GEN-094","src/tools/Avalonia.Generators/Compiler/NoopTypeSystem.cs","NoopTypeSystem","FindType","正常系","XamlPseudoType.Unresolvedが返却されること","なし","任意のname","XamlPseudoType.Unresolvedが返却される","中","Noop動作"
"95","UT-GEN-095","src/tools/Avalonia.Generators/Compiler/NoopTypeSystem.cs","NoopAssembly","Instance","正常系","シングルトンインスタンスが返却されること","なし","なし","同じインスタンスが返却される","低","シングルトン"
"96","UT-GEN-096","src/tools/Avalonia.Generators/Compiler/DataTemplateTransformer.cs","DataTemplateTransformer","Transform","正常系","DataTemplateノードの子要素がクリアされること","なし","DataTemplateノード","Children.Count=0","高","テンプレート変換"
"97","UT-GEN-097","src/tools/Avalonia.Generators/Compiler/DataTemplateTransformer.cs","DataTemplateTransformer","Transform","正常系","ControlTemplateノードの子要素がクリアされること","なし","ControlTemplateノード","Children.Count=0","高","テンプレート変換"
"98","UT-GEN-098","src/tools/Avalonia.Generators/Compiler/DataTemplateTransformer.cs","DataTemplateTransformer","Transform","正常系","他のノードは変更されないこと","なし","Buttonノード","元のノードがそのまま返却される","中","非変換ケース"
"99","UT-GEN-099","src/tools/Avalonia.Generators/Compiler/NameDirectiveTransformer.cs","NameDirectiveTransformer","Transform","正常系","x:NameディレクティブがNameプロパティに変換されること","なし","x:Name=""MyElement""を持つノード","XamlAstXamlPropertyValueNodeに変換される","高","ディレクティブ変換"
"100","UT-GEN-100","src/tools/Avalonia.Generators/Compiler/NameDirectiveTransformer.cs","NameDirectiveTransformer","Transform","正常系","x:Name以外のディレクティブは変換されないこと","なし","x:Class=""...""を持つノード","元のディレクティブがそのまま保持される","中","非変換ケース"
"101","UT-GEN-101","src/tools/Avalonia.Generators/Compiler/NameDirectiveTransformer.cs","NameDirectiveTransformer","Transform","正常系","Name属性を持つノードは変更されないこと","なし","Name=""MyElement""を持つノード","元のノードがそのまま返却される","中","通常Name属性"
"102","UT-GEN-102","src/tools/Avalonia.Generators/NameGenerator/AvaloniaNameIncrementalGenerator.cs","AvaloniaNameIncrementalGenerator","Initialize","正常系","ジェネレータが正しく初期化されること","なし","IncrementalGeneratorInitializationContext","エラーなく初期化される","高","初期化"
"103","UT-GEN-103","src/tools/Avalonia.Generators/NameGenerator/AvaloniaNameIncrementalGenerator.cs","AvaloniaNameIncrementalGenerator","TryExtractTypeFromXml","正常系","不正なXAMLからクラス名が抽出されること","なし","x:Class属性を含む不正XAML","ResolvedXmlViewが返却される","中","フォールバック処理"
"104","UT-GEN-104","src/tools/Avalonia.Generators/NameGenerator/AvaloniaNameIncrementalGenerator.cs","AvaloniaNameIncrementalGenerator","TryExtractTypeFromXml","異常系","x:Classが存在しない場合nullが返ること","なし","x:Classなしの不正XAML","nullが返却される","中","フォールバック失敗"
"105","UT-GEN-105","src/tools/Avalonia.Generators/NameGenerator/AvaloniaNameIncrementalGenerator.cs","AvaloniaNameIncrementalGenerator","GetLinePositionSpan","正常系","XmlExceptionから行位置が抽出されること","なし","LineNumber=5, LinePosition=10のXmlException","LinePosition(4, 9)が返却される","中","位置計算"
"106","UT-GEN-106","src/tools/Avalonia.Generators/NameGenerator/AvaloniaNameIncrementalGenerator.cs","AvaloniaNameIncrementalGenerator","GetLinePositionSpan","境界値","LineNumber=0の場合","なし","LineNumber=0, LinePosition=0のXmlException","LinePosition(0, 0)が返却される","低","境界値"
"107","UT-GEN-107","src/tools/Avalonia.Generators/NameGenerator/AvaloniaNameIncrementalGenerator.cs","DiagnosticFactory","Create","正常系","Diagnosticが正しく生成されること","DiagnosticFactory初期化済み","Descriptor, LinePosition, FormatArguments","Diagnosticインスタンスが返却される","高","診断生成"
"108","UT-GEN-108","src/tools/Avalonia.Generators/Common/Domain/IViewResolver.cs","ResolvedViewInfo","FullName","正常系","完全修飾名が返却されること","なし","ClassName=""MainWindow"", Namespace=""App""","""App.MainWindow""が返却される","中","プロパティ計算"
"109","UT-GEN-109","src/tools/Avalonia.Generators/Common/Domain/IViewResolver.cs","ResolvedViewInfo","ToString","正常系","FullNameと同じ値が返却されること","なし","ClassName=""MainWindow"", Namespace=""App""","""App.MainWindow""が返却される","低","文字列変換"
"110","UT-GEN-110","src/tools/Avalonia.Generators/NameGenerator/NameGeneratorDiagnostics.cs","NameGeneratorDiagnostics","InvalidType","正常系","診断記述子が正しく定義されていること","なし","なし","DiagnosticDescriptor ID=""AXN0001""","低","定義確認"
"111","UT-GEN-111","src/tools/Avalonia.Generators/NameGenerator/NameGeneratorDiagnostics.cs","NameGeneratorDiagnostics","InternalError","正常系","診断記述子が正しく定義されていること","なし","なし","DiagnosticDescriptor ID=""AXN0002""","低","定義確認"
"112","UT-GEN-112","src/tools/Avalonia.Generators/NameGenerator/NameGeneratorDiagnostics.cs","NameGeneratorDiagnostics","ParseFailed","正常系","診断記述子が正しく定義されていること","なし","なし","DiagnosticDescriptor ID=""AXN0003""","低","定義確認"
"113","UT-GEN-113","src/tools/Avalonia.Generators/NameGenerator/NameGeneratorDiagnostics.cs","NameGeneratorDiagnostics","NamedElementFailed","正常系","診断記述子が正しく定義されていること","なし","なし","DiagnosticDescriptor ID=""AXN0004""","低","定義確認"
"1","UT-HFB-001","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","有効なテキストが正しくシェイプされること","HarfBuzzTypefaceが設定されたGlyphTypefaceを使用","text=""Hello"", options.GlyphTypeface, options.FontRenderingEmSize=12","適切なグリフ情報を含むShapedBufferが返却される","高","テキストシェイピングの基本機能"
"2","UT-HFB-002","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","空文字列の場合に空のShapedBufferが返却されること","なし","text="""", options.GlyphTypeface, options.FontRenderingEmSize=12","長さ0のShapedBufferが返却される","高","エッジケース対応"
"3","UT-HFB-003","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","異常系","非HarfBuzzTypefaceが指定された場合にNotSupportedExceptionがスローされること","HarfBuzzTypeface以外のTextShaperTypefaceを使用","options.GlyphTypeface.TextShaperTypeface != HarfBuzzTypeface","NotSupportedExceptionがスローされる","高","型チェックの検証"
"4","UT-HFB-004","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","RTL（右から左）テキストが正しくシェイプされること","HarfBuzzTypefaceが設定済み","text=""שלום"", options.BidiLevel=1","Direction.RightToLeftでシェイプされ、バッファが逆順になる","高","双方向テキスト対応"
"5","UT-HFB-005","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","LTR（左から右）テキストが正しくシェイプされること","HarfBuzzTypefaceが設定済み","text=""Hello"", options.BidiLevel=0","Direction.LeftToRightでシェイプされる","高","双方向テキスト対応"
"6","UT-HFB-006","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","タブ文字が正しく処理されること","HarfBuzzTypefaceが設定済み","text=""\t"", options.IncrementalTabWidth=40","タブ文字がスペースグリフに変換され、指定幅で進む","中","タブ文字の特殊処理"
"7","UT-HFB-007","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","タブ文字でIncrementalTabWidth=0の場合にデフォルト幅が使用されること","HarfBuzzTypefaceが設定済み","text=""\t"", options.IncrementalTabWidth=0","スペースの4倍の幅が使用される","中","タブ文字のデフォルト処理"
"8","UT-HFB-008","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","LetterSpacingが適用されること","HarfBuzzTypefaceが設定済み","text=""AB"", options.LetterSpacing=5.0","各グリフのadvanceにLetterSpacingが加算される","中","字間調整"
"9","UT-HFB-009","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","カルチャが正しく設定されること","HarfBuzzTypefaceが設定済み","text=""Test"", options.Culture=new CultureInfo(""ja-JP"")","指定されたカルチャのLanguageがバッファに設定される","中","言語設定"
"10","UT-HFB-010","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","カルチャがnullの場合にCurrentCultureが使用されること","HarfBuzzTypefaceが設定済み","text=""Test"", options.Culture=null","CultureInfo.CurrentCultureが使用される","中","デフォルトカルチャ"
"11","UT-HFB-011","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","FontFeaturesが適用されること","HarfBuzzTypefaceが設定済み","text=""Test"", options.FontFeatures=[kern, liga]","指定されたフォント機能がシェイピングに適用される","中","OpenType機能"
"12","UT-HFB-012","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","境界値","FontFeaturesがnullの場合に空の配列が使用されること","HarfBuzzTypefaceが設定済み","text=""Test"", options.FontFeatures=null","正常にシェイピングが完了する","低","null安全性"
"13","UT-HFB-013","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","境界値","FontFeaturesが空の場合に空の配列が使用されること","HarfBuzzTypefaceが設定済み","text=""Test"", options.FontFeatures=[]","正常にシェイピングが完了する","低","空コレクション"
"14","UT-HFB-014","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","CRLF改行ペアが正しくマージされること","HarfBuzzTypefaceが設定済み","text=""A\r\nB""","改行ペアが単一クラスタとして処理される","高","改行処理"
"15","UT-HFB-015","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","LF単独の改行が正しく処理されること","HarfBuzzTypefaceが設定済み","text=""A\nB""","LFがZWNJに変換される","中","改行処理"
"16","UT-HFB-016","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","CreateTypeface","正常系","GlyphTypefaceからHarfBuzzTypefaceが作成されること","有効なGlyphTypeface","glyphTypeface=ValidGlyphTypeface","HarfBuzzTypefaceインスタンスが返却される","高","タイプフェイス作成"
"17","UT-HFB-017","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzApplicationExtensions.cs","HarfBuzzApplicationExtensions","UseHarfBuzz","正常系","AppBuilderにHarfBuzzTextShaperが登録されること","AppBuilderインスタンス","builder=AppBuilder.Configure<App>()","ITextShaperImplにHarfBuzzTextShaperが設定されたAppBuilderが返却される","高","アプリケーション設定"
"18","UT-HFB-018","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzApplicationExtensions.cs","HarfBuzzApplicationExtensions","UseHarfBuzz","正常系","メソッドチェーンで使用できること","AppBuilderインスタンス","builder.UseHarfBuzz().UsePlatformDetect()","AppBuilderインスタンスが返却されチェーン可能","中","Fluent API"
"19","UT-HFB-019","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTypeface.cs","HarfBuzzTypeface","Constructor","正常系","GlyphTypefaceからHBFontとHBFaceが初期化されること","有効なGlyphTypeface","glyphTypeface=ValidGlyphTypeface","HBFont, HBFaceが正しく初期化される","高","初期化処理"
"20","UT-HFB-020","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTypeface.cs","HarfBuzzTypeface","Constructor","正常系","UnitsPerEmがGlyphTypefaceのMetricsから設定されること","有効なGlyphTypeface","glyphTypeface.Metrics.DesignEmHeight=2048","HBFace.UnitsPerEm=2048が設定される","中","フォントメトリクス"
"21","UT-HFB-021","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTypeface.cs","HarfBuzzTypeface","GetTable","正常系","管理配列バックのテーブルが正しく取得されること","PlatformTypefaceがテーブルデータを持つ","tag=Tag.kern","ピン留めされたBlobが返却される","中","テーブル取得（配列）"
"22","UT-HFB-022","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTypeface.cs","HarfBuzzTypeface","GetTable","正常系","非配列バックのテーブルがネイティブメモリにコピーされること","PlatformTypefaceがMemoryManager等でバックされる","tag=Tag.kern","AllocHGlobalで確保されたBlobが返却される","中","テーブル取得（ネイティブ）"
"23","UT-HFB-023","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTypeface.cs","HarfBuzzTypeface","GetTable","異常系","存在しないテーブルの場合にnullが返却されること","PlatformTypefaceがテーブルを持たない","tag=存在しないTag","nullが返却される","中","テーブル不在"
"24","UT-HFB-024","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTypeface.cs","HarfBuzzTypeface","Dispose","正常系","HBFontとHBFaceが正しく破棄されること","HarfBuzzTypefaceが初期化済み","なし","HBFont.Dispose(), HBFace.Dispose()が呼び出される","高","リソース解放"
"25","UT-HFB-025","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTypeface.cs","HarfBuzzTypeface","Dispose","正常系","複数回Disposeを呼び出しても例外が発生しないこと","HarfBuzzTypefaceが初期化済み","Dispose()を2回呼び出し","例外が発生しない","中","安全なDispose"
"26","UT-HFB-026","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTypeface.cs","HarfBuzzTypeface","GlyphTypeface","正常系","コンストラクタで渡されたGlyphTypefaceが取得できること","HarfBuzzTypefaceが初期化済み","なし","コンストラクタで渡されたGlyphTypefaceと同一のインスタンス","低","プロパティ取得"
"27","UT-HFB-027","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","境界値","1文字のテキストが正しくシェイプされること","HarfBuzzTypefaceが設定済み","text=""A""","1つのグリフを含むShapedBufferが返却される","中","最小文字数"
"28","UT-HFB-028","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","サロゲートペア文字が正しくシェイプされること","HarfBuzzTypefaceが設定済み","text=""\U0001F600"" (絵文字)","サロゲートペアが正しく処理される","中","Unicode処理"
"29","UT-HFB-029","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","結合文字が正しくシェイプされること","HarfBuzzTypefaceが設定済み","text=""é"" (e + combining acute)","結合文字が正しくクラスタ化される","中","結合文字処理"
"30","UT-HFB-030","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","境界値","非常に長いテキストが正しくシェイプされること","HarfBuzzTypefaceが設定済み","text=10000文字の文字列","メモリ不足なく正常に処理される","低","大量データ"
"31","UT-HFB-031","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","スレッドセーフにシェイピングが実行されること","複数スレッドから同時アクセス","複数スレッドから同時にShapeText呼び出し","各スレッドで正しい結果が返却される","高","スレッドセーフ（ThreadStatic使用）"
"32","UT-HFB-032","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","同一カルチャのLanguageがキャッシュされること","同一カルチャで複数回呼び出し","options.Culture=CultureInfo(""en-US"")を複数回","s_cachedLanguageからキャッシュが再利用される","低","パフォーマンス最適化"
"33","UT-HFB-033","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","FontRenderingEmSizeに基づいてスケールが正しく計算されること","HarfBuzzTypefaceが設定済み","options.FontRenderingEmSize=24","textScale=FontRenderingEmSize/scaleXでグリフ位置が計算される","中","スケール計算"
"34","UT-HFB-034","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","ShapeText","正常系","グリフオフセットが正しく計算されること","HarfBuzzTypefaceが設定済み","オフセットを持つグリフを含むテキスト","XOffset, YOffsetが正しくVectorに変換される","中","オフセット計算"
"35","UT-HFB-035","src/HarfBuzz/Avalonia.HarfBuzz/HarfBuzzTextShaper.cs","HarfBuzzTextShaper","GetContainingMemory","異常系","サポートされないメモリタイプの場合にInvalidOperationExceptionがスローされること","特殊なMemory<char>実装","カスタムMemory<char>","InvalidOperationExceptionがスローされる","低","エラーハンドリング"
"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がスローされる","中","キャンセル処理"
"1","UT-VNC-001","src/Headless/Avalonia.Headless.Vnc/AvaloniaVncLogger.cs","AvaloniaVncLogger","Log","正常系","Traceレベルでログが正しく出力されること","Logger.TryGetがVerboseレベルで有効","logLevel=Trace, state=""テストメッセージ""","Logger.TryGet(LogEventLevel.Verbose)が呼び出される","中","ログ出力の基本機能"
"2","UT-VNC-002","src/Headless/Avalonia.Headless.Vnc/AvaloniaVncLogger.cs","AvaloniaVncLogger","Log","正常系","Debugレベルでログが正しく出力されること","Logger.TryGetがDebugレベルで有効","logLevel=Debug, state=""デバッグメッセージ""","Logger.TryGet(LogEventLevel.Debug)が呼び出される","中","ログ出力の基本機能"
"3","UT-VNC-003","src/Headless/Avalonia.Headless.Vnc/AvaloniaVncLogger.cs","AvaloniaVncLogger","Log","正常系","Informationレベルでログが正しく出力されること","Logger.TryGetがInformationレベルで有効","logLevel=Information, state=""情報メッセージ""","Logger.TryGet(LogEventLevel.Information)が呼び出される","中","ログ出力の基本機能"
"4","UT-VNC-004","src/Headless/Avalonia.Headless.Vnc/AvaloniaVncLogger.cs","AvaloniaVncLogger","Log","正常系","Warningレベルでログが正しく出力されること","Logger.TryGetがWarningレベルで有効","logLevel=Warning, state=""警告メッセージ""","Logger.TryGet(LogEventLevel.Warning)が呼び出される","中","ログ出力の基本機能"
"5","UT-VNC-005","src/Headless/Avalonia.Headless.Vnc/AvaloniaVncLogger.cs","AvaloniaVncLogger","Log","正常系","Errorレベルでログが正しく出力されること","Logger.TryGetがErrorレベルで有効","logLevel=Error, state=""エラーメッセージ"", exception=new Exception()","Logger.TryGet(LogEventLevel.Error)が呼び出される","高","エラーログの記録"
"6","UT-VNC-006","src/Headless/Avalonia.Headless.Vnc/AvaloniaVncLogger.cs","AvaloniaVncLogger","Log","正常系","Criticalレベルでログが正しく出力されること","Logger.TryGetがFatalレベルで有効","logLevel=Critical, state=""致命的エラー""","Logger.TryGet(LogEventLevel.Fatal)が呼び出される","高","致命的エラーの記録"
"7","UT-VNC-007","src/Headless/Avalonia.Headless.Vnc/AvaloniaVncLogger.cs","AvaloniaVncLogger","Log","正常系","例外情報が正しくフォーマットされること","なし","exception=new InvalidOperationException(""test"")","formatterに例外が渡され適切にフォーマットされる","中","例外ログのフォーマット"
"8","UT-VNC-008","src/Headless/Avalonia.Headless.Vnc/AvaloniaVncLogger.cs","AvaloniaVncLogger","IsEnabled","正常系","Traceレベルが有効な場合にtrueが返ること","Logger.IsEnabledがVerboseで有効","logLevel=Trace","true","中","ログレベル判定"
"9","UT-VNC-009","src/Headless/Avalonia.Headless.Vnc/AvaloniaVncLogger.cs","AvaloniaVncLogger","IsEnabled","正常系","Errorレベルが無効な場合にfalseが返ること","Logger.IsEnabledがErrorで無効","logLevel=Error","false","中","ログレベル判定"
"10","UT-VNC-010","src/Headless/Avalonia.Headless.Vnc/AvaloniaVncLogger.cs","AvaloniaVncLogger","BeginScope","正常系","Disposable.Emptyが返ること","なし","state=任意の値","Disposable.Emptyインスタンス","低","スコープ管理"
"11","UT-VNC-011","src/Headless/Avalonia.Headless.Vnc/AvaloniaVncLogger.cs","AvaloniaVncLogger","ToLogEventLevel","正常系","Traceが正しくVerboseに変換されること","なし","logLevel=Trace","LogEventLevel.Verbose","中","ログレベル変換"
"12","UT-VNC-012","src/Headless/Avalonia.Headless.Vnc/AvaloniaVncLogger.cs","AvaloniaVncLogger","ToLogEventLevel","正常系","Debugが正しくDebugに変換されること","なし","logLevel=Debug","LogEventLevel.Debug","中","ログレベル変換"
"13","UT-VNC-013","src/Headless/Avalonia.Headless.Vnc/AvaloniaVncLogger.cs","AvaloniaVncLogger","ToLogEventLevel","正常系","Criticalが正しくFatalに変換されること","なし","logLevel=Critical","LogEventLevel.Fatal","中","ログレベル変換"
"14","UT-VNC-014","src/Headless/Avalonia.Headless.Vnc/AvaloniaVncLogger.cs","AvaloniaVncLogger","ToLogEventLevel","異常系","未定義のLogLevelでArgumentOutOfRangeExceptionがスローされること","なし","logLevel=(LogLevel)999","ArgumentOutOfRangeException","高","不正入力の処理"
"15","UT-VNC-015","src/Headless/Avalonia.Headless.Vnc/HeadlessVncPlatformExtensions.cs","HeadlessVncPlatformExtensions","StartWithHeadlessVncPlatform","正常系","パスワードなしでVNCサーバーが起動すること","AppBuilderが初期化済み","host=null, port=5900, args=[], shutdownMode=OnLastWindowClose","VNCサーバーがIPAddress.Loopbackでバインドされ起動する","高","VNC起動の基本機能"
"16","UT-VNC-016","src/Headless/Avalonia.Headless.Vnc/HeadlessVncPlatformExtensions.cs","HeadlessVncPlatformExtensions","StartWithHeadlessVncPlatform","正常系","指定したホストでVNCサーバーが起動すること","AppBuilderが初期化済み","host=""192.168.1.1"", port=5900, args=[]","VNCサーバーが指定IPでバインドされる","高","ホスト指定"
"17","UT-VNC-017","src/Headless/Avalonia.Headless.Vnc/HeadlessVncPlatformExtensions.cs","HeadlessVncPlatformExtensions","StartWithHeadlessVncPlatform","正常系","パスワード付きでVNCサーバーが起動すること","AppBuilderが初期化済み","host=null, port=5900, password=""secret"", args=[]","AuthenticationMethod.Passwordが設定される","高","認証設定"
"18","UT-VNC-018","src/Headless/Avalonia.Headless.Vnc/HeadlessVncPlatformExtensions.cs","HeadlessVncPlatformExtensions","StartWithHeadlessVncPlatform","正常系","空文字のホストでLoopbackが使用されること","AppBuilderが初期化済み","host="""", port=5900","IPAddress.Loopbackが使用される","中","空ホストのデフォルト処理"
"19","UT-VNC-019","src/Headless/Avalonia.Headless.Vnc/HeadlessVncPlatformExtensions.cs","HeadlessVncPlatformExtensions","StartWithHeadlessVncPlatform","正常系","空白文字のパスワードでAuthenticationMethod.Noneになること","AppBuilderが初期化済み","password=""   ""","AuthenticationMethod.Noneが設定される","中","空白パスワードの処理"
"20","UT-VNC-020","src/Headless/Avalonia.Headless.Vnc/HeadlessVncPlatformExtensions.cs","HeadlessVncPlatformExtensions","StartWithHeadlessVncPlatform","異常系","MainWindowがnullの場合にInvalidOperationExceptionがスローされること","MainWindowが未初期化","正常なパラメータ","InvalidOperationException(""MainWindow wasn't initialized"")","高","MainWindow未初期化エラー"
"21","UT-VNC-021","src/Headless/Avalonia.Headless.Vnc/HeadlessVncPlatformExtensions.cs","HeadlessVncPlatformExtensions","StartWithHeadlessVncPlatform","異常系","不正なIPアドレスでFormatExceptionがスローされること","なし","host=""invalid-ip""","FormatExceptionまたはSocketException","高","不正IP処理"
"22","UT-VNC-022","src/Headless/Avalonia.Headless.Vnc/HeadlessVncPlatformExtensions.cs","HeadlessVncPlatformExtensions","StartWithHeadlessVncPlatform","境界値","ポート番号0で動的ポートが割り当てられること","AppBuilderが初期化済み","port=0","システムが利用可能なポートを割り当てる","中","動的ポート割当"
"23","UT-VNC-023","src/Headless/Avalonia.Headless.Vnc/HeadlessVncPlatformExtensions.cs","HeadlessVncPlatformExtensions","StartWithHeadlessVncPlatform","境界値","ポート番号65535で正しくバインドされること","AppBuilderが初期化済み","port=65535","指定ポートでバインドされる","中","最大ポート番号"
"24","UT-VNC-024","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","コンストラクタ","正常系","正しく初期化されること","VncServerSessionとWindowが有効","session=有効なセッション, window=有効なWindow","Windowプロパティが設定され、イベントハンドラが登録される","高","初期化処理"
"25","UT-VNC-025","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","コンストラクタ","正常系","PointerChangedイベントが正しく登録されること","有効なセッション","session=有効なセッション","session.PointerChangedにハンドラが登録される","中","イベント登録"
"26","UT-VNC-026","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","コンストラクタ","正常系","KeyChangedイベントが正しく登録されること","有効なセッション","session=有効なセッション","session.KeyChangedにハンドラが登録される","中","イベント登録"
"27","UT-VNC-027","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","PointerChangedハンドラ","正常系","マウス移動が正しく処理されること","Windowが有効","X=100, Y=200, PressedButtons=0","Window.MouseMove(Point(100, 200))が呼び出される","高","マウス入力処理"
"28","UT-VNC-028","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","PointerChangedハンドラ","正常系","左ボタン押下が正しく処理されること","Windowが有効","PressedButtons=Left","Window.MouseDown(pt, MouseButton.Left)が呼び出される","高","マウスボタン押下"
"29","UT-VNC-029","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","PointerChangedハンドラ","正常系","中ボタン押下が正しく処理されること","Windowが有効","PressedButtons=Middle","Window.MouseDown(pt, MouseButton.Middle)が呼び出される","中","中ボタン処理"
"30","UT-VNC-030","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","PointerChangedハンドラ","正常系","右ボタン押下が正しく処理されること","Windowが有効","PressedButtons=Right","Window.MouseDown(pt, MouseButton.Right)が呼び出される","中","右ボタン処理"
"31","UT-VNC-031","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","PointerChangedハンドラ","正常系","左ボタン解放が正しく処理されること","前回Left押下済み","_previousButtons=Left, PressedButtons=0","Window.MouseUp(pt, MouseButton.Left)が呼び出される","高","マウスボタン解放"
"32","UT-VNC-032","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","PointerChangedハンドラ","正常系","スクロールアップが正しく処理されること","Windowが有効","PressedButtons=ScrollUp","Window.MouseWheel(pt, Vector.One)が呼び出される","中","スクロール処理"
"33","UT-VNC-033","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","PointerChangedハンドラ","正常系","スクロールダウンが正しく処理されること","Windowが有効","PressedButtons=ScrollDown","Window.MouseWheel(pt, Vector.One.Negate())が呼び出される","中","スクロール処理"
"34","UT-VNC-034","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","KeyChangedハンドラ","正常系","通常キー押下が正しく処理されること","Windowが有効","Keysym=A, Pressed=true","Window.KeyPress(Key.A)が呼び出される","高","キー入力処理"
"35","UT-VNC-035","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","KeyChangedハンドラ","正常系","通常キー解放が正しく処理されること","Windowが有効","Keysym=A, Pressed=false","Window.KeyRelease(Key.A)が呼び出される","高","キー解放処理"
"36","UT-VNC-036","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","KeyChangedハンドラ","正常系","キー解放時にテキスト入力が発生すること","Ctrl/Altが押されていない","Keysym=a, Pressed=false","Window.KeyTextInput(""a"")が呼び出される","高","テキスト入力"
"37","UT-VNC-037","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","KeyChangedハンドラ","正常系","Ctrl+キーでテキスト入力が発生しないこと","_keyState=Control","Keysym=a, Pressed=false","Window.KeyTextInputは呼び出されない","中","修飾キー考慮"
"38","UT-VNC-038","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","KeyChangedハンドラ","正常系","Alt+キーでテキスト入力が発生しないこと","_keyState=Alt","Keysym=a, Pressed=false","Window.KeyTextInputは呼び出されない","中","修飾キー考慮"
"39","UT-VNC-039","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","CheckKeyIsInputModifier","正常系","左Shiftキーで_keyStateにShiftが追加されること","_keyState=None","Keysym=ShiftLeft, Pressed=true","_keyState |= RawInputModifiers.Shift, return true","中","修飾キー状態管理"
"40","UT-VNC-040","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","CheckKeyIsInputModifier","正常系","右Shiftキーで_keyStateにShiftが追加されること","_keyState=None","Keysym=ShiftRight, Pressed=true","_keyState |= RawInputModifiers.Shift, return true","中","修飾キー状態管理"
"41","UT-VNC-041","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","CheckKeyIsInputModifier","正常系","左Ctrlキーで_keyStateにControlが追加されること","_keyState=None","Keysym=ControlLeft, Pressed=true","_keyState |= RawInputModifiers.Control, return true","中","修飾キー状態管理"
"42","UT-VNC-042","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","CheckKeyIsInputModifier","正常系","左Altキーで_keyStateにAltが追加されること","_keyState=None","Keysym=AltLeft, Pressed=true","_keyState |= RawInputModifiers.Alt, return true","中","修飾キー状態管理"
"43","UT-VNC-043","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","CheckKeyIsInputModifier","正常系","Shift解放で_keyStateからShiftが除去されること","_keyState=Shift","Keysym=ShiftLeft, Pressed=false","_keyState &= ~RawInputModifiers.Shift, return true","中","修飾キー状態解除"
"44","UT-VNC-044","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","CheckKeyIsInputModifier","正常系","非修飾キーでfalseが返ること","なし","Keysym=A","return false, _keyStateは変更されない","中","通常キーの判定"
"45","UT-VNC-045","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","正常系","Backspaceが正しく変換されること","なし","key=KeySym.Backspace","(Key.Back, ""\b"")","中","キー変換"
"46","UT-VNC-046","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","正常系","Tabが正しく変換されること","なし","key=KeySym.Tab","(Key.Tab, ""\t"")","中","キー変換"
"47","UT-VNC-047","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","正常系","Returnが正しく変換されること","なし","key=KeySym.Return","(Key.Return, ""\r"")","中","キー変換"
"48","UT-VNC-048","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","正常系","Escapeが正しく変換されること","なし","key=KeySym.Escape","(Key.Escape, ""\u001B"")","中","キー変換"
"49","UT-VNC-049","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","正常系","Spaceが正しく変換されること","なし","key=KeySym.Space","(Key.Space, "" "")","中","キー変換"
"50","UT-VNC-050","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","正常系","数字キー0-9が正しく変換されること","なし","key=KeySym.D0","(Key.D0, ""0"")","中","キー変換"
"51","UT-VNC-051","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","正常系","アルファベット大文字A-Zが正しく変換されること","なし","key=KeySym.A","(Key.A, ""A"")","中","キー変換"
"52","UT-VNC-052","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","正常系","アルファベット小文字a-zが正しく変換されること","なし","key=KeySym.a","(Key.A, ""a"")","中","キー変換"
"53","UT-VNC-053","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","正常系","ファンクションキーF1-F24が正しく変換されること","なし","key=KeySym.F1","(Key.F1, null)","低","キー変換"
"54","UT-VNC-054","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","正常系","テンキー数字が正しく変換されること","なし","key=KeySym.NumPad5","(Key.NumPad5, ""5"")","中","キー変換"
"55","UT-VNC-055","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","正常系","テンキー演算子が正しく変換されること","なし","key=KeySym.NumPadAdd","(Key.Add, ""+"")","中","キー変換"
"56","UT-VNC-056","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","正常系","NumPadSeparatorがカルチャ依存の値で変換されること","なし","key=KeySym.NumPadSeparator","(Key.Separator, NumberFormatInfo.CurrentInfo.NumberGroupSeparator)","中","ロケール対応"
"57","UT-VNC-057","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","正常系","NumPadDecimalがカルチャ依存の値で変換されること","なし","key=KeySym.NumPadDecimal","(Key.Decimal, NumberFormatInfo.CurrentInfo.NumberDecimalSeparator)","中","ロケール対応"
"58","UT-VNC-058","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","正常系","矢印キーが正しく変換されること","なし","key=KeySym.Left","(Key.Left, null)","中","キー変換"
"59","UT-VNC-059","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","正常系","修飾キーが正しく変換されること","なし","key=KeySym.ShiftLeft","(Key.LeftShift, null)","中","キー変換"
"60","UT-VNC-060","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","境界値","未知のキーでKey.Noneが返ること","なし","key=(KeySym)99999","(Key.None, null)","中","未知キー処理"
"61","UT-VNC-061","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","正常系","記号キー（括弧）が正しく変換されること","なし","key=KeySym.ParenthesisLeft","(Key.D9, ""("")","低","記号キー変換"
"62","UT-VNC-062","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","TranslateKey","正常系","記号キー（ブレース）が正しく変換されること","なし","key=KeySym.BraceLeft","(Key.OemOpenBrackets, ""{"")","低","記号キー変換"
"63","UT-VNC-063","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","Capture","正常系","フレームバッファが正しくキャプチャされること","Windowにレンダリング済みフレームあり","Window.GetLastRenderedFrame()が有効なbmpを返す","ピクセルデータがコピーされたVncFramebufferが返される","高","フレームキャプチャ"
"64","UT-VNC-064","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","Capture","正常系","フレームバッファサイズが変更された場合に新しいバッファが作成されること","フレームサイズが前回と異なる","bmp.PixelSize = (1920, 1080)","新しいサイズのVncFramebufferが作成される","高","バッファリサイズ"
"65","UT-VNC-065","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","Capture","異常系","GetLastRenderedFrameがnullの場合に既存バッファが返ること","レンダリングフレームなし","Window.GetLastRenderedFrame()がnull","_framebuffer（既存の1x1バッファ）が返される","中","null処理"
"66","UT-VNC-066","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","Capture","正常系","スレッドセーフにキャプチャが実行されること","複数スレッドからの同時アクセス","並列呼び出し","lockによりデータ競合なく処理される","高","スレッドセーフ"
"67","UT-VNC-067","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","SetDesktopSize","正常系","デスクトップサイズが正しく設定されること","Windowが有効","width=1920, height=1080","Window.Width=1920, Window.Height=1080, ExtendedDesktopSizeStatus.Successが返る","高","リサイズ機能"
"68","UT-VNC-068","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","SetDesktopSize","境界値","最小サイズ（1x1）が設定されること","Windowが有効","width=1, height=1","Window.Width=1, Window.Height=1, Successが返る","中","最小サイズ"
"69","UT-VNC-069","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","SetDesktopSize","境界値","大きなサイズ（8Kなど）が設定されること","Windowが有効","width=7680, height=4320","Window.Width=7680, Window.Height=4320, Successが返る","低","大サイズ"
"70","UT-VNC-070","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","SetDesktopSize","正常系","UIスレッドで実行されること","なし","任意の有効なサイズ","Dispatcher.UIThread.Postで処理される","中","スレッド処理"
"71","UT-VNC-071","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","SupportsResizing","正常系","trueが返ること","なし","プロパティアクセス","true","低","リサイズサポート確認"
"72","UT-VNC-072","src/Headless/Avalonia.Headless.Vnc/HeadlessVncFramebufferSource.cs","HeadlessVncFramebufferSource","Window","正常系","Windowプロパティが取得・設定できること","なし","Window = new Window()","設定した値が取得できる","低","プロパティ動作"
"1","UT-HXU-001","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestFrameworkAttribute.cs","AvaloniaTestFrameworkAttribute","FrameworkType","正常系","FrameworkTypeプロパティがAvaloniaTestFrameworkを返すこと","なし","なし","typeof(AvaloniaTestFramework)が返却される","高","テストフレームワーク登録の基本機能"
"2","UT-HXU-002","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestFrameworkAttribute.cs","AvaloniaTestFrameworkAttribute","(属性)","正常系","アセンブリレベルでのみ適用可能であること","なし","[assembly: AvaloniaTestFramework]","コンパイルが成功する","中","AttributeUsageの検証"
"3","UT-HXU-003","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestFrameworkAttribute.cs","AvaloniaTestFrameworkAttribute","(属性)","異常系","クラスレベルに適用した場合コンパイルエラーとなること","なし","[AvaloniaTestFramework] class Test {}","コンパイルエラーが発生する","中","AttributeUsageの制限検証"
"4","UT-HXU-004","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestCase.cs","AvaloniaTestCase","コンストラクタ","正常系","有効なパラメータでインスタンスが生成されること","IXunitTestMethodが有効","testMethod, displayName, uniqueID等","AvaloniaTestCaseインスタンスが生成される","高","テストケース生成の基本機能"
"5","UT-HXU-005","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestCase.cs","AvaloniaTestCase","コンストラクタ","正常系","オプションパラメータがnullの場合でもインスタンスが生成されること","なし","skipExceptions=null, skipReason=null等","正常にインスタンスが生成される","中","null許容パラメータの検証"
"6","UT-HXU-006","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestCase.cs","AvaloniaTestCase","Run","正常系","テストが正常に実行されRunSummaryが返却されること","HeadlessUnitTestSessionが有効","explicitOption, messageBus, constructorArguments, aggregator, cancellationTokenSource","RunSummaryが返却される","高","テスト実行の基本機能"
"7","UT-HXU-007","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestCase.cs","AvaloniaTestCase","Run","正常系","SkipReasonが設定されている場合スキップされること","SkipReasonが設定済み","skipReason=""テストをスキップ""","テストがスキップされRunSummary.Skipped=1","中","スキップ機能の検証"
"8","UT-HXU-008","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestCase.cs","AvaloniaTestCase","Run","異常系","キャンセルトークンでキャンセルされた場合の挙動","なし","cancellationTokenSource.Cancel()","OperationCanceledExceptionまたはRunSummary.Failed=0","高","キャンセル処理の検証"
"9","UT-HXU-009","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestCase.cs","AvaloniaTestCase","Run","異常系","テストメソッドで例外がスローされた場合","テストメソッドが例外をスロー","例外をスローするテストメソッド","RunSummary.Failed=1でエラー情報が記録される","高","例外ハンドリングの検証"
"10","UT-HXU-010","src/Headless/Avalonia.Headless.XUnit/AvaloniaDelayEnumeratedTheoryTestCase.cs","AvaloniaDelayEnumeratedTheoryTestCase","コンストラクタ","正常系","有効なパラメータでインスタンスが生成されること","IXunitTestMethodが有効","testMethod, displayName, uniqueID, skipTestWithoutData等","インスタンスが正常に生成される","高","遅延列挙Theoryテストケース生成"
"11","UT-HXU-011","src/Headless/Avalonia.Headless.XUnit/AvaloniaDelayEnumeratedTheoryTestCase.cs","AvaloniaDelayEnumeratedTheoryTestCase","コンストラクタ","正常系","skipTestWithoutData=trueの場合の動作","なし","skipTestWithoutData=true","データがない場合にスキップされる設定になる","中","データなしスキップオプション"
"12","UT-HXU-012","src/Headless/Avalonia.Headless.XUnit/AvaloniaDelayEnumeratedTheoryTestCase.cs","AvaloniaDelayEnumeratedTheoryTestCase","Run","正常系","複数データ行でテストが実行されること","TheoryDataが複数行","複数のテストデータ","各データ行に対してテストが実行される","高","Theory基本機能"
"13","UT-HXU-013","src/Headless/Avalonia.Headless.XUnit/AvaloniaDelayEnumeratedTheoryTestCase.cs","AvaloniaDelayEnumeratedTheoryTestCase","Run","境界値","データ行が0件の場合","TheoryDataが空","空のデータソース","skipTestWithoutData設定に応じてスキップまたは失敗","中","空データの境界ケース"
"14","UT-HXU-014","src/Headless/Avalonia.Headless.XUnit/AvaloniaDelayEnumeratedTheoryTestCase.cs","AvaloniaDelayEnumeratedTheoryTestCase","Run","境界値","データ行が1件の場合","TheoryDataが1行","1件のテストデータ","1回のテスト実行が行われる","低","単一データの境界ケース"
"15","UT-HXU-015","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestCaseRunner.cs","AvaloniaTestCaseRunner","Instance","正常系","シングルトンインスタンスが取得できること","なし","AvaloniaTestCaseRunner.Instance","同一インスタンスが返却される","高","シングルトンパターンの検証"
"16","UT-HXU-016","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestCaseRunner.cs","AvaloniaTestCaseRunner","Run","正常系","テストケースが正常に実行されRunSummaryが返却されること","HeadlessUnitTestSessionが有効","testCase, tests, messageBus, aggregator等","RunSummaryが返却される","高","テストケース実行の基本機能"
"17","UT-HXU-017","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestCaseRunner.cs","AvaloniaTestCaseRunner","Run","正常系","HeadlessUnitTestSessionがアセンブリから取得されること","アセンブリが有効","testCase.TestClass.Class.Assembly","セッションが取得または開始される","高","セッション管理の検証"
"18","UT-HXU-018","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestCaseRunner.cs","AvaloniaTestCaseRunner","Run","異常系","nullのtestCaseが渡された場合","なし","testCase=null","ArgumentNullExceptionがスローされる","中","null入力の検証"
"19","UT-HXU-019","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestCaseRunner.cs","AvaloniaTestCaseRunner","RunTest","正常系","個別テストがAvaloniaTestRunnerで実行されること","コンテキストが有効","ctxt, test","AvaloniaTestRunner.Instance.Runが呼び出される","高","テスト実行委譲の検証"
"20","UT-HXU-020","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestRunner.cs","AvaloniaTestRunner","Instance","正常系","シングルトンインスタンスが取得できること","なし","AvaloniaTestRunner.Instance","同一インスタンスが返却される","高","シングルトンパターンの検証"
"21","UT-HXU-021","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestRunner.cs","AvaloniaTestRunner","Run","正常系","テストがAvaloniaディスパッチャー上で実行されること","HeadlessUnitTestSessionが有効","test, messageBus, constructorArguments等","Dispatcher.UIThread上でテストが実行される","高","ディスパッチャー統合の検証"
"22","UT-HXU-022","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestRunner.cs","AvaloniaTestRunner","Run","正常系","テスト後にDispatcher.RunJobs()が呼び出されること","なし","非同期テストメソッド","保留中のジョブが処理される","高","ジョブ処理の検証"
"23","UT-HXU-023","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestRunner.cs","AvaloniaTestRunner","Run","正常系","BeforeAfterTestAttributesが適用されること","BeforeAfterTestAttributeが設定済み","beforeAfterAttributes=[TestBeforeAfter]","Before/Afterメソッドが呼び出される","中","テストライフサイクルの検証"
"24","UT-HXU-024","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestRunner.cs","AvaloniaTestRunner","Run","異常系","キャンセルトークンでキャンセルされた場合","なし","cancellationTokenSource.Cancel()","適切にキャンセルが処理される","高","キャンセル処理の検証"
"25","UT-HXU-025","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestFramework.cs","AvaloniaTestFramework","CreateDiscoverer","正常系","AvaloniaTestFrameworkDiscovererが生成されること","Assemblyが有効","有効なAssembly","AvaloniaTestFrameworkDiscovererインスタンスが返却される","高","ディスカバラー生成の検証"
"26","UT-HXU-026","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestFramework.cs","AvaloniaTestFramework","CreateDiscoverer","正常系","XunitTestAssemblyが正しく構成されること","なし","assembly, null, assembly.GetName().Version","正しいバージョン情報を持つXunitTestAssembly","中","アセンブリ情報の検証"
"27","UT-HXU-027","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestFramework.cs","AvaloniaTestFramework","CreateExecutor","正常系","AvaloniaTestFrameworkExecutorが生成されること","Assemblyが有効","有効なAssembly","AvaloniaTestFrameworkExecutorインスタンスが返却される","高","エグゼキュータ生成の検証"
"28","UT-HXU-028","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestFrameworkDiscoverer.cs","AvaloniaTestFrameworkDiscoverer","コンストラクタ","正常系","FactAttributeに対してAvaloniaFactDiscovererが登録されること","なし","testAssembly","DiscovererTypeCache[FactAttribute]=AvaloniaFactDiscoverer","高","ディスカバラーキャッシュ登録"
"29","UT-HXU-029","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestFrameworkDiscoverer.cs","AvaloniaTestFrameworkDiscoverer","コンストラクタ","正常系","TheoryAttributeに対してAvaloniaTheoryDiscovererが登録されること","なし","testAssembly","DiscovererTypeCache[TheoryAttribute]=AvaloniaTheoryDiscoverer","高","ディスカバラーキャッシュ登録"
"30","UT-HXU-030","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestFrameworkExecutor.cs","AvaloniaTestFrameworkExecutor","コンストラクタ","正常系","HeadlessUnitTestSessionがアセンブリから取得されること","IXunitTestAssemblyが有効","testAssembly","_sessionが初期化される","高","セッション初期化の検証"
"31","UT-HXU-031","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestFrameworkExecutor.cs","AvaloniaTestFrameworkExecutor","CreateDiscoverer","正常系","AvaloniaTestFrameworkDiscovererが生成されること","TestAssemblyが設定済み","なし","AvaloniaTestFrameworkDiscovererインスタンス","高","ディスカバラー生成の検証"
"32","UT-HXU-032","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestFrameworkExecutor.cs","AvaloniaTestFrameworkExecutor","DisposeAsync","正常系","セッションが破棄されること","セッションが有効","なし","_session.DisposeAsync()が呼び出される","高","リソース解放の検証"
"33","UT-HXU-033","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestFrameworkExecutor.cs","AvaloniaTestFrameworkExecutor","DisposeAsync","正常系","基底クラスのDisposeAsyncが呼び出されること","なし","なし","base.DisposeAsync()が呼び出される","中","継承チェーンの検証"
"34","UT-HXU-034","src/Headless/Avalonia.Headless.XUnit/AvaloniaFactDiscoverer.cs","AvaloniaFactDiscoverer","CreateTestCase","正常系","AvaloniaTestCaseが生成されること","discoveryOptions, testMethod, factAttributeが有効","有効なパラメータ","AvaloniaTestCaseインスタンスが返却される","高","Factテストケース生成"
"35","UT-HXU-035","src/Headless/Avalonia.Headless.XUnit/AvaloniaFactDiscoverer.cs","AvaloniaFactDiscoverer","CreateTestCase","正常系","TestIntrospectionHelperから詳細が取得されること","なし","discoveryOptions, testMethod, factAttribute","正しいTestCaseDisplayName, UniqueID等が設定される","高","イントロスペクション統合"
"36","UT-HXU-036","src/Headless/Avalonia.Headless.XUnit/AvaloniaFactDiscoverer.cs","AvaloniaFactDiscoverer","CreateTestCase","正常系","Traitsが正しく設定されること","testMethodにTraitsが設定済み","Traits付きのtestMethod","生成されたTestCaseにTraitsが含まれる","中","Traits伝播の検証"
"37","UT-HXU-037","src/Headless/Avalonia.Headless.XUnit/AvaloniaFactDiscoverer.cs","AvaloniaFactDiscoverer","CreateTestCase","正常系","ソースファイル情報が設定されること","ソースファイル情報が利用可能","sourceFilePath, sourceLineNumber","TestCaseにソース位置情報が含まれる","低","デバッグ情報の検証"
"38","UT-HXU-038","src/Headless/Avalonia.Headless.XUnit/AvaloniaTheoryDiscoverer.cs","AvaloniaTheoryDiscoverer","CreateTestCasesForDataRow","正常系","データ行からAvaloniaTestCaseが生成されること","TheoryDataRowが有効","discoveryOptions, testMethod, theoryAttribute, dataRow, testMethodArguments","AvaloniaTestCaseのコレクションが返却される","高","Theoryデータ行処理"
"39","UT-HXU-039","src/Headless/Avalonia.Headless.XUnit/AvaloniaTheoryDiscoverer.cs","AvaloniaTheoryDiscoverer","CreateTestCasesForDataRow","正常系","testMethodArgumentsがTestCaseに渡されること","引数付きデータ行","testMethodArguments=[1, ""test""]","TestCaseに引数が含まれる","高","引数伝播の検証"
"40","UT-HXU-040","src/Headless/Avalonia.Headless.XUnit/AvaloniaTheoryDiscoverer.cs","AvaloniaTheoryDiscoverer","CreateTestCasesForDataRow","正常系","dataRowからTraitsが取得されること","dataRowにTraitsが設定済み","Traits付きのdataRow","TestCaseにTraitsが含まれる","中","Traits抽出の検証"
"41","UT-HXU-041","src/Headless/Avalonia.Headless.XUnit/AvaloniaTheoryDiscoverer.cs","AvaloniaTheoryDiscoverer","CreateTestCasesForTheory","正常系","SkipReasonがある場合AvaloniaTestCaseが生成されること","SkipReasonが設定済み","skipReason=""スキップ理由"", skipUnless=null, skipWhen=null","AvaloniaTestCaseが返却される","高","スキップ付きTheory"
"42","UT-HXU-042","src/Headless/Avalonia.Headless.XUnit/AvaloniaTheoryDiscoverer.cs","AvaloniaTheoryDiscoverer","CreateTestCasesForTheory","正常系","SkipReasonがない場合AvaloniaDelayEnumeratedTheoryTestCaseが生成されること","SkipReasonがnull","skipReason=null","AvaloniaDelayEnumeratedTheoryTestCaseが返却される","高","遅延列挙Theory"
"43","UT-HXU-043","src/Headless/Avalonia.Headless.XUnit/AvaloniaTheoryDiscoverer.cs","AvaloniaTheoryDiscoverer","CreateTestCasesForTheory","正常系","SkipUnlessが設定されている場合AvaloniaDelayEnumeratedTheoryTestCaseが生成されること","SkipUnlessが設定済み","skipReason=""理由"", skipUnless=""条件""","AvaloniaDelayEnumeratedTheoryTestCaseが返却される","中","条件付きスキップ"
"44","UT-HXU-044","src/Headless/Avalonia.Headless.XUnit/AvaloniaTheoryDiscoverer.cs","AvaloniaTheoryDiscoverer","CreateTestCasesForTheory","正常系","SkipWhenが設定されている場合AvaloniaDelayEnumeratedTheoryTestCaseが生成されること","SkipWhenが設定済み","skipReason=""理由"", skipWhen=""条件""","AvaloniaDelayEnumeratedTheoryTestCaseが返却される","中","条件付きスキップ"
"45","UT-HXU-045","src/Headless/Avalonia.Headless.XUnit/AvaloniaTheoryDiscoverer.cs","AvaloniaTheoryDiscoverer","CreateTestCasesForTheory","正常系","SkipTestWithoutDataがTheoryAttributeから取得されること","なし","theoryAttribute.SkipTestWithoutData=true","DelayEnumeratedTestCaseにフラグが設定される","中","データなしスキップ設定"
"46","UT-HXU-046","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestCaseRunnerContext.cs","AvaloniaTestCaseRunnerContext","コンストラクタ","正常系","すべてのパラメータが正しく設定されること","パラメータが有効","testCase, tests, messageBus等","プロパティが正しく初期化される","高","コンテキスト初期化"
"47","UT-HXU-047","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestCaseRunnerContext.cs","AvaloniaTestCaseRunnerContext","Session","正常系","Sessionプロパティが渡されたセッションを返すこと","sessionが有効","session=HeadlessUnitTestSession","同一のセッションインスタンスが返却される","高","セッションアクセス"
"48","UT-HXU-048","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestRunnerContext.cs","AvaloniaTestRunnerContext","コンストラクタ","正常系","すべてのパラメータが正しく設定されること","パラメータが有効","test, messageBus, explicitOption等","プロパティが正しく初期化される","高","コンテキスト初期化"
"49","UT-HXU-049","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestRunnerContext.cs","AvaloniaTestRunnerContext","Session","正常系","Sessionプロパティが渡されたセッションを返すこと","sessionが有効","session=HeadlessUnitTestSession","同一のセッションインスタンスが返却される","高","セッションアクセス"
"50","UT-HXU-050","src/Headless/Avalonia.Headless.XUnit/AvaloniaFactAttribute.cs","AvaloniaFactAttribute","(属性)","正常系","メソッドレベルでのみ適用可能であること","なし","[AvaloniaFact] void TestMethod()","コンパイルが成功する","高","属性適用の検証"
"51","UT-HXU-051","src/Headless/Avalonia.Headless.XUnit/AvaloniaFactAttribute.cs","AvaloniaFactAttribute","(属性)","異常系","クラスレベルに適用した場合コンパイルエラーとなること","なし","[AvaloniaFact] class Test {}","コンパイルエラーが発生する","中","属性制限の検証"
"52","UT-HXU-052","src/Headless/Avalonia.Headless.XUnit/AvaloniaFactAttribute.cs","AvaloniaFactAttribute","(属性)","正常系","AvaloniaFactDiscovererが関連付けられていること","なし","[AvaloniaFact]","XunitTestCaseDiscoverer属性でAvaloniaFactDiscovererが指定されている","高","ディスカバラー関連付け"
"53","UT-HXU-053","src/Headless/Avalonia.Headless.XUnit/AvaloniaFactAttribute.cs","AvaloniaFactAttribute","コンストラクタ","正常系","CallerFilePathが自動取得されること","なし","[AvaloniaFact]","sourceFilePathに呼び出し元ファイルパスが設定される","中","呼び出し元情報の取得"
"54","UT-HXU-054","src/Headless/Avalonia.Headless.XUnit/AvaloniaFactAttribute.cs","AvaloniaFactAttribute","コンストラクタ","正常系","CallerLineNumberが自動取得されること","なし","[AvaloniaFact]","sourceLineNumberに呼び出し元行番号が設定される","中","呼び出し元情報の取得"
"55","UT-HXU-055","src/Headless/Avalonia.Headless.XUnit/AvaloniaTheoryAttribute.cs","AvaloniaTheoryAttribute","(属性)","正常系","メソッドレベルでのみ適用可能であること","なし","[AvaloniaTheory] void TestMethod()","コンパイルが成功する","高","属性適用の検証"
"56","UT-HXU-056","src/Headless/Avalonia.Headless.XUnit/AvaloniaTheoryAttribute.cs","AvaloniaTheoryAttribute","(属性)","正常系","AvaloniaTheoryDiscovererが関連付けられていること","なし","[AvaloniaTheory]","XunitTestCaseDiscoverer属性でAvaloniaTheoryDiscovererが指定されている","高","ディスカバラー関連付け"
"57","UT-HXU-057","src/Headless/Avalonia.Headless.XUnit/AvaloniaTheoryAttribute.cs","AvaloniaTheoryAttribute","(属性)","正常系","TheoryAttributeを継承していること","なし","なし","AvaloniaTheoryAttribute : TheoryAttribute","中","継承関係の検証"
"58","UT-HXU-058","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestCase.cs","AvaloniaTestCase","デシリアライズコンストラクタ","正常系","パラメータなしコンストラクタでインスタンスが生成されること","なし","new AvaloniaTestCase()","空のインスタンスが生成される（デシリアライズ用）","中","シリアライゼーションサポート"
"59","UT-HXU-059","src/Headless/Avalonia.Headless.XUnit/AvaloniaDelayEnumeratedTheoryTestCase.cs","AvaloniaDelayEnumeratedTheoryTestCase","デシリアライズコンストラクタ","正常系","パラメータなしコンストラクタでインスタンスが生成されること","なし","new AvaloniaDelayEnumeratedTheoryTestCase()","空のインスタンスが生成される（デシリアライズ用）","中","シリアライゼーションサポート"
"60","UT-HXU-060","src/Headless/Avalonia.Headless.XUnit/AvaloniaTestCaseRunner.cs","AvaloniaTestCaseRunner","Run","正常系","AvaloniaTestCaseRunnerContextが正しく初期化されること","パラメータが有効","testCase, tests, messageBus等","ctxt.InitializeAsync()が呼び出される","高","コンテキスト初期化の検証"
"1","UT-HLS-001","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessClipboardImplStub","TryGetDataAsync","正常系","データが設定されている場合にデータが取得できること","SetDataAsyncでデータ設定済み","なし","NonDisposingDataTransferでラップされたデータが返却される","高","クリップボード基本機能"
"2","UT-HLS-002","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessClipboardImplStub","TryGetDataAsync","境界値","データがnullの場合にnullが返却されること","データ未設定","なし","nullが返却される","高","空状態のエッジケース"
"3","UT-HLS-003","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessClipboardImplStub","SetDataAsync","正常系","データが正しく設定されること","なし","IAsyncDataTransferインスタンス","Task.CompletedTaskが返却されデータが保持される","高","クリップボードデータ設定"
"4","UT-HLS-004","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessClipboardImplStub","ClearAsync","正常系","データがクリアされること","SetDataAsyncでデータ設定済み","なし","_dataがnullになりDisposeが呼ばれる","中","クリップボードクリア"
"5","UT-HLS-005","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessClipboardImplStub","ClearAsync","境界値","データが既にnullの場合でもエラーにならないこと","データ未設定","なし","例外がスローされずTask.CompletedTaskが返却される","中","null安全性"
"6","UT-HLS-006","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessClipboardImplStub","IsCurrentOwnerAsync","正常系","データが設定されている場合にtrueが返却されること","SetDataAsyncでデータ設定済み","なし","trueが返却される","中","所有権確認"
"7","UT-HLS-007","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessClipboardImplStub","IsCurrentOwnerAsync","境界値","データがnullの場合にfalseが返却されること","データ未設定","なし","falseが返却される","中","所有権確認（空）"
"8","UT-HLS-008","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessCursorFactoryStub","GetCursor","正常系","カーソルタイプに対してCursorStubが返却されること","なし","StandardCursorType.Arrow","CursorStubインスタンスが返却される","低","スタブ実装"
"9","UT-HLS-009","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessCursorFactoryStub","CreateCursor","正常系","ビットマップからカーソルが作成されること","なし","IBitmapImplとPixelPoint","CursorStubインスタンスが返却される","低","スタブ実装"
"10","UT-HLS-010","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessPlatformTypeface","コンストラクタ","正常系","ストリームからTypefaceが作成されること","有効なフォントストリーム","Stream, familyName=null","FamilyName/Weight/Style/Stretchが設定される","高","フォント読み込み"
"11","UT-HLS-011","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessPlatformTypeface","コンストラクタ","正常系","familyNameを指定した場合にその名前が使用されること","有効なフォントストリーム","Stream, familyName=""TestFont""","FamilyNameが""TestFont""になる","中","フォント名指定"
"12","UT-HLS-012","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessPlatformTypeface","TryGetStream","正常系","フォントメモリが有効な場合にストリームが取得できること","有効なフォントで初期化済み","なし","trueが返却されストリームが設定される","中","ストリーム取得"
"13","UT-HLS-013","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessPlatformTypeface","TryGetStream","異常系","フォントメモリがnullの場合にfalseが返却されること","_fontMemoryがnull","なし","falseが返却されstreamがnull","中","null安全性"
"14","UT-HLS-014","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessPlatformTypeface","TryGetTable","正常系","有効なタグでテーブルが取得できること","有効なフォントで初期化済み","OpenTypeTag","trueが返却されテーブルデータが設定される","中","OpenTypeテーブル取得"
"15","UT-HLS-015","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessPlatformTypeface","TryGetTable","異常系","フォントメモリがnullの場合にfalseが返却されること","_fontMemoryがnull","OpenTypeTag","falseが返却される","中","null安全性"
"16","UT-HLS-016","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessPlatformTypeface","Dispose","正常系","フォントメモリが正しく解放されること","有効なフォントで初期化済み","なし","_fontMemory.Disposeが呼ばれる","中","リソース解放"
"17","UT-HLS-017","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessFontManagerStub","GetDefaultFontFamilyName","正常系","デフォルトフォント名が返却されること","defaultFamilyName=""Arial""で初期化","なし","""Arial""が返却される","中","フォントマネージャ"
"18","UT-HLS-018","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessFontManagerStub","GetInstalledFontFamilyNames","正常系","デフォルトフォント名のみの配列が返却されること","なし","checkForUpdates=false","デフォルトフォント名のみを含む配列","中","フォント一覧"
"19","UT-HLS-019","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessFontManagerStub","TryMatchCharacter","正常系","常にfalseが返却されること","なし","任意のcodepoint","falseが返却される","低","未実装スタブ"
"20","UT-HLS-020","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessFontManagerStub","TryCreateGlyphTypeface","正常系","フォント名からTypefaceが作成されること","なし","familyName=""Test""","trueが返却されplatformTypefaceが設定される","高","Typeface作成"
"21","UT-HLS-021","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessFontManagerStub","TryCreateGlyphTypeface(Stream)","正常系","ストリームからTypefaceが作成されること","なし","有効なStream","trueが返却されplatformTypefaceが設定される","高","ストリームからTypeface作成"
"22","UT-HLS-022","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessIconLoaderStub","LoadIcon(string)","正常系","ファイル名からアイコンが読み込まれること","なし","fileName=""icon.ico""","IconStubインスタンスが返却される","低","スタブ実装"
"23","UT-HLS-023","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessIconLoaderStub","LoadIcon(Stream)","正常系","ストリームからアイコンが読み込まれること","なし","有効なStream","IconStubインスタンスが返却される","低","スタブ実装"
"24","UT-HLS-024","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessIconLoaderStub","LoadIcon(IBitmapImpl)","正常系","ビットマップからアイコンが読み込まれること","なし","IBitmapImplインスタンス","IconStubインスタンスが返却される","低","スタブ実装"
"25","UT-HLS-025","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessScreensStub","GetAllScreenKeys","正常系","スクリーンキーのリストが返却されること","なし","なし","[1]が返却される","中","スクリーン列挙"
"26","UT-HLS-026","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessScreensStub","CreateScreenFromKey","正常系","キーからPlatformScreenが作成されること","なし","key=1","PlatformScreenStubインスタンス（Bounds=1920x1280）","中","スクリーン作成"
"27","UT-HLS-027","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","TextTestHelper","GetStartCharIndex","正常系","文字列のメモリから開始インデックスが取得できること","文字列がMemoryに格納されている","ReadOnlyMemory<char>","開始インデックスが返却される","中","テストヘルパー"
"28","UT-HLS-028","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","TextTestHelper","GetStartCharIndex","異常系","文字列でないメモリの場合に例外がスローされること","char[]からのMemory","ReadOnlyMemory<char>","InvalidOperationExceptionがスローされる","中","エラーハンドリング"
"29","UT-HLS-029","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","コンストラクタ","正常系","ウィンドウが正しく初期化されること","なし","isPopup=false, frameBufferFormat=Rgba8888","ClientSize=1024x768, RenderScaling=1","高","ウィンドウ初期化"
"30","UT-HLS-030","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","コンストラクタ","正常系","ポップアップとして初期化された場合にIsPopup=trueになること","なし","isPopup=true","IsPopup=true","高","ポップアップ初期化"
"31","UT-HLS-031","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","Dispose","正常系","ウィンドウが正しく解放されること","ウィンドウ初期化済み","なし","Closedイベントが発火し_lastRenderedFrameがDispose","高","リソース解放"
"32","UT-HLS-032","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","PointToClient","正常系","PixelPointからPointに変換されること","なし","PixelPoint(100, 200)","Point(100, 200)が返却される","中","座標変換"
"33","UT-HLS-033","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","PointToScreen","正常系","PointからPixelPointに変換されること","なし","Point(100, 200)","PixelPoint(100, 200)が返却される","中","座標変換"
"34","UT-HLS-034","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","Show","正常系","アクティブ化時にZOrderが更新されActivatedイベントが発火すること","なし","activate=true, isDialog=false","ZOrderが更新されActivatedが発火","高","ウィンドウ表示"
"35","UT-HLS-035","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","Show","正常系","非アクティブ表示時にZOrderが更新されないこと","なし","activate=false, isDialog=false","ZOrderが変更されない","中","非アクティブ表示"
"36","UT-HLS-036","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","Hide","正常系","Deactivatedイベントが発火すること","ウィンドウ表示済み","なし","Deactivatedイベントが発火","中","ウィンドウ非表示"
"37","UT-HLS-037","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","Activate","正常系","ZOrderが更新されActivatedイベントが発火すること","ウィンドウ表示済み","なし","ZOrderが更新されActivatedが発火","高","アクティブ化"
"38","UT-HLS-038","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","Resize","正常系","ポップアップの場合に即座にリサイズされること","IsPopup=true","clientSize=Size(800, 600)","ClientSizeが更新されResizedイベント発火","高","ポップアップリサイズ"
"39","UT-HLS-039","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","Resize","正常系","ウィンドウの場合にDispatcher経由でリサイズされること","IsPopup=false","clientSize=Size(800, 600)","Dispatcherでリサイズ処理がキューイング","高","ウィンドウリサイズ"
"40","UT-HLS-040","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","Resize","境界値","同じサイズの場合にリサイズがスキップされること","ClientSize=Size(1024, 768)","clientSize=Size(1024, 768)","何も起こらない","中","重複リサイズ防止"
"41","UT-HLS-041","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","Lock","正常系","フレームバッファがロックされWriteableBitmapが作成されること","なし","なし","ILockedFramebufferが返却される","高","フレームバッファロック"
"42","UT-HLS-042","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","GetLastRenderedFrame","正常系","最後にレンダリングされたフレームが取得できること","Lock/Disposeが実行済み","なし","WriteableBitmapが返却される","高","フレーム取得"
"43","UT-HLS-043","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","GetLastRenderedFrame","境界値","フレームがない場合にnullが返却されること","フレーム未レンダリング","なし","nullが返却される","高","空フレーム"
"44","UT-HLS-044","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","KeyPress","正常系","キー押下イベントが正しく発火すること","InputRoot設定済み","Key.A, RawInputModifiers.None","RawKeyEventArgs(KeyDown)がInputに渡される","高","キーボード入力"
"45","UT-HLS-045","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","KeyRelease","正常系","キー解放イベントが正しく発火すること","InputRoot設定済み","Key.A, RawInputModifiers.None","RawKeyEventArgs(KeyUp)がInputに渡される","高","キーボード入力"
"46","UT-HLS-046","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","TextInput","正常系","テキスト入力イベントが正しく発火すること","InputRoot設定済み","text=""Hello""","RawTextInputEventArgsがInputに渡される","高","テキスト入力"
"47","UT-HLS-047","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","TextInput","境界値","InputRootがnullの場合に何も起こらないこと","InputRoot未設定","text=""Hello""","例外がスローされない","中","null安全性"
"48","UT-HLS-048","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","MouseDown","正常系","マウスダウンイベントが正しく発火すること","InputRoot設定済み","Point(100,100), MouseButton.Left","RawPointerEventArgs(LeftButtonDown)がInputに渡される","高","マウス入力"
"49","UT-HLS-049","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","MouseDown","正常系","右クリックイベントが正しく発火すること","InputRoot設定済み","Point(100,100), MouseButton.Right","RawPointerEventArgs(RightButtonDown)がInputに渡される","高","マウス入力"
"50","UT-HLS-050","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","MouseMove","正常系","マウス移動イベントが正しく発火すること","InputRoot設定済み","Point(200,200)","RawPointerEventArgs(Move)がInputに渡される","高","マウス入力"
"51","UT-HLS-051","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","MouseUp","正常系","マウスアップイベントが正しく発火すること","InputRoot設定済み","Point(100,100), MouseButton.Left","RawPointerEventArgs(LeftButtonUp)がInputに渡される","高","マウス入力"
"52","UT-HLS-052","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","MouseWheel","正常系","マウスホイールイベントが正しく発火すること","InputRoot設定済み","Point(100,100), Vector(0,120)","RawMouseWheelEventArgsがInputに渡される","高","マウスホイール"
"53","UT-HLS-053","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","DragDrop","正常系","ドラッグ&ドロップイベントが正しく発火すること","InputRoot設定済み, IDragDropDevice登録済み","Point, RawDragEventType.Drop, IDataTransfer","RawDragEventがInputに渡される","高","ドラッグ&ドロップ"
"54","UT-HLS-054","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","Move","正常系","ウィンドウ位置が更新されイベントが発火すること","なし","PixelPoint(100, 100)","Positionが更新されPositionChangedが発火","中","ウィンドウ移動"
"55","UT-HLS-055","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","SetTransparencyLevelHint","正常系","Transparentが含まれる場合にTransparentが設定されること","なし","[Transparent, None]","TransparencyLevel=Transparent","中","透過設定"
"56","UT-HLS-056","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","SetTransparencyLevelHint","正常系","Transparentが含まれない場合にNoneが設定されること","なし","[None, Blur]","TransparencyLevel=None","中","透過設定"
"57","UT-HLS-057","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","TryGetFeature","正常系","IClipboard要求時にクリップボードが返却されること","なし","typeof(IClipboard)","IClipboardインスタンスが返却される","中","機能取得"
"58","UT-HLS-058","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","TryGetFeature","正常系","IScreenImpl要求時にスクリーンが返却されること","なし","typeof(IScreenImpl)","IScreenImplインスタンスが返却される","中","機能取得"
"59","UT-HLS-059","src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs","HeadlessWindowImpl","TryGetFeature","正常系","未サポート機能要求時にnullが返却されること","なし","typeof(未サポート型)","nullが返却される","中","機能取得"
"60","UT-HLS-060","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","Initialize","正常系","レンダリングインターフェースが正しく登録されること","なし","なし","IPlatformRenderInterfaceとIFontManagerImplが登録される","高","初期化"
"61","UT-HLS-061","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","CreateEllipseGeometry","正常系","楕円ジオメトリが作成されること","なし","Rect(0,0,100,50)","HeadlessGeometryStubが返却される","中","ジオメトリ作成"
"62","UT-HLS-062","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","CreateLineGeometry","正常系","線ジオメトリが作成されること","なし","Point(0,0), Point(100,100)","Boundsが正しいHeadlessGeometryStubが返却される","中","ジオメトリ作成"
"63","UT-HLS-063","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","CreateRectangleGeometry","正常系","矩形ジオメトリが作成されること","なし","Rect(0,0,100,100)","HeadlessGeometryStubが返却される","中","ジオメトリ作成"
"64","UT-HLS-064","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","CreateStreamGeometry","正常系","ストリームジオメトリが作成されること","なし","なし","HeadlessStreamingGeometryStubが返却される","中","ジオメトリ作成"
"65","UT-HLS-065","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","CreateGeometryGroup","正常系","複数ジオメトリのグループが作成されること","なし","FillRule.NonZero, [geometry1, geometry2]","結合Boundsを持つジオメトリが返却される","中","ジオメトリ作成"
"66","UT-HLS-066","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","CreateGeometryGroup","境界値","空のジオメトリリストの場合にデフォルトBoundsが使用されること","なし","FillRule.NonZero, []","デフォルトBoundsのジオメトリが返却される","中","空グループ"
"67","UT-HLS-067","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","CreateCombinedGeometry","正常系","2つのジオメトリが結合されること","なし","GeometryCombineMode.Union, g1, g2","結合Boundsを持つジオメトリが返却される","中","ジオメトリ結合"
"68","UT-HLS-068","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","CreateRenderTarget","正常系","レンダーターゲットが作成されること","なし","surfaces","HeadlessRenderTargetが返却される","高","レンダーターゲット"
"69","UT-HLS-069","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","CreateRenderTargetBitmap","正常系","レンダーターゲットビットマップが作成されること","なし","PixelSize(100,100), Vector(96,96)","HeadlessBitmapStubが返却される","中","ビットマップ作成"
"70","UT-HLS-070","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","CreateWriteableBitmap","正常系","書き込み可能ビットマップが作成されること","なし","PixelSize, Vector, PixelFormat, AlphaFormat","HeadlessBitmapStubが返却される","中","ビットマップ作成"
"71","UT-HLS-071","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","LoadBitmap(string)","正常系","ファイルからビットマップが読み込まれること","なし","fileName=""test.png""","HeadlessBitmapStub(1x1)が返却される","中","ビットマップ読み込み"
"72","UT-HLS-072","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","LoadBitmap(Stream)","正常系","ストリームからビットマップが読み込まれること","なし","有効なStream","HeadlessBitmapStub(1x1)が返却される","中","ビットマップ読み込み"
"73","UT-HLS-073","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","LoadBitmapToWidth","正常系","指定幅でビットマップが読み込まれること","なし","Stream, width=200","Size.Width=200のビットマップが返却される","中","リサイズ読み込み"
"74","UT-HLS-074","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","LoadBitmapToHeight","正常系","指定高さでビットマップが読み込まれること","なし","Stream, height=200","Size.Height=200のビットマップが返却される","中","リサイズ読み込み"
"75","UT-HLS-075","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","ResizeBitmap","正常系","ビットマップがリサイズされること","なし","bitmap, PixelSize(50,50)","指定サイズのビットマップが返却される","中","リサイズ"
"76","UT-HLS-076","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","CreateGlyphRun","正常系","GlyphRunが作成されること","なし","GlyphTypeface, emSize, glyphInfos, origin","HeadlessGlyphRunStubが返却される","中","テキスト描画"
"77","UT-HLS-077","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessPlatformRenderInterface","CreateRegion","異常系","リージョン作成時にNotSupportedExceptionがスローされること","なし","なし","NotSupportedExceptionがスローされる","低","未サポート機能"
"78","UT-HLS-078","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessGeometryStub","FillContains","正常系","点がBounds内にある場合にtrueが返却されること","Bounds=Rect(0,0,100,100)","Point(50,50)","trueが返却される","中","ヒットテスト"
"79","UT-HLS-079","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessGeometryStub","FillContains","正常系","点がBounds外にある場合にfalseが返却されること","Bounds=Rect(0,0,100,100)","Point(150,150)","falseが返却される","中","ヒットテスト"
"80","UT-HLS-080","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessGeometryStub","GetRenderBounds","正常系","ペンなしの場合にBoundsがそのまま返却されること","Bounds=Rect(0,0,100,100)","pen=null","Rect(0,0,100,100)が返却される","中","レンダーBounds"
"81","UT-HLS-081","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessGeometryStub","GetRenderBounds","正常系","ペンありの場合にBoundsが拡張されること","Bounds=Rect(0,0,100,100)","pen.Thickness=10","Rect(-5,-5,110,110)が返却される","中","レンダーBounds"
"82","UT-HLS-082","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessGeometryStub","Intersect","正常系","2つのジオメトリの交差部分が計算されること","Bounds=Rect(0,0,100,100)","other.Bounds=Rect(50,50,100,100)","Rect(50,50,50,50)のジオメトリが返却される","中","ジオメトリ演算"
"83","UT-HLS-083","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessGeometryStub","WithTransform","正常系","変換が適用されたジオメトリが返却されること","Bounds設定済み","Matrix.CreateScale(2,2)","変換後のBoundsを持つジオメトリが返却される","中","変換適用"
"84","UT-HLS-084","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessBitmapStub","Lock","正常系","フレームバッファがロックされメモリが確保されること","PixelSize(100,100)で初期化","なし","ILockedFramebufferが返却されVersionがインクリメント","中","フレームバッファ"
"85","UT-HLS-085","src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs","HeadlessBitmapStub","CreateDrawingContext","正常系","描画コンテキストが作成されること","なし","useScaledDrawing=false","HeadlessDrawingContextStubが返却される","中","描画コンテキスト"
"86","UT-HLS-086","src/Headless/Avalonia.Headless/AvaloniaHeadlessPlatform.cs","AvaloniaHeadlessPlatform","Initialize","正常系","プラットフォームサービスが正しく登録されること","なし","AvaloniaHeadlessPlatformOptions","各種サービスがAvaloniaLocatorに登録される","高","プラットフォーム初期化"
"87","UT-HLS-087","src/Headless/Avalonia.Headless/AvaloniaHeadlessPlatform.cs","AvaloniaHeadlessPlatform","ForceRenderTimerTick","正常系","レンダータイマーが強制的にティックされること","プラットフォーム初期化済み","count=1","RenderTimer.ForceTickが1回呼ばれる","高","レンダリング制御"
"88","UT-HLS-088","src/Headless/Avalonia.Headless/AvaloniaHeadlessPlatform.cs","AvaloniaHeadlessPlatform","ForceRenderTimerTick","正常系","複数回ティックが可能なこと","プラットフォーム初期化済み","count=3","RenderTimer.ForceTickが3回呼ばれる","中","レンダリング制御"
"89","UT-HLS-089","src/Headless/Avalonia.Headless/AvaloniaHeadlessPlatform.cs","HeadlessWindowingPlatform","CreateWindow","正常系","ヘッドレスウィンドウが作成されること","なし","なし","HeadlessWindowImpl(isPopup=false)が返却される","高","ウィンドウ作成"
"90","UT-HLS-090","src/Headless/Avalonia.Headless/AvaloniaHeadlessPlatform.cs","HeadlessWindowingPlatform","CreateEmbeddableWindow","異常系","組み込みウィンドウ作成時にPlatformNotSupportedExceptionがスローされること","なし","なし","PlatformNotSupportedExceptionがスローされる","低","未サポート機能"
"91","UT-HLS-091","src/Headless/Avalonia.Headless/AvaloniaHeadlessPlatform.cs","HeadlessWindowingPlatform","GetWindowsZOrder","正常系","ウィンドウのZOrderが正しく取得されること","複数ウィンドウ作成済み","windows配列, zOrder配列","各ウィンドウのZOrderが配列に設定される","中","Zオーダー取得"
"92","UT-HLS-092","src/Headless/Avalonia.Headless/AvaloniaHeadlessPlatform.cs","AvaloniaHeadlessPlatformExtensions","UseHeadless","正常系","UseHeadlessDrawing=trueの場合にHeadless描画が有効になること","なし","opts.UseHeadlessDrawing=true","UseRenderingSubsystemが呼ばれる","高","ビルダー拡張"
"93","UT-HLS-093","src/Headless/Avalonia.Headless/AvaloniaHeadlessPlatform.cs","AvaloniaHeadlessPlatformExtensions","UseHeadless","正常系","UseHeadlessDrawing=falseの場合にHeadless描画が無効になること","なし","opts.UseHeadlessDrawing=false","UseRenderingSubsystemが呼ばれない","中","ビルダー拡張"
"94","UT-HLS-094","src/Headless/Avalonia.Headless/AvaloniaHeadlessPlatform.cs","RenderTimer","ForceTick","正常系","強制ティックで描画コールバックが呼ばれること","タイマー開始済み","なし","tickコールバックが経過時間とともに呼ばれる","高","レンダータイマー"
"95","UT-HLS-095","src/Headless/Avalonia.Headless/AvaloniaHeadlessPlatform.cs","RenderTimer","RunsInBackground","正常系","常にfalseが返却されること","なし","なし","falseが返却される","低","プロパティ確認"
"96","UT-HLS-096","src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs","HeadlessUnitTestSession","StartNew","正常系","新しいセッションが開始されること","なし","entryPointType=typeof(Application)","HeadlessUnitTestSessionインスタンスが返却される","高","セッション開始"
"97","UT-HLS-097","src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs","HeadlessUnitTestSession","StartNew","正常系","isolationLevel=PerTestで分離モードが設定されること","なし","entryPointType, PerTest","_isolated=trueのセッションが作成される","高","分離レベル設定"
"98","UT-HLS-098","src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs","HeadlessUnitTestSession","StartNew","正常系","isolationLevel=PerAssemblyで共有モードが設定されること","なし","entryPointType, PerAssembly","_isolated=falseのセッションが作成される","高","分離レベル設定"
"99","UT-HLS-099","src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs","HeadlessUnitTestSession","Dispatch(Action)","正常系","アクションがUIスレッドで実行されること","セッション開始済み","action, CancellationToken.None","アクションが実行されTaskが完了","高","アクション実行"
"100","UT-HLS-100","src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs","HeadlessUnitTestSession","Dispatch<TResult>(Func)","正常系","結果を返す関数がUIスレッドで実行されること","セッション開始済み","func returning 42","42が返却される","高","関数実行"
"101","UT-HLS-101","src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs","HeadlessUnitTestSession","Dispatch<TResult>(Func<Task>)","正常系","非同期関数がUIスレッドで実行されること","セッション開始済み","async func","Taskが完了し結果が返却される","高","非同期実行"
"102","UT-HLS-102","src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs","HeadlessUnitTestSession","DispatchCore","異常系","セッションがDispose済みの場合にObjectDisposedExceptionがスローされること","セッションDispose済み","任意のaction","ObjectDisposedExceptionがスローされる","高","エラーハンドリング"
"103","UT-HLS-103","src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs","HeadlessUnitTestSession","DispatchCore","異常系","キャンセルトークンがキャンセルされた場合にTaskがキャンセルされること","セッション開始済み","action, canceledToken","TaskCanceledExceptionがスローされる","高","キャンセル処理"
"104","UT-HLS-104","src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs","HeadlessUnitTestSession","DispatchCore","異常系","アクション内で例外がスローされた場合にTaskが失敗すること","セッション開始済み","throwing action","例外がTaskに伝播される","高","例外処理"
"105","UT-HLS-105","src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs","HeadlessUnitTestSession","Dispose","正常系","セッションが正しく破棄されること","セッション開始済み","なし","キャンセルされキューがクローズされタスクが完了","高","リソース解放"
"106","UT-HLS-106","src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs","HeadlessUnitTestSession","DisposeAsync","正常系","セッションが非同期で正しく破棄されること","セッション開始済み","なし","キャンセルされキューがクローズされタスクが完了","高","非同期リソース解放"
"107","UT-HLS-107","src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs","HeadlessUnitTestSession","GetOrStartForAssembly","正常系","アセンブリに対してセッションが作成されること","なし","assembly","HeadlessUnitTestSessionが返却される","高","アセンブリセッション"
"108","UT-HLS-108","src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs","HeadlessUnitTestSession","GetOrStartForAssembly","正常系","同じアセンブリに対して同じセッションが返却されること","セッション作成済み","同じassembly","既存のセッションが返却される","高","セッション再利用"
"109","UT-HLS-109","src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs","HeadlessUnitTestSession","GetOrStartForAssembly","境界値","assemblyがnullの場合にデフォルトアセンブリが使用されること","なし","null","HeadlessUnitTestSession.Assemblyを使用してセッションが作成","中","null処理"
"110","UT-HLS-110","src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs","HeadlessUnitTestSession","EnsureSharedApplication","正常系","共有アプリケーションが初期化されること","_isolated=false","なし","Application.Currentが設定される","高","共有アプリ初期化"
"111","UT-HLS-111","src/Headless/Avalonia.Headless/HeadlessUnitTestSession.cs","HeadlessUnitTestSession","EnsureIsolatedApplication","正常系","分離アプリケーションが初期化されること","_isolated=true","なし","新しいスコープでApplicationが設定される","高","分離アプリ初期化"
"112","UT-HLS-112","src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs","HeadlessWindowExtensions","CaptureRenderedFrame","正常系","レンダリングされたフレームがキャプチャされること","ウィンドウ表示済み","なし","WriteableBitmapが返却される","高","フレームキャプチャ"
"113","UT-HLS-113","src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs","HeadlessWindowExtensions","GetLastRenderedFrame","正常系","最後にレンダリングされたフレームが取得されること","ウィンドウ表示済み, フレームレンダリング済み","なし","WriteableBitmapが返却される","高","フレーム取得"
"114","UT-HLS-114","src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs","HeadlessWindowExtensions","GetLastRenderedFrame","異常系","HeadlessPlatformRenderInterface使用時にNotSupportedExceptionがスローされること","HeadlessDrawingが有効","なし","NotSupportedExceptionがスローされる","高","エラーハンドリング"
"115","UT-HLS-115","src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs","HeadlessWindowExtensions","KeyPress","正常系","キー押下がシミュレートされること","ウィンドウ表示済み","Key.A, modifiers, physicalKey, symbol","KeyPressイベントが発火","高","キーボード入力"
"116","UT-HLS-116","src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs","HeadlessWindowExtensions","KeyPressQwerty","正常系","QWERTYキーボードでキー押下がシミュレートされること","ウィンドウ表示済み","PhysicalKey.KeyA","Key.Aに変換されKeyPressイベントが発火","高","QWERTY入力"
"117","UT-HLS-117","src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs","HeadlessWindowExtensions","KeyRelease","正常系","キー解放がシミュレートされること","ウィンドウ表示済み","Key.A, modifiers, physicalKey, symbol","KeyReleaseイベントが発火","高","キーボード入力"
"118","UT-HLS-118","src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs","HeadlessWindowExtensions","KeyReleaseQwerty","正常系","QWERTYキーボードでキー解放がシミュレートされること","ウィンドウ表示済み","PhysicalKey.KeyA","Key.Aに変換されKeyReleaseイベントが発火","高","QWERTY入力"
"119","UT-HLS-119","src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs","HeadlessWindowExtensions","KeyTextInput","正常系","テキスト入力がシミュレートされること","ウィンドウ表示済み","text=""Hello""","TextInputイベントが発火","高","テキスト入力"
"120","UT-HLS-120","src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs","HeadlessWindowExtensions","MouseDown","正常系","マウスダウンがシミュレートされること","ウィンドウ表示済み","Point(100,100), MouseButton.Left","MouseDownイベントが発火","高","マウス入力"
"121","UT-HLS-121","src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs","HeadlessWindowExtensions","MouseMove","正常系","マウス移動がシミュレートされること","ウィンドウ表示済み","Point(200,200)","MouseMoveイベントが発火","高","マウス入力"
"122","UT-HLS-122","src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs","HeadlessWindowExtensions","MouseUp","正常系","マウスアップがシミュレートされること","ウィンドウ表示済み","Point(100,100), MouseButton.Left","MouseUpイベントが発火","高","マウス入力"
"123","UT-HLS-123","src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs","HeadlessWindowExtensions","MouseWheel","正常系","マウスホイールがシミュレートされること","ウィンドウ表示済み","Point(100,100), Vector(0,120)","MouseWheelイベントが発火","高","マウスホイール"
"124","UT-HLS-124","src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs","HeadlessWindowExtensions","DragDrop","正常系","ドラッグ&ドロップがシミュレートされること","ウィンドウ表示済み","Point, type, data, effects","DragDropイベントが発火","高","ドラッグ&ドロップ"
"125","UT-HLS-125","src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs","HeadlessWindowExtensions","GetImpl","異常系","非ヘッドレスウィンドウの場合にInvalidOperationExceptionがスローされること","通常のウィンドウ","なし","InvalidOperationExceptionがスローされる","高","エラーハンドリング"
"126","UT-HLS-126","src/Headless/Avalonia.Headless/AvaloniaTestApplicationAttribute.cs","AvaloniaTestApplicationAttribute","コンストラクタ","正常系","AppBuilderEntryPointTypeが正しく設定されること","なし","typeof(TestApp)","AppBuilderEntryPointType=typeof(TestApp)","高","属性初期化"
"127","UT-HLS-127","src/Headless/Avalonia.Headless/HeadlessUnitTestIsolationAttribute.cs","AvaloniaTestIsolationAttribute","コンストラクタ","正常系","IsolationLevelが正しく設定されること","なし","AvaloniaTestIsolationLevel.PerAssembly","IsolationLevel=PerAssembly","中","属性初期化"
"128","UT-HLS-128","src/Headless/Avalonia.Headless/HeadlessUnitTestIsolationAttribute.cs","AvaloniaTestIsolationLevel","PerAssembly","正常系","アセンブリ単位の分離レベルが定義されていること","なし","なし","PerAssembly値が存在する","低","列挙型定義"
"129","UT-HLS-129","src/Headless/Avalonia.Headless/HeadlessUnitTestIsolationAttribute.cs","AvaloniaTestIsolationLevel","PerTest","正常系","テスト単位の分離レベルが定義されていること","なし","なし","PerTest値が存在する","低","列挙型定義"
"130","UT-HLS-130","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessFontManagerWithMultipleSystemFontsStub","GetInstalledFontFamilyNames","正常系","インストールされたフォント名の配列が返却されること","installedFontFamilyNames設定済み","checkForUpdates=false","設定されたフォント名配列が返却される","中","複数フォント対応"
"131","UT-HLS-131","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessFontManagerWithMultipleSystemFontsStub","GetDefaultFontFamilyName","正常系","デフォルトフォント名が返却されること","defaultFamilyName設定済み","なし","設定されたデフォルトフォント名が返却される","中","デフォルトフォント"
"132","UT-HLS-132","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessFontManagerWithMultipleSystemFontsStub","TryCreateGlyphTypeface(string)","正常系","常にfalseが返却されること","なし","任意のfamilyName","falseが返却される","低","スタブ実装"
"133","UT-HLS-133","src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs","HeadlessFontManagerWithMultipleSystemFontsStub","TryCreateGlyphTypeface(Stream)","正常系","常にfalseが返却されること","なし","任意のStream","falseが返却される","低","スタブ実装"
"1","UT-LFB-001","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatformOptions.cs","LinuxFramebufferPlatformOptions","Fps (getter/setter)","正常系","デフォルト値が60であること","なし","なし","Fps = 60","中","デフォルトFPS設定"
"2","UT-LFB-002","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatformOptions.cs","LinuxFramebufferPlatformOptions","Fps (getter/setter)","正常系","任意の正の整数を設定できること","なし","Fps = 120","Fps = 120","中","FPS設定の変更"
"3","UT-LFB-003","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatformOptions.cs","LinuxFramebufferPlatformOptions","ShouldRenderOnUIThread (getter/setter)","正常系","デフォルト値がfalseであること","なし","なし","ShouldRenderOnUIThread = false","中","UIスレッドレンダリング設定"
"4","UT-LFB-004","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatformOptions.cs","LinuxFramebufferPlatformOptions","ShouldRenderOnUIThread (getter/setter)","正常系","trueに設定できること","なし","ShouldRenderOnUIThread = true","ShouldRenderOnUIThread = true","中","UIスレッドレンダリング有効化"
"5","UT-LFB-005","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","Constructor","正常系","IOutputBackendのみでインスタンス生成できること","なし","fb = MockOutputBackend","LinuxFramebufferLifetimeインスタンス生成","高","コンストラクタの基本動作"
"6","UT-LFB-006","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","Constructor","正常系","IOutputBackendとIInputBackendでインスタンス生成できること","なし","fb = MockOutputBackend, input = MockInputBackend","LinuxFramebufferLifetimeインスタンス生成","高","コンストラクタのオーバーロード"
"7","UT-LFB-007","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","MainView (getter/setter)","正常系","MainViewにControlを設定できること","TopLevelが初期化済み","MainView = new Button()","MainViewが設定される","高","メインビュー設定"
"8","UT-LFB-008","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","MainView (getter)","正常系","TopLevelが未初期化の場合EnsureTopLevelが呼ばれること","TopLevel未初期化","MainView取得","EnsureTopLevelが実行される","高","遅延初期化"
"9","UT-LFB-009","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","Start","正常系","Startupイベントが発火すること","イベントハンドラ登録済み","args = [""test""]","Startupイベントが引数付きで発火","高","アプリケーション起動"
"10","UT-LFB-010","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","Shutdown","正常系","ExitCodeが設定されること","なし","exitCode = 0","ExitCode = 0","高","正常終了"
"11","UT-LFB-011","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","Shutdown","正常系","Exitイベントが発火すること","イベントハンドラ登録済み","exitCode = 1","Exitイベントが発火しExitCode = 1","高","終了イベント"
"12","UT-LFB-012","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","Shutdown","正常系","CancellationTokenがキャンセルされること","なし","exitCode = 0","Token.IsCancellationRequested = true","高","キャンセルトークン"
"13","UT-LFB-013","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","TopLevel (getter)","正常系","TopLevelが取得できること","EnsureTopLevel実行済み","なし","TopLevelインスタンス","高","TopLevel取得"
"14","UT-LFB-014","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferIconLoaderStub","LoadIcon(string)","正常系","ファイル名からIconStubを返すこと","なし","fileName = ""test.ico""","IWindowIconImplインスタンス","低","アイコンローダースタブ"
"15","UT-LFB-015","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferIconLoaderStub","LoadIcon(Stream)","正常系","ストリームからIconStubを返すこと","なし","stream = MemoryStream","IWindowIconImplインスタンス","低","アイコンローダースタブ"
"16","UT-LFB-016","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferIconLoaderStub","LoadIcon(IBitmapImpl)","正常系","ビットマップからIconStubを返すこと","なし","bitmap = MockBitmapImpl","IWindowIconImplインスタンス","低","アイコンローダースタブ"
"17","UT-LFB-017","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","Constructor","正常系","正常にインスタンス生成されること","Linux環境","inputProvider = MockInputProvider","epoll, pipe, timerfdが初期化される","高","ディスパッチャ初期化"
"18","UT-LFB-018","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","Constructor","異常系","epoll_create1失敗時にWin32Exceptionがスローされること","epoll_create1が-1を返す","なし","Win32Exceptionがスロー","高","初期化失敗"
"19","UT-LFB-019","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","Signal","正常系","Signaledイベントが発火すること","なし","Signal()呼び出し","Signaledイベント発火","高","シグナル通知"
"20","UT-LFB-020","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","Signal","正常系","既にシグナル済みの場合は二重シグナルしないこと","_signaled = true","Signal()呼び出し","Wakeupが呼ばれない","中","二重シグナル防止"
"21","UT-LFB-021","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","UpdateTimer","正常系","タイマーが設定されること","なし","dueTimeInMs = 1000","_nextTimer = 1秒","高","タイマー設定"
"22","UT-LFB-022","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","UpdateTimer","正常系","nullでタイマーがクリアされること","タイマー設定済み","dueTimeInMs = null","_nextTimer = null","高","タイマークリア"
"23","UT-LFB-023","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","CurrentThreadIsLoopThread","正常系","メインスレッドでtrueを返すこと","メインスレッドで実行","なし","true","中","スレッド判定"
"24","UT-LFB-024","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","CurrentThreadIsLoopThread","正常系","別スレッドでfalseを返すこと","別スレッドで実行","なし","false","中","スレッド判定"
"25","UT-LFB-025","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","Now","正常系","経過時間をミリ秒で返すこと","なし","なし","_clock.ElapsedMilliseconds","中","時間取得"
"26","UT-LFB-026","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","HasPendingInput","正常系","入力があればtrueを返すこと","_inputProvider.HasInput = true","なし","true","中","入力確認"
"27","UT-LFB-027","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","Constructor","正常系","正常にインスタンス生成されること","なし","outputBackend, inputBackend","インスタンス生成、Surfaces設定","高","トップレベル実装初期化"
"28","UT-LFB-028","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","SetInputRoot","正常系","InputRootが設定されること","なし","inputRoot = MockInputRoot","InputRoot, _inputBackend.SetInputRoot呼び出し","高","入力ルート設定"
"29","UT-LFB-029","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","PointToClient","正常系","PixelPointをPointに変換すること","なし","PixelPoint(100, 200)","Point(100, 200)","中","座標変換"
"30","UT-LFB-030","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","PointToScreen","正常系","PointをPixelPointに変換すること","なし","Point(100, 200)","PixelPoint(100, 200)","中","座標変換"
"31","UT-LFB-031","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","Dispose","異常系","NotSupportedExceptionがスローされること","なし","Dispose()","NotSupportedException","中","破棄不可"
"32","UT-LFB-032","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","ClientSize","正常系","ScaledSizeが返されること","_outputBackend設定済み","なし","ScaledSize","中","クライアントサイズ"
"33","UT-LFB-033","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","RenderScaling","正常系","_outputBackend.Scalingが返されること","_outputBackend.Scaling = 2.0","なし","2.0","中","レンダリングスケール"
"34","UT-LFB-034","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","TransparencyLevel","正常系","Noneが返されること","なし","なし","WindowTransparencyLevel.None","低","透明度レベル"
"35","UT-LFB-035","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","CreatePopup","正常系","nullが返されること","なし","なし","null","低","ポップアップ非対応"
"36","UT-LFB-036","src/Linux/Avalonia.LinuxFramebuffer/DrmOutputOptions.cs","DrmOutputOptions","Scaling (getter/setter)","正常系","デフォルト値が1.0であること","なし","なし","Scaling = 1.0","中","スケーリングデフォルト"
"37","UT-LFB-037","src/Linux/Avalonia.LinuxFramebuffer/DrmOutputOptions.cs","DrmOutputOptions","Orientation (getter/setter)","正常系","デフォルト値がRotation0であること","なし","なし","Orientation = SurfaceOrientation.Rotation0","中","画面回転デフォルト"
"38","UT-LFB-038","src/Linux/Avalonia.LinuxFramebuffer/DrmOutputOptions.cs","DrmOutputOptions","EnableInitialBufferSwapping (getter/setter)","正常系","デフォルト値がtrueであること","なし","なし","EnableInitialBufferSwapping = true","中","バッファスワップデフォルト"
"39","UT-LFB-039","src/Linux/Avalonia.LinuxFramebuffer/DrmOutputOptions.cs","DrmOutputOptions","InitialBufferSwappingColor (getter/setter)","正常系","デフォルト値が黒(0,0,0,0)であること","なし","なし","Color(0, 0, 0, 0)","中","初期バッファ色"
"40","UT-LFB-040","src/Linux/Avalonia.LinuxFramebuffer/DrmOutputOptions.cs","DrmOutputOptions","VideoMode (getter/setter)","正常系","nullで初期化されること","なし","なし","VideoMode = null","中","ビデオモード"
"41","UT-LFB-041","src/Linux/Avalonia.LinuxFramebuffer/DrmOutputOptions.cs","DrmOutputOptions","ConnectorType (getter/setter)","正常系","nullで初期化されること","なし","なし","ConnectorType = null","中","コネクタタイプ"
"42","UT-LFB-042","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","Constructor(DrmCard, DrmResources, DrmConnector, DrmModeInfo, DrmOutputOptions)","正常系","正常にインスタンス生成されること","有効なDRMカード","card, resources, connector, modeInfo, options","DrmOutputインスタンス生成","高","DRM出力初期化"
"43","UT-LFB-043","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","Constructor(string, bool, DrmOutputOptions)","正常系","パス指定でインスタンス生成されること","有効なDRMカードパス","path = ""/dev/dri/card0""","DrmOutputインスタンス生成","高","パス指定初期化"
"44","UT-LFB-044","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","Constructor","異常系","コネクタが見つからない場合InvalidOperationExceptionがスローされること","コネクタ未接続","card = 無効なカード","InvalidOperationException","高","コネクタ未検出"
"45","UT-LFB-045","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","Constructor","異常系","モードが見つからない場合InvalidOperationExceptionがスローされること","モード未設定","connector with no modes","InvalidOperationException","高","モード未検出"
"46","UT-LFB-046","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","PixelSize (getter)","正常系","Rotation0/180の場合は元のサイズが返ること","Orientation = Rotation0","なし","PixelSize(width, height)","中","ピクセルサイズ(回転なし)"
"47","UT-LFB-047","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","PixelSize (getter)","正常系","Rotation90/270の場合は幅と高さが入れ替わること","Orientation = Rotation90","なし","PixelSize(height, width)","中","ピクセルサイズ(回転あり)"
"48","UT-LFB-048","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","Scaling (getter/setter)","正常系","Scalingが設定・取得できること","なし","Scaling = 2.0","Scaling = 2.0","中","スケーリング"
"49","UT-LFB-049","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","Orientation (getter/setter)","正常系","Orientationが設定・取得できること","なし","Orientation = Rotation90","Orientation = Rotation90","中","画面回転"
"50","UT-LFB-050","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","CreateGlRenderTarget","正常系","RenderTargetが作成されること","初期化済み","なし","IGlPlatformSurfaceRenderTargetインスタンス","高","レンダーターゲット作成"
"51","UT-LFB-051","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","CreateGlRenderTarget(IGlContext)","正常系","正しいコンテキストでRenderTargetが作成されること","初期化済み","context = _deferredContext","IGlPlatformSurfaceRenderTargetインスタンス","高","コンテキスト指定"
"52","UT-LFB-052","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","CreateGlRenderTarget(IGlContext)","異常系","異なるコンテキストでInvalidOperationExceptionがスローされること","初期化済み","context = 別のコンテキスト","InvalidOperationException","高","不正コンテキスト"
"53","UT-LFB-053","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","GetFbIdForBo","正常系","有効なboに対してFB IDが返されること","初期化済み","bo = 有効なポインタ","FB ID (uint)","高","フレームバッファID取得"
"54","UT-LFB-054","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","GetFbIdForBo","異常系","bo=0の場合ArgumentExceptionがスローされること","なし","bo = IntPtr.Zero","ArgumentException","高","無効なbo"
"55","UT-LFB-055","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmCard","Constructor(string)","正常系","パス指定でDRMカードを開けること","有効なDRMカード","path = ""/dev/dri/card0""","Fd > 0","高","カードオープン"
"56","UT-LFB-056","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmCard","Constructor(string)","正常系","パスnullで自動検出されること","/dev/dri/card*が存在","path = null","Fd > 0","高","自動検出"
"57","UT-LFB-057","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmCard","Constructor(string)","異常系","無効なパスでWin32Exceptionがスローされること","なし","path = ""/invalid/path""","Win32Exception","高","無効パス"
"58","UT-LFB-058","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmCard","Constructor(int)","正常系","ファイルディスクリプタでインスタンス生成できること","なし","fd = 3","Fd = 3","中","FD指定初期化"
"59","UT-LFB-059","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmCard","GetResources","正常系","DrmResourcesが取得できること","有効なカード","connectorsForceProbe = false","DrmResourcesインスタンス","高","リソース取得"
"60","UT-LFB-060","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmCard","Dispose","正常系","ファイルディスクリプタがクローズされること","Fd > 0","なし","Fd = -1","高","リソース解放"
"61","UT-LFB-061","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmResources","Constructor","正常系","正常にリソースが取得されること","有効なfd","fd, connectorsForceProbe = false","Connectors, Encoders初期化","高","リソース初期化"
"62","UT-LFB-062","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmResources","Constructor","異常系","drmModeGetResources失敗時Win32Exceptionがスローされること","無効なfd","fd = -1","Win32Exception","高","リソース取得失敗"
"63","UT-LFB-063","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmConnector","Constructor","正常系","コネクタ情報が正しく読み取られること","有効なdrmModeConnector","conn = 有効なポインタ","Id, Name, Connection等が設定","高","コネクタ初期化"
"64","UT-LFB-064","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmConnector","Name","正常系","既知のコネクタタイプで正しい名前が生成されること","connector_type = 11 (HDMI-A)","なし","""HDMI-A-{id}""","中","コネクタ名"
"65","UT-LFB-065","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmConnector","Name","境界値","未知のコネクタタイプで適切な名前が生成されること","connector_type > 16","なし","""Unknown({type})-{id}""","中","未知コネクタ"
"66","UT-LFB-066","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmModeInfo","Resolution","正常系","正しい解像度が返されること","hdisplay=1920, vdisplay=1080","なし","PixelSize(1920, 1080)","中","解像度取得"
"67","UT-LFB-067","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmModeInfo","IsPreferred","正常系","DRM_MODE_TYPE_PREFERREDフラグがある場合trueを返すこと","type = DRM_MODE_TYPE_PREFERRED","なし","true","中","優先モード判定"
"68","UT-LFB-068","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","Constructor(string)","正常系","ファイル名指定で初期化されること","有効なfbdev","fileName = ""/dev/fb0""","FbdevOutputインスタンス","高","Fbdev初期化"
"69","UT-LFB-069","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","Constructor(string)","正常系","null指定で環境変数/デフォルトが使用されること","/dev/fb0が存在","fileName = null","FbdevOutputインスタンス","高","デフォルトパス"
"70","UT-LFB-070","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","Constructor","異常系","無効なファイルでExceptionがスローされること","なし","fileName = ""/invalid/fb""","Exception","高","無効ファイル"
"71","UT-LFB-071","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","PixelSize (getter)","正常系","正しいピクセルサイズが返されること","初期化済み","なし","PixelSize(xres, yres)","中","ピクセルサイズ"
"72","UT-LFB-072","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","Lock","正常系","ILockedFramebufferが返されること","初期化済み","なし","ILockedFramebufferインスタンス","高","フレームバッファロック"
"73","UT-LFB-073","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","Lock","異常系","Dispose後はObjectDisposedExceptionがスローされること","Dispose済み","なし","ObjectDisposedException","高","破棄後ロック"
"74","UT-LFB-074","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","SetBpp","正常系","Rgba8888フォーマットが設定できること","なし","format = PixelFormat.Rgba8888","bits_per_pixel = 32, RGBA設定","高","ピクセルフォーマット"
"75","UT-LFB-075","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","SetBpp","正常系","Bgra8888フォーマットが設定できること","なし","format = PixelFormat.Bgra8888","bits_per_pixel = 32, BGRA設定","高","ピクセルフォーマット"
"76","UT-LFB-076","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","SetBpp","正常系","Rgb565フォーマットが設定できること","なし","format = PixelFormat.Rgb565","bits_per_pixel = 16, RGB565設定","高","ピクセルフォーマット"
"77","UT-LFB-077","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","SetBpp","異常系","未サポートフォーマットでNotSupportedExceptionがスローされること","なし","format = 未サポート","NotSupportedException","高","未サポートフォーマット"
"78","UT-LFB-078","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","Dispose","正常系","リソースが解放されること","初期化済み","なし","_fd = 0, メモリアンマップ","高","リソース解放"
"79","UT-LFB-079","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","CreateFramebufferRenderTarget","正常系","IFramebufferRenderTargetが返されること","初期化済み","なし","IFramebufferRenderTargetインスタンス","高","レンダーターゲット作成"
"80","UT-LFB-080","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevOutputOptions.cs","FbDevOutputOptions","FileName (getter/setter)","正常系","nullがデフォルトであること","なし","なし","FileName = null","中","ファイル名デフォルト"
"81","UT-LFB-081","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevOutputOptions.cs","FbDevOutputOptions","PixelFormat (getter/setter)","正常系","nullがデフォルトであること","なし","なし","PixelFormat = null","中","ピクセルフォーマットデフォルト"
"82","UT-LFB-082","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevOutputOptions.cs","FbDevOutputOptions","RenderDirectlyToMappedMemory (getter/setter)","正常系","falseがデフォルトであること","なし","なし","RenderDirectlyToMappedMemory = false","中","直接レンダリングデフォルト"
"83","UT-LFB-083","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevOutputOptions.cs","FbDevOutputOptions","Scaling (getter/setter)","正常系","1.0がデフォルトであること","なし","なし","Scaling = 1.0","中","スケーリングデフォルト"
"84","UT-LFB-084","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","Constructor","正常系","正常にインスタンス生成されること","なし","fb, fixedInfo, varInfo, targetAddress, asyncBlit=false","Address != IntPtr.Zero","高","バックバッファ初期化"
"85","UT-LFB-085","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","Constructor","正常系","asyncBlit=trueでAsyncFbBlitterが作成されること","なし","asyncBlit = true","_asyncBlit != null","高","非同期ブリット有効"
"86","UT-LFB-086","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","Dispose","正常系","メモリが解放されること","Address != IntPtr.Zero","なし","Address = IntPtr.Zero","高","リソース解放"
"87","UT-LFB-087","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","Lock","正常系","LockedFramebufferが返されること","初期化済み","dpi = (96, 96)","ILockedFramebufferインスタンス","高","フレームバッファロック"
"88","UT-LFB-088","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","LockFb (static)","正常系","16bitピクセルでRgb565フォーマットが設定されること","bits_per_pixel = 16","varInfo.bits_per_pixel = 16","format = PixelFormat.Rgb565","高","16bitフォーマット判定"
"89","UT-LFB-089","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","LockFb (static)","正常系","32bit BGRAでBgra8888フォーマットが設定されること","bits_per_pixel = 32, blue.offset = 0","なし","format = PixelFormat.Bgra8888","高","BGRAフォーマット判定"
"90","UT-LFB-090","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","LockFb (static)","正常系","32bit RGBAでRgba8888フォーマットが設定されること","bits_per_pixel = 32, blue.offset = 16","なし","format = PixelFormat.Rgba8888","高","RGBAフォーマット判定"
"91","UT-LFB-091","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","Size (getter)","正常系","正しいサイズが返されること","varInfo設定済み","なし","PixelSize(xres, yres)","中","サイズ取得"
"92","UT-LFB-092","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","RowBytes (getter)","正常系","line_lengthが返されること","fixedInfo設定済み","なし","(int)fixedInfo.line_length","中","行バイト数"
"93","UT-LFB-093","src/Linux/Avalonia.LinuxFramebuffer/Input/IInputBackend.cs","IInputBackend","Initialize","正常系","初期化が正常に完了すること","なし","info, onInput","初期化完了","高","入力バックエンド初期化"
"94","UT-LFB-094","src/Linux/Avalonia.LinuxFramebuffer/Input/IInputBackend.cs","IInputBackend","SetInputRoot","正常系","InputRootが設定されること","なし","root = MockInputRoot","InputRoot設定","高","入力ルート設定"
"95","UT-LFB-095","src/Linux/Avalonia.LinuxFramebuffer/Input/NullInput/NullInputBackend.cs","NullInputBackend","Initialize","正常系","何も行わずに正常終了すること","なし","screen, onInput","正常終了","低","Null入力初期化"
"96","UT-LFB-096","src/Linux/Avalonia.LinuxFramebuffer/Input/NullInput/NullInputBackend.cs","NullInputBackend","SetInputRoot","正常系","何も行わずに正常終了すること","なし","root = MockInputRoot","正常終了","低","Null入力ルート設定"
"97","UT-LFB-097","src/Linux/Avalonia.LinuxFramebuffer/Input/RawEventGroupingThreadingHelper.cs","RawEventGroupingThreadingHelper","Constructor","正常系","正常にインスタンス生成されること","なし","eventCallback = MockCallback","インスタンス生成","中","ヘルパー初期化"
"98","UT-LFB-098","src/Linux/Avalonia.LinuxFramebuffer/Input/RawEventGroupingThreadingHelper.cs","RawEventGroupingThreadingHelper","OnEvent","正常系","イベントがキューに追加されること","なし","args = MockRawInputEventArgs","_rawQueue.Count = 1","高","イベント追加"
"99","UT-LFB-099","src/Linux/Avalonia.LinuxFramebuffer/Input/RawEventGroupingThreadingHelper.cs","RawEventGroupingThreadingHelper","OnEvent","正常系","初回イベントでDispatcher.UIThread.Postが呼ばれること","_rawQueue.Count = 0","args = MockRawInputEventArgs","Postが呼ばれる","高","UIスレッドディスパッチ"
"100","UT-LFB-100","src/Linux/Avalonia.LinuxFramebuffer/Input/RawEventGroupingThreadingHelper.cs","RawEventGroupingThreadingHelper","Dispose","正常系","_grouperがDisposeされること","なし","なし","Dispatcher.UIThread.Post呼び出し","中","リソース解放"
"101","UT-LFB-101","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevBackend.cs","EvDevBackend","Constructor","正常系","デバイス記述配列で初期化されること","なし","devices = [MockDeviceDescription]","_deviceDescriptions設定","高","EvDevバックエンド初期化"
"102","UT-LFB-102","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevBackend.cs","EvDevBackend","Initialize","正常系","epollが作成されデバイスが登録されること","有効なデバイス","info, onInput","_epoll > 0, _handlers.Count > 0","高","EvDev初期化"
"103","UT-LFB-103","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevBackend.cs","EvDevBackend","Initialize","正常系","入力スレッドが開始されること","なし","info, onInput","スレッド起動","高","入力スレッド起動"
"104","UT-LFB-104","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevBackend.cs","EvDevBackend","SetInputRoot","正常系","全ハンドラにInputRootが設定されること","_handlers初期化済み","root = MockInputRoot","各handler.InputRoot = root","高","入力ルート伝播"
"105","UT-LFB-105","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevBackend.cs","EvDevBackend","CreateFromEnvironment","正常系","環境変数からデバイスが作成されること","AVALONIA_EVDEV_DEVICE_*設定済み","なし","EvDevBackendインスタンス","高","環境変数からの作成"
"106","UT-LFB-106","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevBackend.cs","EvDevBackend","CreateFromEnvironment","異常系","環境変数未設定でExceptionがスローされること","環境変数未設定","なし","Exception","高","環境変数未設定"
"107","UT-LFB-107","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevDevice.cs","EvDevDevice","Constructor","正常系","正常にインスタンス生成されること","有効なfd, dev","fd = 3, dev = 有効ポインタ","Fd, Name, EventTypes設定","高","EvDevデバイス初期化"
"108","UT-LFB-108","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevDevice.cs","EvDevDevice","Open (static)","正常系","デバイスファイルをオープンできること","有効なデバイスパス","device = ""/dev/input/event0""","EvDevDeviceインスタンス","高","デバイスオープン"
"109","UT-LFB-109","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevDevice.cs","EvDevDevice","Open (static)","異常系","無効なパスでExceptionがスローされること","なし","device = ""/invalid/path""","Exception","高","無効パス"
"110","UT-LFB-110","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevDevice.cs","EvDevDevice","NextEvent","正常系","イベントがある場合input_eventが返されること","イベント待ち状態","なし","input_event","中","イベント取得"
"111","UT-LFB-111","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevDevice.cs","EvDevDevice","NextEvent","正常系","イベントがない場合nullが返されること","イベントなし","なし","null","中","イベントなし"
"112","UT-LFB-112","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevDeviceDescription.cs","EvDevDeviceDescription","ParseFromEnv","正常系","touchscreenタイプが正しくパースされること","なし","env = ""/dev/input/event0:type=touchscreen""","EvDevTouchScreenDeviceDescriptionインスタンス","高","環境変数パース"
"113","UT-LFB-113","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevDeviceDescription.cs","EvDevDeviceDescription","ParseFromEnv","異常系","不正なフォーマットでArgumentExceptionがスローされること","なし","env = ""invalid""","ArgumentException","高","不正フォーマット"
"114","UT-LFB-114","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevDeviceDescription.cs","EvDevDeviceDescription","ParseFromEnv","異常系","typeが不明な場合ArgumentExceptionがスローされること","なし","env = ""/dev/input/event0:type=unknown""","ArgumentException","高","未知タイプ"
"115","UT-LFB-115","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreenDeviceDescription.cs","EvDevTouchScreenDeviceDescription","ParseFromEnv","正常系","キャリブレーションマトリクスがパースされること","なし","options[""calibration""] = ""1,0,0,0,1,0""","CalibrationMatrixが設定","高","キャリブレーションパース"
"116","UT-LFB-116","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreenDeviceDescription.cs","EvDevTouchScreenDeviceDescription","CalibrationMatrix","正常系","デフォルトがIdentityマトリクスであること","なし","なし","Matrix.Identity","中","デフォルトキャリブレーション"
"117","UT-LFB-117","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreen.cs","EvDevSingleTouchScreen","Constructor","正常系","正常にインスタンス生成されること","有効なタッチスクリーンデバイス","device, description, screenInfo","インスタンス生成","高","タッチスクリーン初期化"
"118","UT-LFB-118","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreen.cs","EvDevSingleTouchScreen","Constructor","異常系","AbsX/AbsYがnullの場合ArgumentExceptionがスローされること","非タッチスクリーンデバイス","device.AbsX = null","ArgumentException","高","非タッチスクリーン"
"119","UT-LFB-119","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreen.cs","EvDevSingleTouchScreen","HandleEvent","正常系","EV_ABSイベントで座標が更新されること","初期化済み","ev.Type = EV_ABS, Axis = ABS_X, value = 100","_currentX = 100","高","座標更新"
"120","UT-LFB-120","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreen.cs","EvDevSingleTouchScreen","HandleEvent","正常系","EV_KEYイベントでタッチ状態が更新されること","初期化済み","ev.Type = EV_KEY, Key = BTN_TOUCH, value = 1","_pressAction = true","高","タッチ状態"
"121","UT-LFB-121","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreen.cs","EvDevSingleTouchScreen","HandleEvent","正常系","EV_SYNイベントでRawTouchEventArgsが発火すること","タッチ開始済み","ev.Type = EV_SYN","RawTouchEventArgs発火","高","イベント発火"
"122","UT-LFB-122","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreen.cs","EvDevDeviceHandler","HandleEvents","正常系","全イベントが処理されること","イベントあり","なし","全イベントがHandleEventに渡される","中","イベント処理ループ"
"123","UT-LFB-123","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreen.cs","EvDevDeviceHandler","InputRoot (getter)","異常系","未設定時にInvalidOperationExceptionがスローされること","InputRoot未設定","なし","InvalidOperationException","中","InputRoot未設定"
"124","UT-LFB-124","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.cs","LibInputBackend","Constructor","正常系","デフォルトコンストラクタで初期化されること","なし","なし","_options = null","中","デフォルト初期化"
"125","UT-LFB-125","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.cs","LibInputBackend","Constructor(LibInputBackendOptions)","正常系","オプション付きで初期化されること","なし","options = new LibInputBackendOptions()","_options設定","中","オプション初期化"
"126","UT-LFB-126","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.cs","LibInputBackend","Initialize","正常系","入力スレッドが開始されること","なし","screen, onInput","スレッド起動","高","LibInput初期化"
"127","UT-LFB-127","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.cs","LibInputBackend","Initialize","正常系","オプションEventsがnullの場合/dev/input/event*が使用されること","_options.Events = null","screen, onInput","Directory.GetFiles呼び出し","高","自動デバイス検出"
"128","UT-LFB-128","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.cs","LibInputBackend","SetInputRoot","正常系","_inputRootが設定されること","なし","root = MockInputRoot","_inputRoot = root","高","入力ルート設定"
"129","UT-LFB-129","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.cs","LibInputBackend","InputRoot (getter)","異常系","未設定時にInvalidOperationExceptionがスローされること","_inputRoot = null","なし","InvalidOperationException","中","InputRoot未設定"
"130","UT-LFB-130","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Pointer.cs","LibInputBackend","HandlePointer","正常系","POINTER_MOTION_ABSOLUTEでマウス位置が更新されること","初期化済み","type = POINTER_MOTION_ABSOLUTE","_mousePosition更新, RawPointerEventArgs発火","高","マウス移動"
"131","UT-LFB-131","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Pointer.cs","LibInputBackend","HandlePointer","正常系","POINTER_BUTTON左ボタンダウンでイベントが発火すること","初期化済み","button = BTN_LEFT, state = 1","RawPointerEventType.LeftButtonDown","高","左ボタンダウン"
"132","UT-LFB-132","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Pointer.cs","LibInputBackend","HandlePointer","正常系","POINTER_BUTTON左ボタンアップでイベントが発火すること","初期化済み","button = BTN_LEFT, state = 0","RawPointerEventType.LeftButtonUp","高","左ボタンアップ"
"133","UT-LFB-133","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Pointer.cs","LibInputBackend","HandlePointer","正常系","POINTER_AXISホイールイベントでスクロールイベントが発火すること","初期化済み","type = POINTER_AXIS, source = WHEEL","RawMouseWheelEventArgs発火","高","マウスホイール"
"134","UT-LFB-134","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Pointer.cs","LibInputBackend","HandlePointer","正常系","POINTER_SCROLL_WHEELでハイレゾホイールイベントが発火すること","初期化済み","type = POINTER_SCROLL_WHEEL","RawMouseWheelEventArgs発火","高","ハイレゾホイール"
"135","UT-LFB-135","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Touch.cs","LibInputBackend","HandleTouch","正常系","TOUCH_DOWNでTouchBeginイベントが発火すること","初期化済み","type = TOUCH_DOWN","RawPointerEventType.TouchBegin","高","タッチ開始"
"136","UT-LFB-136","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Touch.cs","LibInputBackend","HandleTouch","正常系","TOUCH_UPでTouchEndイベントが発火すること","初期化済み","type = TOUCH_UP","RawPointerEventType.TouchEnd","高","タッチ終了"
"137","UT-LFB-137","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Touch.cs","LibInputBackend","HandleTouch","正常系","TOUCH_MOTIONでTouchUpdateイベントが発火すること","初期化済み","type = TOUCH_MOTION","RawPointerEventType.TouchUpdate","高","タッチ移動"
"138","UT-LFB-138","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Touch.cs","LibInputBackend","HandleTouch","正常系","TOUCH_CANCELでTouchCancelイベントが発火すること","初期化済み","type = TOUCH_CANCEL","RawPointerEventType.TouchCancel","高","タッチキャンセル"
"139","UT-LFB-139","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Touch.cs","LibInputBackend","HandleTouch","正常系","マルチタッチで各スロットが追跡されること","初期化済み","複数のタッチイベント","_pointers辞書に追加/削除","高","マルチタッチ"
"140","UT-LFB-140","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Touch.cs","LibInputBackend","HandleTouch","境界値","tev = IntPtr.Zeroの場合は何もしないこと","初期化済み","tev = IntPtr.Zero","早期リターン","中","無効タッチイベント"
"141","UT-LFB-141","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackendOptions.cs","LibInputBackendOptions","Events (getter/init)","正常系","デフォルトがnullであること","なし","なし","Events = null","中","イベントリストデフォルト"
"142","UT-LFB-142","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackendOptions.cs","LibInputBackendOptions","Events (getter/init)","正常系","イベントリストが設定できること","なし","Events = [""/dev/input/event0""]","Events設定","中","イベントリスト設定"
"143","UT-LFB-143","src/Linux/Avalonia.LinuxFramebuffer/Stubs.cs","CursorFactoryStub","GetCursor","正常系","StandardCursorTypeに対してCursorStubが返されること","なし","cursorType = Arrow","ICursorImplインスタンス","低","カーソルスタブ"
"144","UT-LFB-144","src/Linux/Avalonia.LinuxFramebuffer/Stubs.cs","CursorFactoryStub","CreateCursor","正常系","カスタムカーソルに対してCursorStubが返されること","なし","cursor = MockBitmapImpl, hotSpot = (0,0)","ICursorImplインスタンス","低","カスタムカーソルスタブ"
"145","UT-LFB-145","src/Linux/Avalonia.LinuxFramebuffer/Stubs.cs","CursorStub","Dispose","正常系","何も行わずに正常終了すること","なし","なし","正常終了","低","カーソル破棄"
"146","UT-LFB-146","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferPlatformExtensions","StartLinuxFbDev(AppBuilder, string[], string, double, IInputBackend)","正常系","FbdevOutputで起動されること","有効なfbdev","args, fbdev = ""/dev/fb0"", scaling = 1.0","アプリケーション実行","高","FbDev起動"
"147","UT-LFB-147","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferPlatformExtensions","StartLinuxFbDev(AppBuilder, string[], string, PixelFormat, double, IInputBackend)","正常系","ピクセルフォーマット指定でFbdevOutputが起動されること","有効なfbdev","args, fbdev, format = Rgba8888, scaling = 1.0","アプリケーション実行","高","FbDev起動(フォーマット指定)"
"148","UT-LFB-148","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferPlatformExtensions","StartLinuxFbDev(AppBuilder, string[], FbDevOutputOptions, IInputBackend)","正常系","オプション指定でFbdevOutputが起動されること","有効なfbdev","args, options","アプリケーション実行","高","FbDev起動(オプション指定)"
"149","UT-LFB-149","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferPlatformExtensions","StartLinuxDrm(AppBuilder, string[], string, double, IInputBackend)","正常系","DrmOutputで起動されること","有効なDRMカード","args, card = ""/dev/dri/card0"", scaling = 1.0","アプリケーション実行","高","DRM起動"
"150","UT-LFB-150","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferPlatformExtensions","StartLinuxDrm(AppBuilder, string[], string, bool, DrmOutputOptions, IInputBackend)","正常系","オプション指定でDrmOutputが起動されること","有効なDRMカード","args, card, connectorsForceProbe = true, options","アプリケーション実行","高","DRM起動(オプション指定)"
"151","UT-LFB-151","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferPlatformExtensions","StartLinuxDirect","正常系","カスタムIOutputBackendで起動されること","なし","args, outputBackend = MockOutputBackend","アプリケーション実行、exitCode返却","高","直接起動"
"152","UT-LFB-152","src/Linux/Avalonia.LinuxFramebuffer/DrmConnectorType.cs","DrmConnectorType","enum values","正常系","全コネクタタイプが正しい値を持つこと","なし","なし","None=0, VGA=1, ... DSI=16","低","列挙型定義"
"1","UT-AML-001","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaRuntimeXamlLoader.cs","AvaloniaRuntimeXamlLoader","Load(string)","正常系","有効なXAML文字列からオブジェクトが生成されること","なし","xaml=""<Button Content='Test' />""","Buttonオブジェクトが返却される","高","基本的なXAMLロード機能"
"2","UT-AML-002","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaRuntimeXamlLoader.cs","AvaloniaRuntimeXamlLoader","Load(string)","異常系","null値が渡された場合にArgumentNullExceptionがスローされること","なし","xaml=null","ArgumentNullExceptionがスローされる","高","入力検証"
"3","UT-AML-003","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaRuntimeXamlLoader.cs","AvaloniaRuntimeXamlLoader","Load(string)","異常系","空文字列が渡された場合に適切なエラーが発生すること","なし","xaml=""""","XamlParseExceptionまたは空オブジェクト関連のエラー","中","空入力処理"
"4","UT-AML-004","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaRuntimeXamlLoader.cs","AvaloniaRuntimeXamlLoader","Load(string)","異常系","不正なXAML文字列が渡された場合に例外がスローされること","なし","xaml=""<InvalidXaml""","XamlParseExceptionがスローされる","高","不正XAML処理"
"5","UT-AML-005","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaRuntimeXamlLoader.cs","AvaloniaRuntimeXamlLoader","Load(string)","正常系","localAssembly指定時に正しいアセンブリコンテキストが使用されること","なし","xaml=""<UserControl />"", localAssembly=Assembly.GetExecutingAssembly()","UserControlがローカルアセンブリコンテキストで生成される","中","アセンブリコンテキスト"
"6","UT-AML-006","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaRuntimeXamlLoader.cs","AvaloniaRuntimeXamlLoader","Load(string)","正常系","rootInstance指定時に既存オブジェクトにXAMLが適用されること","Buttonインスタンスが存在","xaml=""<Button />"", rootInstance=existingButton","既存のButtonインスタンスにプロパティが設定される","中","既存オブジェクトへの適用"
"7","UT-AML-007","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaRuntimeXamlLoader.cs","AvaloniaRuntimeXamlLoader","Load(string)","正常系","uri指定時に正しいURIコンテキストが設定されること","なし","xaml=""<Button />"", uri=new Uri(""avares://test/test.xaml"")","URIコンテキストが正しく設定される","低","URIコンテキスト"
"8","UT-AML-008","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaRuntimeXamlLoader.cs","AvaloniaRuntimeXamlLoader","Load(string)","正常系","designMode=trueの場合にデザインモードが有効になること","なし","xaml=""<Button />"", designMode=true","デザインモードのプロパティが有効化される","低","デザインモード"
"9","UT-AML-009","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaRuntimeXamlLoader.cs","AvaloniaRuntimeXamlLoader","Load(Stream)","正常系","有効なストリームからオブジェクトが生成されること","なし","stream=UTF8エンコードされたXAMLストリーム","正しいオブジェクトが返却される","高","ストリームロード"
"10","UT-AML-010","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaRuntimeXamlLoader.cs","AvaloniaRuntimeXamlLoader","Load(RuntimeXamlLoaderDocument)","正常系","RuntimeXamlLoaderDocumentからオブジェクトが正しく生成されること","なし","document=有効なRuntimeXamlLoaderDocument","オブジェクトが正しく生成される","高","ドキュメントロード"
"11","UT-AML-011","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaRuntimeXamlLoader.cs","AvaloniaRuntimeXamlLoader","LoadGroup","正常系","複数ドキュメントのグループロードが正しく動作すること","なし","documents=3つのXAMLドキュメント","3つのオブジェクトのリストが返却される","中","グループロード"
"12","UT-AML-012","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaRuntimeXamlLoader.cs","AvaloniaRuntimeXamlLoader","LoadGroup","境界値","空のドキュメントコレクションが渡された場合","なし","documents=空のコレクション","空のリストが返却される","中","空コレクション処理"
"13","UT-AML-013","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaRuntimeXamlLoader.cs","AvaloniaRuntimeXamlLoader","LoadGroup","境界値","1件のドキュメントが渡された場合","なし","documents=1つのXAMLドキュメント","1件のオブジェクトを含むリストが返却される","中","単一ドキュメント"
"14","UT-AML-014","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaRuntimeXamlLoader.cs","AvaloniaRuntimeXamlLoader","Parse(string)","正常系","Parse<T>でジェネリック型として正しくパースされること","なし","xaml=""<Button Content='Test' />""","Button型のオブジェクトが返却される","中","ジェネリックパース"
"15","UT-AML-015","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaRuntimeXamlLoader.cs","AvaloniaRuntimeXamlLoader","Parse<T>","異常系","型が一致しない場合にキャスト例外がスローされること","なし","Parse<Window>(""<Button />"")", "InvalidCastExceptionがスローされる","中","型不一致"
"16","UT-AML-016","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaXamlIlRuntimeCompiler.cs","AvaloniaXamlIlRuntimeCompiler","InitializeSre","正常系","SREタイプシステムが正しく初期化されること","なし","InitializeSre()呼び出し","_sreTypeSystem, _sreBuilder等が非nullになる","高","初期化処理"
"17","UT-AML-017","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaXamlIlRuntimeCompiler.cs","AvaloniaXamlIlRuntimeCompiler","InitializeSre","正常系","複数回呼び出しても重複初期化されないこと","InitializeSre()が1度呼び出し済み","InitializeSre()再呼び出し","既存のインスタンスが再利用される","中","重複初期化防止"
"18","UT-AML-018","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaXamlIlRuntimeCompiler.cs","AvaloniaXamlIlRuntimeCompiler","Load","正常系","XAMLドキュメントが正しくコンパイルされること","SREが初期化済み","有効なRuntimeXamlLoaderDocument","コンパイルされたオブジェクトが返却される","高","コンパイル処理"
"19","UT-AML-019","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaXamlIlRuntimeCompiler.cs","AvaloniaXamlIlRuntimeCompiler","LoadGroup","正常系","複数ドキュメントが一括コンパイルされること","SREが初期化済み","複数のRuntimeXamlLoaderDocument","コンパイルされたオブジェクトのリストが返却される","高","一括コンパイル"
"20","UT-AML-020","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaXamlIlRuntimeCompiler.cs","AvaloniaXamlIlRuntimeCompiler","DumpRuntimeCompilationResults","正常系","コンパイル結果がダンプ可能であること","コンパイルが実行済み","なし","ダンプファイルが生成される（環境依存）","低","デバッグ機能"
"21","UT-AML-021","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaXamlIlRuntimeCompiler.cs","AvaloniaXamlIlRuntimeCompiler","EmitIgnoresAccessCheckAttributeDefinition","正常系","IgnoresAccessChecksToAttributeが正しく生成されること","ModuleBuilderが存在","builder=有効なModuleBuilder","カスタム属性型が生成される","中","属性生成"
"22","UT-AML-022","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaXamlIlRuntimeCompiler.cs","AvaloniaXamlIlRuntimeCompiler","FindAssembliesGrantingInternalAccess","正常系","InternalsVisibleTo属性を持つアセンブリが検出されること","対象アセンブリが読み込み済み","assembly=InternalsVisibleToを付与したアセンブリ","該当アセンブリのセットが返却される","中","アセンブリ検索"
"23","UT-AML-023","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaXamlIlRuntimeCompiler.cs","AvaloniaXamlIlRuntimeCompiler","FindAssembliesGrantingInternalAccess","境界値","nullアセンブリが渡された場合","なし","assembly=null","空のHashSetが返却される","中","null入力処理"
"24","UT-AML-024","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaXamlIlRuntimeCompiler.cs","AvaloniaXamlIlRuntimeCompiler","GetSafeUriIdentifier","正常系","URIが安全な識別子に変換されること","なし","uri=new Uri(""avares://test/file.xaml"")","特殊文字がアンダースコアに置換された文字列","低","URI変換"
"25","UT-AML-025","src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaXamlIlRuntimeCompiler.cs","AvaloniaXamlIlRuntimeCompiler","GetSafeUriIdentifier","境界値","nullが渡された場合","なし","uri=null","nullが返却される","低","null入力処理"
"26","UT-AML-026","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlCompiler.cs","AvaloniaXamlIlCompiler","コンストラクタ","正常系","コンパイラが正しく初期化されること","なし","configuration, emitMappings, contextTypeBuilder","Transformersリストが正しく構成される","高","初期化"
"27","UT-AML-027","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlCompiler.cs","AvaloniaXamlIlCompiler","Parse","正常系","XAML文字列がパースされること","コンパイラが初期化済み","xaml=""<Button />"", overrideRootType=null","XamlDocumentが返却される","高","パース処理"
"28","UT-AML-028","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlCompiler.cs","AvaloniaXamlIlCompiler","Parse","正常系","x:Class指定時に正しい型が解決されること","コンパイラが初期化済み","xaml=""<UserControl x:Class='TestNamespace.TestControl' />""","指定されたクラス型でXamlDocumentが返却される","高","x:Class解決"
"29","UT-AML-029","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlCompiler.cs","AvaloniaXamlIlCompiler","Parse","異常系","overrideRootTypeが互換性のない型の場合に例外がスローされること","コンパイラが初期化済み","xaml=""<Button />"", overrideRootType=typeof(Window)","XamlLoadExceptionがスローされる","中","型互換性チェック"
"30","UT-AML-030","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlCompiler.cs","AvaloniaXamlIlCompiler","Transform","正常系","XamlDocumentが正しく変換されること","パース済みXamlDocument","parsed=有効なXamlDocument","変換されたASTが返却される","高","AST変換"
"31","UT-AML-031","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlCompiler.cs","AvaloniaXamlIlCompiler","TransformGroup","正常系","複数ドキュメントがグループ変換されること","複数のパース済みドキュメント","documents=IXamlDocumentResourceのコレクション","全ドキュメントが変換される","高","グループ変換"
"32","UT-AML-032","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlCompiler.cs","AvaloniaXamlIlCompiler","Compile","正常系","変換済みドキュメントがILにコンパイルされること","変換済みXamlDocument","document, typeBuilderProvider, baseUri, fileSource","ILコードが生成される","高","ILコンパイル"
"33","UT-AML-033","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlCompiler.cs","AvaloniaXamlIlCompiler","ParseAndCompile","正常系","パースとコンパイルが一括実行されること","コンパイラが初期化済み","xaml, baseUri, fileSource, tb, overrideRootType","コンパイル済みILが生成される","高","一括処理"
"34","UT-AML-034","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlCompiler.cs","AvaloniaXamlIlCompiler","OverrideRootType","正常系","ルート型がオーバーライドされること","XamlDocument存在","doc, newType","ルートノードの型が変更される","中","型オーバーライド"
"35","UT-AML-035","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlCompiler.cs","AvaloniaXamlIlCompiler","IsDesignMode","正常系","デザインモードプロパティが正しく設定されること","コンパイラが初期化済み","IsDesignMode=true","_designTransformer.IsDesignModeがtrueになる","低","プロパティ設定"
"36","UT-AML-036","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlCompiler.cs","AvaloniaXamlIlCompiler","DefaultCompileBindings","正常系","コンパイル済みバインディングのデフォルト設定が反映されること","コンパイラが初期化済み","DefaultCompileBindings=true","_bindingTransformer.CompileBindingsByDefaultがtrueになる","中","バインディング設定"
"37","UT-AML-037","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguage.cs","AvaloniaXamlIlLanguage","Configure","正常系","言語設定が正しく構成されること","なし","typeSystem=有効なIXamlTypeSystem","XamlLanguageTypeMappingsとemitマッピングが返却される","高","言語構成"
"38","UT-AML-038","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguage.cs","AvaloniaXamlIlLanguage","CustomValueConverter","正常系","カスタム値が正しく変換されること","変換コンテキスト存在","TimeSpanテキストノード","TimeSpanに変換される","高","値変換"
"39","UT-AML-039","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguage.cs","AvaloniaXamlIlLanguage","CustomValueConverter","正常系","FontFamilyが正しく変換されること","変換コンテキスト存在","FontFamilyテキストノード","AvaloniaXamlIlFontFamilyAstNodeが返却される","中","FontFamily変換"
"40","UT-AML-040","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguage.cs","AvaloniaXamlIlLanguage","CustomValueConverter","異常系","不正な値の場合にfalseが返却されること","変換コンテキスト存在","変換不能なテキストノード","result=null, return false","中","変換失敗"
"41","UT-AML-041","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","TimeSpan文字列が正しくパースされること","なし","text=""00:01:30""","TimeSpan(1分30秒)に変換される","高","TimeSpanパース"
"42","UT-AML-042","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","秒数ショートハンド形式がパースされること","なし","text=""0.25""","TimeSpan.FromSeconds(0.25)に変換される","中","秒数ショートハンド"
"43","UT-AML-043","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","異常系","不正なTimeSpan文字列でエラーが報告されること","なし","text=""invalid""","XamlDiagnosticが報告される","中","TimeSpanパースエラー"
"44","UT-AML-044","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","Thicknessがパースされること","なし","text=""10,20,10,20""","Thickness(10,20,10,20)に変換される","高","Thicknessパース"
"45","UT-AML-045","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","Pointがパースされること","なし","text=""100,200""","Point(100,200)に変換される","中","Pointパース"
"46","UT-AML-046","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","Vectorがパースされること","なし","text=""1.5,2.5""","Vector(1.5,2.5)に変換される","中","Vectorパース"
"47","UT-AML-047","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","Sizeがパースされること","なし","text=""800,600""","Size(800,600)に変換される","中","Sizeパース"
"48","UT-AML-048","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","Matrixがパースされること","なし","text=""1,0,0,1,0,0""","Identity Matrixに変換される","低","Matrixパース"
"49","UT-AML-049","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","CornerRadiusがパースされること","なし","text=""5,10,5,10""","CornerRadius(5,10,5,10)に変換される","中","CornerRadiusパース"
"50","UT-AML-050","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","Colorがパースされること","なし","text=""#FF0000""","Color.Red相当に変換される","高","Colorパース"
"51","UT-AML-051","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","色名でColorがパースされること","なし","text=""Red""","Color.Redに変換される","中","色名パース"
"52","UT-AML-052","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","RelativePointがパースされること","なし","text=""50%,50%""","RelativePoint(0.5,0.5,Relative)に変換される","中","RelativePointパース"
"53","UT-AML-053","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","GridLengthがパースされること","なし","text=""*""","GridLength.Star(1)に変換される","高","GridLengthパース"
"54","UT-AML-054","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","GridLength Autoがパースされること","なし","text=""Auto""","GridLength.Autoに変換される","中","GridLength Autoパース"
"55","UT-AML-055","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","GridLength数値がパースされること","なし","text=""100""","GridLength(100,Pixel)に変換される","中","GridLength数値パース"
"56","UT-AML-056","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","Cursorがパースされること","なし","text=""Hand""","StandardCursorType.Handのカーソルに変換される","低","Cursorパース"
"57","UT-AML-057","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","IBrush用のColor文字列がSolidColorBrushに変換されること","なし","type=IBrush, text=""#FF0000""","ImmutableSolidColorBrushが返却される","高","Brushパース"
"58","UT-AML-058","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","TextTrimmingがパースされること","なし","text=""CharacterEllipsis""","TextTrimming.CharacterEllipsisに変換される","低","TextTrimmingパース"
"59","UT-AML-059","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","Uriがパースされること","なし","text=""avares://test/resource.png""","有効なUri objectに変換される","中","Uriパース"
"60","UT-AML-060","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","異常系","不正なUriでエラーが報告されること","なし","text="":::invalid::uri""","XamlDiagnosticが報告される","中","Uriパースエラー"
"61","UT-AML-061","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","ThemeVariantがパースされること","なし","text=""Dark""","ThemeVariant.Darkに変換される","中","ThemeVariantパース"
"62","UT-AML-062","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs","AvaloniaXamlIlLanguageParseIntrinsics","TryConvert","正常系","配列型がパースされること","なし","type=int[], text=""1,2,3""","int[]に変換される","中","配列パース"
"63","UT-AML-063","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlAvaloniaPropertyHelper.cs","XamlIlAvaloniaPropertyHelper","EmitProvideValueTarget","正常系","AvaloniaPropertyがILにエミットされること","Emitコンテキスト存在","property=有効なXamlAstClrProperty","プロパティへの参照がスタックにプッシュされる","高","プロパティエミット"
"64","UT-AML-064","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlAvaloniaPropertyHelper.cs","XamlIlAvaloniaPropertyHelper","EmitProvideValueTarget","正常系","CLRプロパティがエミットされること","Emitコンテキスト存在","AvaloniaPropertyでないCLRプロパティ","ClrPropertyInfoがエミットされる","中","CLRプロパティエミット"
"65","UT-AML-065","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlAvaloniaPropertyHelper.cs","XamlIlAvaloniaPropertyHelper","EmitProvideValueTarget","異常系","プロパティが見つからない場合にfalseが返却されること","Emitコンテキスト存在","存在しないプロパティ","false が返却される","中","プロパティ未発見"
"66","UT-AML-066","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlAvaloniaPropertyHelper.cs","XamlIlAvaloniaPropertyHelper","Emit(XamlAstClrProperty)","正常系","IXamlIlAvaloniaPropertyのフィールドがロードされること","property=IXamlIlAvaloniaProperty","有効なAvaloniaProperty","静的フィールドがロードされる","高","AvaloniaPropertyエミット"
"67","UT-AML-067","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlAvaloniaPropertyHelper.cs","XamlIlAvaloniaPropertyHelper","CreateNode","正常系","プロパティ名からAvaloniaPropertyNodeが作成されること","変換コンテキスト存在","propertyName=""Width"", selectorTypeReference","XamlIlAvaloniaPropertyNodeが返却される","高","ノード作成"
"68","UT-AML-068","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlAvaloniaPropertyHelper.cs","XamlIlAvaloniaPropertyHelper","CreateNode","正常系","Classes.PropertyNameでクラスプロパティが作成されること","変換コンテキスト存在","propertyName=""Classes.IsActive""","XamlIlAvaloniaClassPropertyが返却される","中","Classesプロパティ"
"69","UT-AML-069","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlAvaloniaPropertyHelper.cs","XamlIlAvaloniaPropertyHelper","CreateNode","正常系","Attached propertyが正しく解決されること","変換コンテキスト存在","propertyName=""Grid.Row""","XamlIlAvaloniaPropertyFieldNodeが返却される","高","Attachedプロパティ"
"70","UT-AML-070","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlAvaloniaPropertyHelper.cs","XamlIlAvaloniaPropertyHelper","CreateNode","異常系","存在しないプロパティで例外がスローされること","変換コンテキスト存在","propertyName=""NonExistent.Property""","XamlTransformExceptionがスローされる","中","プロパティ未発見"
"71","UT-AML-071","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlAvaloniaPropertyHelper.cs","XamlIlAvaloniaPropertyHelper","GetAvaloniaPropertyType","正常系","AvaloniaProperty<T>からTの型が取得されること","なし","field=StyledProperty<double>フィールド","doubleが返却される","高","型取得"
"72","UT-AML-072","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlAvaloniaPropertyHelper.cs","XamlIlAvaloniaPropertyHelper","GetAvaloniaPropertyType","異常系","AvaloniaProperty<T>を継承していない場合に例外がスローされること","なし","field=通常のフィールド","XamlTransformExceptionがスローされる","中","型取得エラー"
"73","UT-AML-073","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs","XamlIlBindingPathHelper","UpdateCompiledBindingExtension","正常系","CompiledBindingのパスが正しく変換されること","バインディングコンテキスト存在","binding=CompiledBindingExtension, path=""Property""","変換されたバインディングパスノードが設定される","高","バインディングパス変換"
"74","UT-AML-074","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs","XamlIlBindingPathHelper","UpdateCompiledBindingExtension","正常系","Path引数がない場合にstartTypeが返却されること","バインディングコンテキスト存在","binding=CompiledBindingExtension（パスなし）","startTypeResolverの結果が返却される","中","パスなしバインディング"
"75","UT-AML-075","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs","XamlIlBindingPathHelper","TransformBindingPath","正常系","PropertyNameNodeが正しく変換されること","変換コンテキスト存在","PropertyNameNode(""Name"")","XamlIlClrPropertyPathElementNodeまたはXamlIlAvaloniaPropertyPropertyPathElementNodeが生成される","高","プロパティノード変換"
"76","UT-AML-076","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs","XamlIlBindingPathHelper","TransformBindingPath","正常系","IndexerNodeが正しく変換されること","変換コンテキスト存在","IndexerNode([""0""])","XamlIlClrIndexerPathElementNodeが生成される","中","インデクサーノード変換"
"77","UT-AML-077","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs","XamlIlBindingPathHelper","TransformBindingPath","正常系","AttachedPropertyNameNodeが正しく変換されること","変換コンテキスト存在","AttachedPropertyNameNode(""Grid"", ""Row"")","XamlIlAvaloniaPropertyPropertyPathElementNodeが生成される","高","Attachedプロパティ変換"
"78","UT-AML-078","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs","XamlIlBindingPathHelper","TransformBindingPath","正常系","StreamNode(^)が正しく変換されること","変換コンテキスト存在","IObservable<T>型からのStreamNode","XamlIlStreamObservablePathElementNodeが生成される","中","ストリームノード変換"
"79","UT-AML-079","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs","XamlIlBindingPathHelper","TransformBindingPath","正常系","Task<T>のStreamNodeが変換されること","変換コンテキスト存在","Task<T>型からのStreamNode","XamlIlStreamTaskPathElementNodeが生成される","中","Taskストリーム変換"
"80","UT-AML-080","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs","XamlIlBindingPathHelper","TransformBindingPath","異常系","ストリーム不可の型でエラーがスローされること","変換コンテキスト存在","非ストリーム型からのStreamNode","XamlTransformExceptionがスローされる","中","ストリームエラー"
"81","UT-AML-081","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs","XamlIlBindingPathHelper","TransformBindingPath","正常系","NotNode(!)が正しく変換されること","変換コンテキスト存在","NotNode","XamlIlNotPathElementNodeが生成される","中","Notノード変換"
"82","UT-AML-082","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs","XamlIlBindingPathHelper","TransformBindingPath","正常系","SelfNodeが正しく変換されること","変換コンテキスト存在","SelfNode","SelfPathElementNodeが生成される","中","Selfノード変換"
"83","UT-AML-083","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs","XamlIlBindingPathHelper","TransformBindingPath","正常系","AncestorNodeが正しく変換されること","変換コンテキスト存在","AncestorNode(level=0)","FindAncestorPathElementNodeが生成される","中","Ancestorノード変換"
"84","UT-AML-084","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs","XamlIlBindingPathHelper","TransformBindingPath","正常系","NameNodeが正しく変換されること","変換コンテキスト存在","NameNode(""elementName"")","ElementNamePathElementNodeが生成される","中","名前ノード変換"
"85","UT-AML-085","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs","XamlIlBindingPathHelper","TransformBindingPath","異常系","存在しない要素名でエラーがスローされること","変換コンテキスト存在","NameNode(""nonexistent"")","XamlTransformExceptionがスローされる","中","名前未発見エラー"
"86","UT-AML-086","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs","XamlIlBindingPathHelper","TransformBindingPath","正常系","TypeCastNodeが正しく変換されること","変換コンテキスト存在","TypeCastNode(""Button"")","TypeCastPathElementNodeが生成される","中","型キャスト変換"
"87","UT-AML-087","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/XamlIlBindingPathHelper.cs","XamlIlBindingPathHelper","TransformForTargetTyping","正常系","ICommand用にメソッドがコマンドとして変換されること","変換コンテキスト存在","target=ICommand, methodElement","XamlIlClrMethodAsCommandPathElementNodeが生成される","中","コマンド変換"
"88","UT-AML-088","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlSelectorTransformer.cs","AvaloniaXamlIlSelectorTransformer","Transform","正常系","Style.Selectorが正しくパースされること","Styleノード存在","selector=""Button""","XamlIlTypeSelectorが生成される","高","セレクター変換"
"89","UT-AML-089","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlSelectorTransformer.cs","AvaloniaXamlIlSelectorTransformer","Transform","正常系","クラスセレクターが変換されること","Styleノード存在","selector="".myclass""","XamlIlStringSelectorが生成される","高","クラスセレクター"
"90","UT-AML-090","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlSelectorTransformer.cs","AvaloniaXamlIlSelectorTransformer","Transform","正常系","名前セレクターが変換されること","Styleノード存在","selector=""#myname""","XamlIlStringSelectorが生成される","中","名前セレクター"
"91","UT-AML-091","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlSelectorTransformer.cs","AvaloniaXamlIlSelectorTransformer","Transform","正常系","子セレクター(>)が変換されること","Styleノード存在","selector=""StackPanel > Button""","XamlIlCombinatorSelector(Child)が生成される","中","子セレクター"
"92","UT-AML-092","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlSelectorTransformer.cs","AvaloniaXamlIlSelectorTransformer","Transform","正常系","子孫セレクター(スペース)が変換されること","Styleノード存在","selector=""StackPanel Button""","XamlIlCombinatorSelector(Descendant)が生成される","中","子孫セレクター"
"93","UT-AML-093","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlSelectorTransformer.cs","AvaloniaXamlIlSelectorTransformer","Transform","正常系","テンプレートセレクター(/template/)が変換されること","Styleノード存在","selector=""Button /template/ Border""","XamlIlCombinatorSelector(Template)が生成される","中","テンプレートセレクター"
"94","UT-AML-094","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlSelectorTransformer.cs","AvaloniaXamlIlSelectorTransformer","Transform","正常系","Notセレクターが変換されること","Styleノード存在","selector=""Button:not(.disabled)""","XamlIlNotSelectorが生成される","中","Notセレクター"
"95","UT-AML-095","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlSelectorTransformer.cs","AvaloniaXamlIlSelectorTransformer","Transform","正常系","nth-childセレクターが変換されること","Styleノード存在","selector=""Button:nth-child(2n+1)""","XamlIlNthChildSelectorが生成される","低","nth-childセレクター"
"96","UT-AML-096","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlSelectorTransformer.cs","AvaloniaXamlIlSelectorTransformer","Transform","正常系","プロパティセレクターが変換されること","Styleノード存在","selector=""Button[IsEnabled=True]""","XamlIlPropertyEqualsSelectorが生成される","中","プロパティセレクター"
"97","UT-AML-097","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlSelectorTransformer.cs","AvaloniaXamlIlSelectorTransformer","Transform","正常系","Attachedプロパティセレクターが変換されること","Styleノード存在","selector=""Button[(Grid.Row)=0]""","XamlIlAttachedPropertyEqualsSelectorが生成される","中","Attachedプロパティセレクター"
"98","UT-AML-098","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlSelectorTransformer.cs","AvaloniaXamlIlSelectorTransformer","Transform","正常系","複数セレクター(,)がOrとして変換されること","Styleノード存在","selector=""Button, TextBox""","XamlIlOrSelectorNodeが生成される","中","Orセレクター"
"99","UT-AML-099","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlSelectorTransformer.cs","AvaloniaXamlIlSelectorTransformer","Transform","正常系","ネストセレクター(^)が変換されること","親スタイル存在","selector=""^ Button""","XamlIlNestingSelectorが生成される","中","ネストセレクター"
"100","UT-AML-100","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlSelectorTransformer.cs","AvaloniaXamlIlSelectorTransformer","Transform","異常系","不正なセレクター構文で例外がスローされること","Styleノード存在","selector=""[[[invalid""","XamlSelectorsTransformExceptionがスローされる","中","セレクターパースエラー"
"101","UT-AML-101","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlBindingPathParser.cs","AvaloniaXamlIlBindingPathParser","Transform","正常系","CompiledBindingのPath引数がパースされること","CompiledBindingExtensionノード存在","path=""Property.SubProperty""","ParsedBindingPathNodeが生成される","高","バインディングパスパース"
"102","UT-AML-102","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlBindingPathParser.cs","AvaloniaXamlIlBindingPathParser","Transform","正常系","ElementNameが変換されること","CompiledBindingExtensionノード存在","ElementName=""myElement""","NameNodeがパスに追加される","中","ElementName変換"
"103","UT-AML-103","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlBindingPathParser.cs","AvaloniaXamlIlBindingPathParser","Transform","正常系","RelativeSource FindAncestorが変換されること","CompiledBindingExtensionノード存在","RelativeSource=FindAncestor, AncestorType=Window","VisualAncestorBindingExpressionNodeが生成される","中","RelativeSource変換"
"104","UT-AML-104","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlBindingPathParser.cs","AvaloniaXamlIlBindingPathParser","Transform","正常系","RelativeSource Selfが変換されること","CompiledBindingExtensionノード存在","RelativeSource=Self","SelfNodeが生成される","中","Self変換"
"105","UT-AML-105","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlBindingPathParser.cs","AvaloniaXamlIlBindingPathParser","Transform","正常系","RelativeSource TemplatedParentが変換されること","ControlTemplate内","RelativeSource=TemplatedParent","TemplatedParentBindingExpressionNodeが生成される","中","TemplatedParent変換"
"106","UT-AML-106","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlBindingPathParser.cs","AvaloniaXamlIlBindingPathParser","Transform","異常系","ElementNameとRelativeSourceの両方指定で例外がスローされること","CompiledBindingExtensionノード存在","ElementName=""el"", RelativeSource=Self","XamlBindingsTransformExceptionがスローされる","中","重複ソース指定エラー"
"107","UT-AML-107","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlBindingPathParser.cs","AvaloniaXamlIlBindingPathParser","Transform","異常系","ControlTemplate外でTemplatedParentを使用した場合に例外がスローされること","ControlTemplate外","RelativeSource=TemplatedParent","XamlBindingsTransformExceptionがスローされる","中","TemplatedParentコンテキストエラー"
"108","UT-AML-108","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlBindingPathParser.cs","AvaloniaXamlIlBindingPathParser","GetBindingPath","異常系","不正なバインディングパスで例外がスローされること","なし","path=""[[[invalid""","XamlTransformExceptionがスローされる","中","パースエラー"
"109","UT-AML-109","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/GroupTransformers/XamlMergeResourceGroupTransformer.cs","XamlMergeResourceGroupTransformer","Transform","正常系","MergeResourceIncludeがマージされること","ResourceDictionaryノード存在","MergeResourceIncludeノード","外部リソースが現在のResourceDictionaryにマージされる","高","リソースマージ"
"110","UT-AML-110","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/GroupTransformers/XamlMergeResourceGroupTransformer.cs","XamlMergeResourceGroupTransformer","Transform","正常系","ThemeDictionariesが正しくマージされること","ResourceDictionaryノード存在","ThemeDictionariesを含むMergeResourceInclude","ThemeDictionariesがマージされる","中","ThemeDictionariesマージ"
"111","UT-AML-111","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/GroupTransformers/XamlMergeResourceGroupTransformer.cs","XamlMergeResourceGroupTransformer","Transform","異常系","無効なMergeResourceIncludeでエラーが報告されること","ResourceDictionaryノード存在","Sourceなしのノード","エラーが報告される","中","無効ノードエラー"
"112","UT-AML-112","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/GroupTransformers/XamlMergeResourceGroupTransformer.cs","XamlMergeResourceGroupTransformer","Transform","異常系","MergeResourceIncludeが最後でない場合にエラーが報告されること","ResourceDictionaryノード存在","MergeResourceIncludeの後に通常リソースがある","エラーが報告される","中","順序エラー"
"113","UT-AML-113","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/GroupTransformers/XamlMergeResourceGroupTransformer.cs","XamlMergeResourceGroupTransformer","ThemeVariantNodeEquals","正常系","同じThemeVariantが等価と判定されること","なし","left=ThemeVariant.Dark, right=ThemeVariant.Dark","trueが返却される","中","ThemeVariant比較"
"114","UT-AML-114","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/GroupTransformers/XamlMergeResourceGroupTransformer.cs","XamlMergeResourceGroupTransformer","ThemeVariantNodeEquals","正常系","異なるThemeVariantが不等価と判定されること","なし","left=ThemeVariant.Dark, right=ThemeVariant.Light","falseが返却される","中","ThemeVariant不等価"
"115","UT-AML-115","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlWellKnownTypes.cs","AvaloniaXamlIlWellKnownTypes","コンストラクタ","正常系","すべての既知の型が正しく解決されること","なし","cfg=有効なTransformerConfiguration","すべてのプロパティが非nullで初期化される","高","型解決"
"116","UT-AML-116","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlWellKnownTypes.cs","AvaloniaXamlIlWellKnownTypes","コンストラクタ","正常系","Interactivity型が正しく解決されること","なし","cfg=有効なTransformerConfiguration","Interactivity.Interactive等が解決される","中","Interactivity型解決"
"117","UT-AML-117","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlWellKnownTypes.cs","AvaloniaXamlIlWellKnownTypesExtensions","GetAvaloniaTypes(AstTransformationContext)","正常系","コンテキストからキャッシュされた型が取得されること","コンテキスト存在","ctx=有効なAstTransformationContext","AvaloniaXamlIlWellKnownTypesが返却される","中","型キャッシュ取得"
"118","UT-AML-118","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlWellKnownTypes.cs","AvaloniaXamlIlWellKnownTypesExtensions","GetAvaloniaTypes(XamlEmitContext)","正常系","EmitコンテキストからAvaloniaTypesが取得されること","Emitコンテキスト存在","ctx=有効なXamlEmitContext","AvaloniaXamlIlWellKnownTypesが返却される","中","Emit型取得"
"119","UT-AML-119","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlDiagnosticCodes.cs","AvaloniaXamlDiagnosticCodes","XamlXDiagnosticCodeToAvalonia","正常系","XamlTransformExceptionがTransformErrorにマッピングされること","なし","XamlTransformException","AVLN2000が返却される","中","エラーコードマッピング"
"120","UT-AML-120","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlDiagnosticCodes.cs","AvaloniaXamlDiagnosticCodes","XamlXDiagnosticCodeToAvalonia","正常系","XamlBindingsTransformExceptionがBindingsErrorにマッピングされること","なし","XamlBindingsTransformException","AVLN2100が返却される","中","バインディングエラーマッピング"
"121","UT-AML-121","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlDiagnosticCodes.cs","AvaloniaXamlDiagnosticCodes","XamlXDiagnosticCodeToAvalonia","正常系","XamlSelectorsTransformExceptionがSelectorsTransformErrorにマッピングされること","なし","XamlSelectorsTransformException","AVLN2201が返却される","中","セレクターエラーマッピング"
"122","UT-AML-122","src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlDiagnosticCodes.cs","AvaloniaXamlDiagnosticCodes","XamlXDiagnosticCodeToAvalonia","正常系","未知の例外がUnknownにマッピングされること","なし","未知の例外タイプ","AVLN9999が返却される","低","未知エラーマッピング"
"1","UT-MXL-001","src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs","AvaloniaXamlLoader","Load(object)","異常系","プリコンパイル済みXAMLが見つからない場合に例外がスローされること","なし","x:Classが設定されていないオブジェクト","XamlLoadExceptionがスローされる","高","XAMLローダーの基本的なエラーハンドリング"
"2","UT-MXL-002","src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs","AvaloniaXamlLoader","Load(IServiceProvider, object)","異常系","サービスプロバイダー付きでプリコンパイル済みXAMLが見つからない場合に例外がスローされること","なし","サービスプロバイダーとx:Classが設定されていないオブジェクト","XamlLoadExceptionがスローされる","高","XAMLローダーのサービスプロバイダー対応"
"3","UT-MXL-003","src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs","AvaloniaXamlLoader","Load(Uri, Uri?)","異常系","URIがnullの場合にArgumentNullExceptionがスローされること","なし","uri=null","ArgumentNullExceptionがスローされる","高","URI引数のnullチェック"
"4","UT-MXL-004","src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs","AvaloniaXamlLoader","Load(Uri, Uri?)","異常系","IAssetLoaderが登録されていない場合にInvalidOperationExceptionがスローされること","AvaloniaLocatorにIAssetLoaderが未登録","有効なURI","InvalidOperationExceptionがスローされる","高","サービス未登録時のエラーハンドリング"
"5","UT-MXL-005","src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs","AvaloniaXamlLoader","Load(Uri, Uri?)","異常系","相対URIでbaseUriがnullの場合にInvalidOperationExceptionがスローされること","IAssetLoader登録済み","相対URI, baseUri=null","InvalidOperationExceptionがスローされる","高","相対URI解決のエラーハンドリング"
"6","UT-MXL-006","src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs","AvaloniaXamlLoader","Load(Uri, Uri?)","正常系","絶対URIで正常にロードされること","IAssetLoader登録済み, CompiledXamlLoader利用可能","絶対URI","コンパイル済みXAMLオブジェクトが返却される","高","正常系のXAMLロード"
"7","UT-MXL-007","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StaticResourceExtension.cs","StaticResourceExtension","コンストラクタ","正常系","デフォルトコンストラクタでインスタンスが作成されること","なし","なし","ResourceKeyがnullのインスタンスが作成される","中","デフォルトコンストラクタ"
"8","UT-MXL-008","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StaticResourceExtension.cs","StaticResourceExtension","コンストラクタ","正常系","リソースキー指定でインスタンスが作成されること","なし","resourceKey=""TestKey""","ResourceKey=""TestKey""のインスタンスが作成される","中","パラメータ付きコンストラクタ"
"9","UT-MXL-009","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StaticResourceExtension.cs","StaticResourceExtension","ProvideValue","異常系","ResourceKeyがnullの場合にArgumentExceptionがスローされること","なし","ResourceKey=null, 有効なserviceProvider","ArgumentExceptionがスローされる","高","必須パラメータの検証"
"10","UT-MXL-010","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StaticResourceExtension.cs","StaticResourceExtension","ProvideValue","正常系","リソースが見つかった場合に値が返却されること","IResourceNodeにリソースが存在","ResourceKey=""ExistingKey""","リソース値が返却される","高","正常なリソース解決"
"11","UT-MXL-011","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StaticResourceExtension.cs","StaticResourceExtension","ProvideValue","異常系","リソースが見つからない場合にKeyNotFoundExceptionがスローされること","IResourceNodeにリソースが存在しない","ResourceKey=""NonExistentKey""","KeyNotFoundExceptionがスローされる","高","リソース未発見時のエラー"
"12","UT-MXL-012","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StaticResourceExtension.cs","StaticResourceExtension","ProvideValue","正常系","ColorからBrushへの変換が行われること","ターゲットプロパティがIBrush型","ResourceKeyがColor値を指す","ImmutableSolidColorBrushが返却される","中","Color→Brush変換"
"13","UT-MXL-013","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StaticResourceExtension.cs","StaticResourceExtension","GetDictionaryVariant","正常系","スタックがnullの場合にnullが返却されること","なし","stack=null","nullが返却される","中","nullスタックの処理"
"14","UT-MXL-014","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StaticResourceExtension.cs","StaticResourceExtension","GetDictionaryVariant","正常系","IThemeVariantProviderからテーマバリアントが取得されること","スタックにIThemeVariantProviderが存在","有効なスタック","ThemeVariantが返却される","中","テーマバリアント取得"
"15","UT-MXL-015","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/DynamicResourceExtension.cs","DynamicResourceExtension","コンストラクタ","正常系","デフォルトコンストラクタでインスタンスが作成されること","なし","なし","ResourceKeyがnullのインスタンスが作成される","中","デフォルトコンストラクタ"
"16","UT-MXL-016","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/DynamicResourceExtension.cs","DynamicResourceExtension","コンストラクタ","正常系","リソースキー指定でインスタンスが作成されること","なし","resourceKey=""TestKey""","ResourceKey=""TestKey""のインスタンスが作成される","中","パラメータ付きコンストラクタ"
"17","UT-MXL-017","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/DynamicResourceExtension.cs","DynamicResourceExtension","ProvideValue","正常系","サービスプロバイダーからBindingBaseが返却されること","有効なserviceProvider","有効なResourceKey","DynamicResourceExtension自身が返却される","高","ProvideValue基本動作"
"18","UT-MXL-018","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/DynamicResourceExtension.cs","DynamicResourceExtension","ProvideValue","正常系","コントロールテンプレート内ではTemplate優先度が設定されること","IsInControlTemplate()がtrue","有効なResourceKey","BindingPriority.Templateが設定される","中","テンプレート内の優先度"
"19","UT-MXL-019","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/DynamicResourceExtension.cs","DynamicResourceExtension","CreateInstance","異常系","ResourceKeyがnullの場合にInvalidOperationExceptionがスローされること","なし","ResourceKey=null","InvalidOperationExceptionがスローされる","高","必須パラメータの検証"
"20","UT-MXL-020","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/DynamicResourceExtension.cs","DynamicResourceExtension","CreateInstance","正常系","DynamicResourceExpressionが返却されること","ResourceKeyが設定済み","有効なtarget, targetProperty","DynamicResourceExpressionインスタンスが返却される","高","式オブジェクトの生成"
"21","UT-MXL-021","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindingExtension.cs","CompiledBindingExtension","コンストラクタ","正常系","デフォルトコンストラクタでインスタンスが作成されること","なし","なし","Pathがnullのインスタンスが作成される","中","デフォルトコンストラクタ"
"22","UT-MXL-022","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindingExtension.cs","CompiledBindingExtension","コンストラクタ","正常系","パス指定でインスタンスが作成されること","なし","path=CompiledBindingPathインスタンス","Pathが設定されたインスタンスが作成される","中","パラメータ付きコンストラクタ"
"23","UT-MXL-023","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindingExtension.cs","CompiledBindingExtension","ProvideValue","正常系","新しいCompiledBindingインスタンスが返却されること","全プロパティが設定済み","有効なserviceProvider","全プロパティがコピーされたCompiledBindingが返却される","高","ProvideValue基本動作"
"24","UT-MXL-024","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindingExtension.cs","CompiledBindingExtension","ProvideValue","正常系","DefaultAnchorが設定されること","serviceProviderがGetDefaultAnchorを提供","有効なserviceProvider","DefaultAnchorにWeakReferenceが設定される","中","アンカー設定"
"25","UT-MXL-025","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/ReflectionBindingExtension.cs","ReflectionBindingExtension","コンストラクタ","正常系","デフォルトコンストラクタでインスタンスが作成されること","なし","なし","Pathが空のインスタンスが作成される","中","デフォルトコンストラクタ"
"26","UT-MXL-026","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/ReflectionBindingExtension.cs","ReflectionBindingExtension","コンストラクタ","正常系","パス指定でインスタンスが作成されること","なし","path=""PropertyName""","Path=""PropertyName""のインスタンスが作成される","中","パラメータ付きコンストラクタ"
"27","UT-MXL-027","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/ReflectionBindingExtension.cs","ReflectionBindingExtension","ProvideValue","正常系","新しいReflectionBindingインスタンスが返却されること","全プロパティが設定済み","有効なserviceProvider","全プロパティがコピーされたReflectionBindingが返却される","高","ProvideValue基本動作"
"28","UT-MXL-028","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/RelativeSourceExtension.cs","RelativeSourceExtension","コンストラクタ","正常系","デフォルトコンストラクタでインスタンスが作成されること","なし","なし","Mode=FindAncestor, AncestorLevel=1のインスタンスが作成される","中","デフォルト値の確認"
"29","UT-MXL-029","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/RelativeSourceExtension.cs","RelativeSourceExtension","コンストラクタ","正常系","モード指定でインスタンスが作成されること","なし","mode=RelativeSourceMode.Self","Mode=Selfのインスタンスが作成される","中","パラメータ付きコンストラクタ"
"30","UT-MXL-030","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/RelativeSourceExtension.cs","RelativeSourceExtension","ProvideValue","正常系","新しいRelativeSourceインスタンスが返却されること","全プロパティが設定済み","有効なserviceProvider","全プロパティがコピーされたRelativeSourceが返却される","高","ProvideValue基本動作"
"31","UT-MXL-031","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/ResolveByNameExtension.cs","ResolveByNameExtension","コンストラクタ","正常系","名前指定でインスタンスが作成されること","なし","name=""ElementName""","Name=""ElementName""のインスタンスが作成される","中","コンストラクタ"
"32","UT-MXL-032","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/ResolveByNameExtension.cs","ResolveByNameExtension","ProvideValue","正常系","名前スコープが存在しない場合にnullが返却されること","serviceProviderにINameScopeが未登録","有効なname","nullが返却される","中","名前スコープ未登録時"
"33","UT-MXL-033","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/ResolveByNameExtension.cs","ResolveByNameExtension","ProvideValue","正常系","名前解決が完了している場合に値が返却されること","INameScopeに名前が登録済み","登録済みのname","登録されたオブジェクトが返却される","高","同期的な名前解決"
"34","UT-MXL-034","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/ResolveByNameExtension.cs","ResolveByNameExtension","ProvideValue","正常系","名前解決が未完了の場合にUnsetValueが返却されること","INameScopeに名前が未登録","未登録のname","AvaloniaProperty.UnsetValueが返却される","中","非同期的な名前解決"
"35","UT-MXL-035","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/OnPlatformExtension.cs","OnPlatformExtension","コンストラクタ","正常系","デフォルトコンストラクタでインスタンスが作成されること","なし","なし","Defaultがnullのインスタンスが作成される","中","デフォルトコンストラクタ"
"36","UT-MXL-036","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/OnPlatformExtension.cs","OnPlatformExtension","コンストラクタ","正常系","デフォルト値指定でインスタンスが作成されること","なし","defaultValue=""DefaultValue""","Default=""DefaultValue""のインスタンスが作成される","中","パラメータ付きコンストラクタ"
"37","UT-MXL-037","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/OnPlatformExtension.cs","OnPlatformExtension","ShouldProvideOption","正常系","Windowsオプションが正しく判定されること","Windows環境","option=""WINDOWS""","Windowsの場合true, それ以外false","高","プラットフォーム判定"
"38","UT-MXL-038","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/OnPlatformExtension.cs","OnPlatformExtension","ShouldProvideOption","正常系","macOSオプションが正しく判定されること","macOS環境","option=""OSX""","macOSの場合true, それ以外false","高","プラットフォーム判定"
"39","UT-MXL-039","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/OnPlatformExtension.cs","OnPlatformExtension","ShouldProvideOption","正常系","Linuxオプションが正しく判定されること","Linux環境","option=""LINUX""","Linuxの場合true, それ以外false","高","プラットフォーム判定"
"40","UT-MXL-040","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/OnPlatformExtension.cs","OnPlatformExtension","ShouldProvideOption","正常系","Androidオプションが正しく判定されること","Android環境","option=""ANDROID""","Androidの場合true, それ以外false","高","プラットフォーム判定"
"41","UT-MXL-041","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/OnPlatformExtension.cs","OnPlatformExtension","ShouldProvideOption","正常系","iOSオプションが正しく判定されること","iOS環境","option=""IOS""","iOSの場合true, それ以外false","高","プラットフォーム判定"
"42","UT-MXL-042","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/OnPlatformExtension.cs","OnPlatformExtension","ShouldProvideOption","正常系","Browserオプションが正しく判定されること","Browser環境","option=""BROWSER""","Browserの場合true, それ以外false","高","プラットフォーム判定"
"43","UT-MXL-043","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/OnFormFactorExtension.cs","OnFormFactorExtension","ShouldProvideOption","正常系","Desktopフォームファクターが正しく判定されること","IRuntimePlatform登録済み","option=FormFactorType.Desktop","デスクトップの場合true, それ以外false","高","フォームファクター判定"
"44","UT-MXL-044","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/OnFormFactorExtension.cs","OnFormFactorExtension","ShouldProvideOption","正常系","Mobileフォームファクターが正しく判定されること","IRuntimePlatform登録済み","option=FormFactorType.Mobile","モバイルの場合true, それ以外false","高","フォームファクター判定"
"45","UT-MXL-045","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/OnFormFactorExtension.cs","OnFormFactorExtension","ShouldProvideOption","正常系","TVフォームファクターが正しく判定されること","IRuntimePlatform登録済み","option=FormFactorType.TV","TVの場合true, それ以外false","中","フォームファクター判定"
"46","UT-MXL-046","src/Markup/Avalonia.Markup.Xaml/Converters/ColorToBrushConverter.cs","ColorToBrushConverter","Convert","正常系","Color値がIBrush型に変換されること","なし","value=Color.Red, targetType=typeof(IBrush)","ImmutableSolidColorBrush(Red)が返却される","高","Color→Brush変換"
"47","UT-MXL-047","src/Markup/Avalonia.Markup.Xaml/Converters/ColorToBrushConverter.cs","ColorToBrushConverter","Convert","正常系","ターゲット型がIBrushでない場合に値がそのまま返却されること","なし","value=Color.Red, targetType=typeof(Color)","元のColor.Redが返却される","中","変換不要の場合"
"48","UT-MXL-048","src/Markup/Avalonia.Markup.Xaml/Converters/ColorToBrushConverter.cs","ColorToBrushConverter","Convert","正常系","値がColor型でない場合にそのまま返却されること","なし","value=""test"", targetType=typeof(IBrush)","元の""test""が返却される","中","非Color値の処理"
"49","UT-MXL-049","src/Markup/Avalonia.Markup.Xaml/Converters/ColorToBrushConverter.cs","ColorToBrushConverter","ConvertBack","正常系","ISolidColorBrushがColor型に変換されること","なし","value=SolidColorBrush(Red), targetType=typeof(Color)","Color.Redが返却される","高","Brush→Color変換"
"50","UT-MXL-050","src/Markup/Avalonia.Markup.Xaml/Converters/ColorToBrushConverter.cs","ColorToBrushConverter","ConvertBack","正常系","ターゲット型がColorでない場合に値がそのまま返却されること","なし","value=SolidColorBrush(Red), targetType=typeof(IBrush)","元のBrushが返却される","中","変換不要の場合"
"51","UT-MXL-051","src/Markup/Avalonia.Markup.Xaml/Converters/TimeSpanTypeConverter.cs","TimeSpanTypeConverter","ConvertFrom","正常系","コロンを含む標準形式が変換されること","なし","value=""00:00:30""","TimeSpan.FromSeconds(30)が返却される","高","標準TimeSpan形式"
"52","UT-MXL-052","src/Markup/Avalonia.Markup.Xaml/Converters/TimeSpanTypeConverter.cs","TimeSpanTypeConverter","ConvertFrom","正常系","秒のみの短縮形式が変換されること","なし","value=""0.25""","TimeSpan.FromSeconds(0.25)が返却される","高","短縮形式のTimeSpan"
"53","UT-MXL-053","src/Markup/Avalonia.Markup.Xaml/Converters/TimeSpanTypeConverter.cs","TimeSpanTypeConverter","ConvertFrom","境界値","0秒が変換されること","なし","value=""0""","TimeSpan.Zero(0秒)が返却される","中","境界値テスト"
"54","UT-MXL-054","src/Markup/Avalonia.Markup.Xaml/Converters/TimeSpanTypeConverter.cs","TimeSpanTypeConverter","ConvertFrom","異常系","不正な形式でFormatExceptionがスローされること","なし","value=""invalid""","FormatExceptionがスローされる","中","不正形式のエラー"
"55","UT-MXL-055","src/Markup/Avalonia.Markup.Xaml/Converters/PointsListTypeConverter.cs","PointsListTypeConverter","CanConvertFrom","正常系","string型からの変換が可能であること","なし","sourceType=typeof(string)","trueが返却される","中","変換可能判定"
"56","UT-MXL-056","src/Markup/Avalonia.Markup.Xaml/Converters/PointsListTypeConverter.cs","PointsListTypeConverter","CanConvertFrom","正常系","string型以外からの変換が不可であること","なし","sourceType=typeof(int)","falseが返却される","中","変換不可判定"
"57","UT-MXL-057","src/Markup/Avalonia.Markup.Xaml/Converters/PointsListTypeConverter.cs","PointsListTypeConverter","ConvertFrom","正常系","ポイントリスト文字列が変換されること","なし","value=""0,0 100,100 50,50""","3つのPointを含むListが返却される","高","ポイントリスト変換"
"58","UT-MXL-058","src/Markup/Avalonia.Markup.Xaml/Converters/PointsListTypeConverter.cs","PointsListTypeConverter","ConvertFrom","境界値","空文字列が変換されること","なし","value=""""","空のListが返却される","中","空リスト"
"59","UT-MXL-059","src/Markup/Avalonia.Markup.Xaml/Converters/PointsListTypeConverter.cs","PointsListTypeConverter","ConvertFrom","境界値","単一ポイントが変換されること","なし","value=""50,50""","1つのPointを含むListが返却される","中","単一要素"
"60","UT-MXL-060","src/Markup/Avalonia.Markup.Xaml/Converters/IconTypeConverter.cs","IconTypeConverter","CanConvertFrom","正常系","string型からの変換が可能であること","なし","sourceType=typeof(string)","trueが返却される","中","変換可能判定"
"61","UT-MXL-061","src/Markup/Avalonia.Markup.Xaml/Converters/IconTypeConverter.cs","IconTypeConverter","ConvertFrom","正常系","ローカルファイルパスからアイコンが作成されること","ファイルが存在","value=""C:\\icon.ico""(絶対パス)","WindowIconインスタンスが返却される","高","ローカルファイルからの読み込み"
"62","UT-MXL-062","src/Markup/Avalonia.Markup.Xaml/Converters/IconTypeConverter.cs","IconTypeConverter","ConvertFrom","正常系","リソースURIからアイコンが作成されること","IAssetLoader登録済み","value=""avares://App/icon.ico""","WindowIconインスタンスが返却される","高","リソースからの読み込み"
"63","UT-MXL-063","src/Markup/Avalonia.Markup.Xaml/Converters/IconTypeConverter.cs","IconTypeConverter","ConvertFrom","正常系","Bitmapからアイコンが作成されること","なし","value=Bitmapインスタンス","WindowIconインスタンスが返却される","中","Bitmapからの変換"
"64","UT-MXL-064","src/Markup/Avalonia.Markup.Xaml/Converters/IconTypeConverter.cs","IconTypeConverter","ConvertFrom","異常系","サポートされない型でNotSupportedExceptionがスローされること","なし","value=123(int型)","NotSupportedExceptionがスローされる","中","不正型のエラー"
"65","UT-MXL-065","src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs","AvaloniaPropertyTypeConverter","CanConvertFrom","正常系","string型からの変換が可能であること","なし","sourceType=typeof(string)","trueが返却される","中","変換可能判定"
"66","UT-MXL-066","src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs","AvaloniaPropertyTypeConverter","ConvertFrom","正常系","プロパティ名から登録済みプロパティが取得されること","プロパティが登録済み","value=""Opacity""","AvaloniaPropertyインスタンスが返却される","高","プロパティ解決"
"67","UT-MXL-067","src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs","AvaloniaPropertyTypeConverter","ConvertFrom","正常系","所有者型指定でプロパティが取得されること","プロパティが登録済み","value=""Control.Opacity""","AvaloniaPropertyインスタンスが返却される","高","所有者型指定のプロパティ解決"
"68","UT-MXL-068","src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs","AvaloniaPropertyTypeConverter","ConvertFrom","正常系","名前空間プレフィックス付きでプロパティが取得されること","プロパティが登録済み","value=""local:MyControl.MyProperty""","AvaloniaPropertyインスタンスが返却される","中","名前空間プレフィックス対応"
"69","UT-MXL-069","src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs","AvaloniaPropertyTypeConverter","ConvertFrom","異常系","未登録プロパティでXamlLoadExceptionがスローされること","プロパティが未登録","value=""NonExistentProperty""","XamlLoadExceptionがスローされる","高","未登録プロパティのエラー"
"70","UT-MXL-070","src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs","AvaloniaPropertyTypeConverter","ConvertFrom","異常系","存在しない型でXamlLoadExceptionがスローされること","型が存在しない","value=""NonExistentType.Property""","XamlLoadExceptionがスローされる","高","存在しない型のエラー"
"71","UT-MXL-071","src/Markup/Avalonia.Markup.Xaml/Converters/BitmapTypeConverter.cs","BitmapTypeConverter","CanConvertFrom","正常系","string型からの変換が可能であること","なし","sourceType=typeof(string)","trueが返却される","中","変換可能判定"
"72","UT-MXL-072","src/Markup/Avalonia.Markup.Xaml/Converters/BitmapTypeConverter.cs","BitmapTypeConverter","ConvertFrom","正常系","ローカルファイルパスからBitmapが作成されること","ファイルが存在","value=""C:\\image.png""(絶対パス)","Bitmapインスタンスが返却される","高","ローカルファイルからの読み込み"
"73","UT-MXL-073","src/Markup/Avalonia.Markup.Xaml/Converters/BitmapTypeConverter.cs","BitmapTypeConverter","ConvertFrom","正常系","リソースURIからBitmapが作成されること","IAssetLoader登録済み","value=""avares://App/image.png""","Bitmapインスタンスが返却される","高","リソースからの読み込み"
"74","UT-MXL-074","src/Markup/Avalonia.Markup.Xaml/Converters/BitmapTypeConverter.cs","BitmapTypeConverter","ConvertFrom","正常系","スラッシュ始まりの相対パスが処理されること","IAssetLoader登録済み","value=""/Assets/image.png""","Bitmapインスタンスが返却される","中","相対パス処理"
"75","UT-MXL-075","src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaUriTypeConverter.cs","AvaloniaUriTypeConverter","CanConvertFrom","正常系","string型からの変換が可能であること","なし","sourceType=typeof(string)","trueが返却される","中","変換可能判定"
"76","UT-MXL-076","src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaUriTypeConverter.cs","AvaloniaUriTypeConverter","ConvertFrom","正常系","絶対URIが変換されること","なし","value=""https://example.com""","Uriインスタンスが返却される","高","絶対URI変換"
"77","UT-MXL-077","src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaUriTypeConverter.cs","AvaloniaUriTypeConverter","ConvertFrom","正常系","相対URIが変換されること","なし","value=""path/to/resource""","相対Uriインスタンスが返却される","高","相対URI変換"
"78","UT-MXL-078","src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaUriTypeConverter.cs","AvaloniaUriTypeConverter","ConvertFrom","正常系","スラッシュ始まりのパスが相対URIとして変換されること","なし","value=""/path/to/resource""","相対Uriインスタンスが返却される","中","Unix形式パス"
"79","UT-MXL-079","src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaUriTypeConverter.cs","AvaloniaUriTypeConverter","ConvertFrom","異常系","不正なURIでArgumentExceptionがスローされること","なし","value="":::invalid:::""","ArgumentExceptionがスローされる","中","不正URI"
"80","UT-MXL-080","src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaUriTypeConverter.cs","AvaloniaUriTypeConverter","ConvertFrom","境界値","null文字列でnullが返却されること","なし","value=null","nullが返却される","中","null入力"
"81","UT-MXL-081","src/Markup/Avalonia.Markup.Xaml/Converters/FontFamilyTypeConverter.cs","FontFamilyTypeConverter","CanConvertFrom","正常系","string型からの変換が可能であること","なし","sourceType=typeof(string)","trueが返却される","中","変換可能判定"
"82","UT-MXL-082","src/Markup/Avalonia.Markup.Xaml/Converters/FontFamilyTypeConverter.cs","FontFamilyTypeConverter","ConvertFrom","正常系","フォント名からFontFamilyが作成されること","なし","value=""Arial""","FontFamily(""Arial"")が返却される","高","フォント名変換"
"83","UT-MXL-083","src/Markup/Avalonia.Markup.Xaml/Converters/FontFamilyTypeConverter.cs","FontFamilyTypeConverter","ConvertFrom","正常系","リソースURIからFontFamilyが作成されること","フォントリソースが存在","value=""avares://App/Fonts/#CustomFont""","FontFamilyインスタンスが返却される","中","リソースフォント"
"84","UT-MXL-084","src/Markup/Avalonia.Markup.Xaml/Templates/ControlTemplate.cs","ControlTemplate","Build","正常系","テンプレートからコントロールが構築されること","Contentが設定済み","有効なTemplatedControl","TemplateResult<Control>が返却される","高","テンプレートビルド"
"85","UT-MXL-085","src/Markup/Avalonia.Markup.Xaml/Templates/ControlTemplate.cs","ControlTemplate","Build","正常系","Contentがnullの場合にnullが返却されること","Content=null","有効なTemplatedControl","nullが返却される","中","nullコンテンツ"
"86","UT-MXL-086","src/Markup/Avalonia.Markup.Xaml/Templates/DataTemplate.cs","DataTemplate","Match","正常系","DataTypeがnullの場合に常にtrueが返却されること","DataType=null","任意のdata","trueが返却される","高","汎用データテンプレート"
"87","UT-MXL-087","src/Markup/Avalonia.Markup.Xaml/Templates/DataTemplate.cs","DataTemplate","Match","正常系","DataTypeがデータ型と一致する場合にtrueが返却されること","DataType=typeof(MyModel)","MyModelインスタンス","trueが返却される","高","型一致判定"
"88","UT-MXL-088","src/Markup/Avalonia.Markup.Xaml/Templates/DataTemplate.cs","DataTemplate","Match","正常系","DataTypeがデータ型と一致しない場合にfalseが返却されること","DataType=typeof(MyModel)","OtherModelインスタンス","falseが返却される","高","型不一致判定"
"89","UT-MXL-089","src/Markup/Avalonia.Markup.Xaml/Templates/DataTemplate.cs","DataTemplate","Build","正常系","既存コントロールがある場合にそのまま返却されること","なし","data=任意, existing=Controlインスタンス","existingがそのまま返却される","中","リサイクル機能"
"90","UT-MXL-090","src/Markup/Avalonia.Markup.Xaml/Templates/DataTemplate.cs","DataTemplate","Build","正常系","既存コントロールがない場合に新規作成されること","Contentが設定済み","data=任意, existing=null","新規Controlが返却される","高","新規作成"
"91","UT-MXL-091","src/Markup/Avalonia.Markup.Xaml/Templates/TreeDataTemplate.cs","TreeDataTemplate","Match","正常系","DataTypeがnullの場合に常にtrueが返却されること","DataType=null","任意のdata","trueが返却される","高","汎用ツリーデータテンプレート"
"92","UT-MXL-092","src/Markup/Avalonia.Markup.Xaml/Templates/TreeDataTemplate.cs","TreeDataTemplate","Match","正常系","DataTypeが一致する場合にtrueが返却されること","DataType=typeof(TreeNode)","TreeNodeインスタンス","trueが返却される","高","型一致判定"
"93","UT-MXL-093","src/Markup/Avalonia.Markup.Xaml/Templates/TreeDataTemplate.cs","TreeDataTemplate","BindChildren","正常系","ItemsSourceが設定されている場合にバインディングが実行されること","ItemsSource設定済み","有効なtarget, targetProperty, item","バインディングのIDisposableが返却される","高","子要素バインディング"
"94","UT-MXL-094","src/Markup/Avalonia.Markup.Xaml/Templates/TreeDataTemplate.cs","TreeDataTemplate","BindChildren","正常系","ItemsSourceがnullの場合にDisposable.Emptyが返却されること","ItemsSource=null","有効なtarget, targetProperty, item","Disposable.Emptyが返却される","中","バインディングなし"
"95","UT-MXL-095","src/Markup/Avalonia.Markup.Xaml/Templates/TreeDataTemplate.cs","TreeDataTemplate","Build","正常系","テンプレートからコントロールが構築されDataContextが設定されること","Contentが設定済み","有効なdata","DataContextにdataが設定されたControlが返却される","高","テンプレートビルド"
"96","UT-MXL-096","src/Markup/Avalonia.Markup.Xaml/Templates/TemplateContent.cs","TemplateContent","Load","正常系","IDeferredContentからTemplateResultが構築されること","なし","IDeferredContentインスタンス","TemplateResult<Control>が返却される","高","遅延コンテンツロード"
"97","UT-MXL-097","src/Markup/Avalonia.Markup.Xaml/Templates/TemplateContent.cs","TemplateContent","Load","正常系","Func<IServiceProvider, object>からTemplateResultが構築されること","なし","Funcデリゲート","TemplateResult<Control>が返却される","高","関数デリゲートロード"
"98","UT-MXL-098","src/Markup/Avalonia.Markup.Xaml/Templates/TemplateContent.cs","TemplateContent","Load","正常系","nullコンテンツでnullが返却されること","なし","templateContent=null","nullが返却される","中","nullコンテンツ"
"99","UT-MXL-099","src/Markup/Avalonia.Markup.Xaml/Templates/TemplateContent.cs","TemplateContent","Load","異常系","不正なコンテンツ型でArgumentExceptionがスローされること","なし","templateContent=""invalid""","ArgumentExceptionがスローされる","中","不正コンテンツ型"
"100","UT-MXL-100","src/Markup/Avalonia.Markup.Xaml/Templates/ItemsPanelTemplate.cs","ItemsPanelTemplate","Build","正常系","テンプレートからPanelが構築されること","Contentが設定済み","なし","Panelインスタンスが返却される","高","パネルテンプレートビルド"
"101","UT-MXL-101","src/Markup/Avalonia.Markup.Xaml/Templates/Template.cs","Template","Build","正常系","テンプレートからControlが構築されること","Contentが設定済み","なし","Controlインスタンスが返却される","高","汎用テンプレートビルド"
"102","UT-MXL-102","src/Markup/Avalonia.Markup.Xaml/Styling/StyleInclude.cs","StyleInclude","コンストラクタ","正常系","baseUri指定でインスタンスが作成されること","なし","baseUri=有効なUri","_baseUriが設定されたインスタンスが作成される","中","Uriコンストラクタ"
"103","UT-MXL-103","src/Markup/Avalonia.Markup.Xaml/Styling/StyleInclude.cs","StyleInclude","コンストラクタ","正常系","serviceProvider指定でインスタンスが作成されること","IUriContextを提供するserviceProvider","有効なserviceProvider","_baseUriが設定されたインスタンスが作成される","中","ServiceProviderコンストラクタ"
"104","UT-MXL-104","src/Markup/Avalonia.Markup.Xaml/Styling/StyleInclude.cs","StyleInclude","Loaded","異常系","Sourceがnullの場合にInvalidOperationExceptionがスローされること","Source=null","なし","InvalidOperationExceptionがスローされる","高","Source未設定エラー"
"105","UT-MXL-105","src/Markup/Avalonia.Markup.Xaml/Styling/StyleInclude.cs","StyleInclude","Loaded","正常系","スタイルがロードされてキャッシュされること","Source設定済み, スタイルファイル存在","なし","IStyleインスタンスが返却される","高","スタイルロード"
"106","UT-MXL-106","src/Markup/Avalonia.Markup.Xaml/Styling/StyleInclude.cs","StyleInclude","TryGetResource","正常系","ロード中でない場合にリソース検索が実行されること","_isLoading=false","有効なkey, theme","リソース値とtrueが返却される","高","リソース取得"
"107","UT-MXL-107","src/Markup/Avalonia.Markup.Xaml/Styling/StyleInclude.cs","StyleInclude","TryGetResource","正常系","ロード中の場合にfalseが返却されること","_isLoading=true","有効なkey, theme","value=null, falseが返却される","中","ロード中のリソース取得"
"108","UT-MXL-108","src/Markup/Avalonia.Markup.Xaml/Styling/ResourceInclude.cs","ResourceInclude","コンストラクタ","正常系","baseUri指定でインスタンスが作成されること","なし","baseUri=有効なUri","_baseUriが設定されたインスタンスが作成される","中","Uriコンストラクタ"
"109","UT-MXL-109","src/Markup/Avalonia.Markup.Xaml/Styling/ResourceInclude.cs","ResourceInclude","Loaded","異常系","Sourceがnullの場合にInvalidOperationExceptionがスローされること","Source=null","なし","InvalidOperationExceptionがスローされる","高","Source未設定エラー"
"110","UT-MXL-110","src/Markup/Avalonia.Markup.Xaml/Styling/ResourceInclude.cs","ResourceInclude","Loaded","正常系","リソース辞書がロードされてキャッシュされること","Source設定済み","なし","IResourceDictionaryインスタンスが返却される","高","リソース辞書ロード"
"111","UT-MXL-111","src/Markup/Avalonia.Markup.Xaml/Styling/ResourceInclude.cs","ResourceInclude","TryGetResource","正常系","ロード中でない場合にリソース検索が実行されること","_isLoading=false","有効なkey, theme","リソース値とtrueが返却される","高","リソース取得"
"112","UT-MXL-112","src/Markup/Avalonia.Markup.Xaml/Parsers/PropertyParser.cs","PropertyParser","Parse","正常系","単純なプロパティ名が解析されること","なし","text=""Opacity""","(null, null, ""Opacity"")が返却される","高","単純プロパティ名"
"113","UT-MXL-113","src/Markup/Avalonia.Markup.Xaml/Parsers/PropertyParser.cs","PropertyParser","Parse","正常系","所有者型付きプロパティ名が解析されること","なし","text=""Control.Opacity""","(null, ""Control"", ""Opacity"")が返却される","高","所有者型付きプロパティ"
"114","UT-MXL-114","src/Markup/Avalonia.Markup.Xaml/Parsers/PropertyParser.cs","PropertyParser","Parse","正常系","名前空間プレフィックス付きが解析されること","なし","text=""local:Control.Opacity""","(""local"", ""Control"", ""Opacity"")が返却される","高","名前空間プレフィックス付き"
"115","UT-MXL-115","src/Markup/Avalonia.Markup.Xaml/Parsers/PropertyParser.cs","PropertyParser","Parse","正常系","括弧付きアタッチドプロパティが解析されること","なし","text=""(Grid.Row)""","(null, ""Grid"", ""Row"")が返却される","高","アタッチドプロパティ"
"116","UT-MXL-116","src/Markup/Avalonia.Markup.Xaml/Parsers/PropertyParser.cs","PropertyParser","Parse","異常系","空文字列でExpressionParseExceptionがスローされること","なし","text=""""","ExpressionParseExceptionがスローされる","高","空入力エラー"
"117","UT-MXL-117","src/Markup/Avalonia.Markup.Xaml/Parsers/PropertyParser.cs","PropertyParser","Parse","異常系","括弧が閉じられていない場合にExpressionParseExceptionがスローされること","なし","text=""(Grid.Row""","ExpressionParseExceptionがスローされる","中","括弧不整合エラー"
"118","UT-MXL-118","src/Markup/Avalonia.Markup.Xaml/Parsers/PropertyParser.cs","PropertyParser","Parse","異常系","プロパティ名なしでExpressionParseExceptionがスローされること","なし","text=""Control.""","ExpressionParseExceptionがスローされる","中","プロパティ名欠落"
"119","UT-MXL-119","src/Markup/Avalonia.Markup.Xaml/EagerParentStackEnumerator.cs","EagerParentStackEnumerator","TryGetNext","正常系","親スタックから順に要素が取得されること","親スタックに3つの要素","なし","3つの要素が順に返却される","高","スタック走査"
"120","UT-MXL-120","src/Markup/Avalonia.Markup.Xaml/EagerParentStackEnumerator.cs","EagerParentStackEnumerator","TryGetNext","正常系","空のスタックでnullが返却されること","空の親スタック","なし","nullが返却される","中","空スタック"
"121","UT-MXL-121","src/Markup/Avalonia.Markup.Xaml/EagerParentStackEnumerator.cs","EagerParentStackEnumerator","TryGetNextOfType","正常系","指定型の要素のみが取得されること","異なる型の要素を含むスタック","T=IResourceNode","IResourceNode型の要素のみが返却される","高","型フィルタリング"
"122","UT-MXL-122","src/Markup/Avalonia.Markup.Xaml/EagerParentStackEnumerator.cs","EagerParentStackEnumerator","TryGetNextOfType","正常系","指定型の要素がない場合にnullが返却されること","指定型を含まないスタック","T=IResourceNode","nullが返却される","中","型不一致"
"123","UT-MXL-123","src/Markup/Avalonia.Markup.Xaml/RuntimeXamlLoaderDocument.cs","RuntimeXamlLoaderDocument","コンストラクタ","正常系","XAML文字列からインスタンスが作成されること","なし","xaml=""<Button/>""","XamlStreamにUTF-8エンコードされたストリームが設定される","高","文字列コンストラクタ"
"124","UT-MXL-124","src/Markup/Avalonia.Markup.Xaml/RuntimeXamlLoaderDocument.cs","RuntimeXamlLoaderDocument","コンストラクタ","正常系","baseUri付きで文字列からインスタンスが作成されること","なし","baseUri=有効なUri, xaml=""<Button/>""","BaseUriとXamlStreamが設定される","高","Uri付き文字列コンストラクタ"
"125","UT-MXL-125","src/Markup/Avalonia.Markup.Xaml/RuntimeXamlLoaderDocument.cs","RuntimeXamlLoaderDocument","コンストラクタ","正常系","ストリームからインスタンスが作成されること","なし","stream=有効なStream","XamlStreamが設定される","高","ストリームコンストラクタ"
"126","UT-MXL-126","src/Markup/Avalonia.Markup.Xaml/RuntimeXamlLoaderDocument.cs","RuntimeXamlLoaderDocument","コンストラクタ","正常系","rootInstance付きでインスタンスが作成されること","なし","rootInstance=オブジェクト, xaml=""<Button/>""","RootInstanceとXamlStreamが設定される","中","RootInstance付きコンストラクタ"
"127","UT-MXL-127","src/Markup/Avalonia.Markup.Xaml/RuntimeXamlLoaderConfiguration.cs","RuntimeXamlLoaderConfiguration","プロパティ","正常系","デフォルト値が正しく設定されていること","なし","新規インスタンス作成","UseCompiledBindingsByDefault=false, DesignMode=false, CreateSourceInfo=false","中","デフォルト値確認"
"128","UT-MXL-128","src/Markup/Avalonia.Markup.Xaml/XamlLoadException.cs","XamlLoadException","コンストラクタ","正常系","デフォルトコンストラクタでインスタンスが作成されること","なし","なし","Messageが空の例外インスタンス","中","デフォルトコンストラクタ"
"129","UT-MXL-129","src/Markup/Avalonia.Markup.Xaml/XamlLoadException.cs","XamlLoadException","コンストラクタ","正常系","メッセージ付きでインスタンスが作成されること","なし","message=""Error""","Message=""Error""の例外インスタンス","中","メッセージ付きコンストラクタ"
"130","UT-MXL-130","src/Markup/Avalonia.Markup.Xaml/XamlLoadException.cs","XamlLoadException","コンストラクタ","正常系","内部例外付きでインスタンスが作成されること","なし","message=""Error"", innerException=Exception","InnerExceptionが設定された例外インスタンス","中","内部例外付きコンストラクタ"
"131","UT-MXL-131","src/Markup/Avalonia.Markup.Xaml/Extensions.cs","Extensions","GetService<T>","正常系","登録済みサービスが取得されること","サービス登録済み","T=INameScope","INameScopeインスタンスが返却される","高","サービス取得"
"132","UT-MXL-132","src/Markup/Avalonia.Markup.Xaml/Extensions.cs","Extensions","GetService<T>","正常系","未登録サービスでnullが返却されること","サービス未登録","T=INameScope","nullが返却される","中","サービス未登録"
"133","UT-MXL-133","src/Markup/Avalonia.Markup.Xaml/Extensions.cs","Extensions","GetRequiredService<T>","正常系","登録済みサービスが取得されること","サービス登録済み","T=INameScope","INameScopeインスタンスが返却される","高","必須サービス取得"
"134","UT-MXL-134","src/Markup/Avalonia.Markup.Xaml/Extensions.cs","Extensions","GetRequiredService<T>","異常系","未登録サービスでInvalidOperationExceptionがスローされること","サービス未登録","T=INameScope","InvalidOperationExceptionがスローされる","高","必須サービス未登録エラー"
"135","UT-MXL-135","src/Markup/Avalonia.Markup.Xaml/Extensions.cs","Extensions","GetContextBaseUri","正常系","IUriContextからBaseUriが取得されること","IUriContext登録済み","有効なserviceProvider","Uriが返却される","中","BaseUri取得"
"136","UT-MXL-136","src/Markup/Avalonia.Markup.Xaml/Extensions.cs","Extensions","GetFirstParent<T>","正常系","最初の親要素が取得されること","親スタックに複数要素","T=Control","最初のControl型親要素が返却される","高","最初の親取得"
"137","UT-MXL-137","src/Markup/Avalonia.Markup.Xaml/Extensions.cs","Extensions","GetLastParent<T>","正常系","最後の親要素が取得されること","親スタックに複数要素","T=Control","最後のControl型親要素が返却される","中","最後の親取得"
"138","UT-MXL-138","src/Markup/Avalonia.Markup.Xaml/Extensions.cs","Extensions","IsInControlTemplate","正常系","コントロールテンプレート内の場合にtrueが返却されること","IAvaloniaXamlIlControlTemplateProvider登録済み","有効なserviceProvider","trueが返却される","中","テンプレート内判定"
"139","UT-MXL-139","src/Markup/Avalonia.Markup.Xaml/Extensions.cs","Extensions","GetDefaultAnchor","正常系","Control型の親がアンカーとして返却されること","Control型親が存在","有効なserviceProvider","Controlインスタンスが返却される","高","アンカー取得"
"140","UT-MXL-140","src/Markup/Avalonia.Markup.Xaml/Data/DynamicResourceExpression.cs","DynamicResourceExpression","Description","正常系","説明文字列が正しく生成されること","resourceKey=""TestKey""","なし","""DynamicResource TestKey""が返却される","低","説明プロパティ"
"141","UT-MXL-141","src/Markup/Avalonia.Markup.Xaml/Data/DynamicResourceExpression.cs","DynamicResourceExpression","StartCore","正常系","IResourceHostが見つかった場合にサブスクライブされること","ターゲットがIResourceHost","なし","ResourcesChangedイベントが購読される","高","式の開始"
"142","UT-MXL-142","src/Markup/Avalonia.Markup.Xaml/Data/DynamicResourceExpression.cs","DynamicResourceExpression","StartCore","異常系","ホストもプロバイダーも見つからない場合にエラーログが出力されること","ターゲットがIResourceHostでない, アンカーもない","なし","エラーログが出力される","中","ホスト未発見"
"143","UT-MXL-143","src/Markup/Avalonia.Markup.Xaml/Data/DynamicResourceExpression.cs","DynamicResourceExpression","StopCore","正常系","サブスクリプションが解除されること","式が開始済み","なし","ResourcesChangedイベントの購読が解除される","高","式の停止"
"144","UT-MXL-144","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/PropertyInfoAccessorFactory.cs","PropertyInfoAccessorFactory","CreateInpcPropertyAccessor","正常系","InpcPropertyAccessorが作成されること","なし","有効なtarget, property","InpcPropertyAccessorインスタンスが返却される","高","INPCアクセサ作成"
"145","UT-MXL-145","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/PropertyInfoAccessorFactory.cs","PropertyInfoAccessorFactory","CreateAvaloniaPropertyAccessor","正常系","AvaloniaPropertyAccessorが作成されること","なし","有効なtarget, AvaloniaPropertyを持つproperty","AvaloniaPropertyAccessorインスタンスが返却される","高","Avaloniaプロパティアクセサ作成"
"146","UT-MXL-146","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/PropertyInfoAccessorFactory.cs","PropertyInfoAccessorFactory","CreateIndexerPropertyAccessor","正常系","IndexerAccessorが作成されること","なし","有効なtarget, property, argument=0","IndexerAccessorインスタンスが返却される","高","インデクサアクセサ作成"
"147","UT-MXL-147","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/PropertyInfoAccessorFactory.cs","AvaloniaPropertyAccessor","SetValue","正常系","読み取り専用でないプロパティに値が設定されること","IsReadOnly=false, Instance存在","value=100, priority=LocalValue","trueが返却され値が設定される","高","プロパティ値設定"
"148","UT-MXL-148","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/PropertyInfoAccessorFactory.cs","AvaloniaPropertyAccessor","SetValue","正常系","読み取り専用プロパティで設定が失敗すること","IsReadOnly=true","value=100","falseが返却される","中","読み取り専用プロパティ"
"149","UT-MXL-149","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/PropertyInfoAccessorFactory.cs","InpcPropertyAccessor","SetValue","正常系","設定可能なプロパティに値が設定されること","CanSet=true, target存在","value=100","trueが返却され値が設定される","高","INPCプロパティ値設定"
"150","UT-MXL-150","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/PropertyInfoAccessorFactory.cs","InpcPropertyAccessor","OnEvent","正常系","プロパティ名が一致する場合に値が発行されること","プロパティがサブスクライブ済み","PropertyChangedEventArgs(Name一致)","新しい値が発行される","高","プロパティ変更通知"
"151","UT-MXL-151","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/PropertyInfoAccessorFactory.cs","IndexerAccessor","ShouldNotifyListeners","正常系","Add操作でインデックス以降の場合にtrueが返却されること","_index=5","Action=Add, NewStartingIndex=3","trueが返却される","中","コレクション変更通知判定"
"152","UT-MXL-152","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/PropertyInfoAccessorFactory.cs","IndexerAccessor","ShouldNotifyListeners","正常系","Reset操作で常にtrueが返却されること","任意の_index","Action=Reset","trueが返却される","中","リセット時の通知"
"153","UT-MXL-153","src/Markup/Avalonia.Markup.Xaml/XamlIl/Runtime/XamlIlRuntimeHelpers.cs","XamlIlRuntimeHelpers","DeferredTransformationFactoryV1","正常系","遅延変換ファクトリが作成されること","有効なprovider","有効なbuilder, provider","Func<IServiceProvider, object>が返却される","高","V1遅延ファクトリ"
"154","UT-MXL-154","src/Markup/Avalonia.Markup.Xaml/XamlIl/Runtime/XamlIlRuntimeHelpers.cs","XamlIlRuntimeHelpers","CreateRootServiceProviderV2","正常系","ルートサービスプロバイダーが作成されること","なし","なし","IServiceProviderインスタンスが返却される","高","V2ルートプロバイダー"
"155","UT-MXL-155","src/Markup/Avalonia.Markup.Xaml/XamlIl/Runtime/XamlIlRuntimeHelpers.cs","XamlIlRuntimeHelpers","CreateRootServiceProviderV3","正常系","親プロバイダー付きでルートサービスプロバイダーが作成されること","なし","parentServiceProvider=有効なprovider","親プロバイダーを参照するIServiceProviderが返却される","高","V3ルートプロバイダー"
"156","UT-MXL-156","src/Markup/Avalonia.Markup.Xaml/XamlIl/Runtime/XamlIlRuntimeHelpers.cs","XamlIlRuntimeHelpers","ApplyNonMatchingMarkupExtensionV1","正常系","BindingBaseの場合にバインドが適用されること","property=AvaloniaProperty","target=AvaloniaObject, value=BindingBase","バインディングが適用される","高","マークアップ拡張適用"
"157","UT-MXL-157","src/Markup/Avalonia.Markup.Xaml/XamlIl/Runtime/XamlIlRuntimeHelpers.cs","XamlIlRuntimeHelpers","ApplyNonMatchingMarkupExtensionV1","異常系","非AvaloniaプロパティへのバインドでArgumentExceptionがスローされること","property=非AvaloniaProperty","target=object, value=BindingBase","ArgumentExceptionがスローされる","中","非Avaloniaプロパティへのバインドエラー"
"158","UT-MXL-158","src/Markup/Avalonia.Markup.Xaml/XamlIl/Runtime/XamlIlRuntimeHelpers.cs","XamlIlRuntimeHelpers","AsEagerParentStackProvider","正常系","IAvaloniaXamlIlEagerParentStackProviderに変換されること","provider=IAvaloniaXamlIlParentStackProvider","なし","IAvaloniaXamlIlEagerParentStackProviderが返却される","中","プロバイダー変換"
"159","UT-MXL-159","src/Markup/Avalonia.Markup.Xaml/Diagnostics/XamlSourceInfo.cs","XamlSourceInfo","コンストラクタ","正常系","行番号・列番号・ファイルパスでインスタンスが作成されること","なし","line=10, column=5, filePath=""test.xaml""","LineNumber=10, LinePosition=5, SourceUriが設定される","中","コンストラクタ"
"160","UT-MXL-160","src/Markup/Avalonia.Markup.Xaml/Diagnostics/XamlSourceInfo.cs","XamlSourceInfo","SetXamlSourceInfo(object)","正常系","AvaloniaObjectに情報が設定されること","なし","obj=AvaloniaObject, info=XamlSourceInfo","AttachedPropertyに情報が設定される","高","AvaloniaObject情報設定"
"161","UT-MXL-161","src/Markup/Avalonia.Markup.Xaml/Diagnostics/XamlSourceInfo.cs","XamlSourceInfo","SetXamlSourceInfo(object)","正常系","非AvaloniaObjectに情報が設定されること","なし","obj=object, info=XamlSourceInfo","ConditionalWeakTableに情報が設定される","中","非AvaloniaObject情報設定"
"162","UT-MXL-162","src/Markup/Avalonia.Markup.Xaml/Diagnostics/XamlSourceInfo.cs","XamlSourceInfo","SetXamlSourceInfo(object)","異常系","objがnullの場合にArgumentNullExceptionがスローされること","なし","obj=null","ArgumentNullExceptionがスローされる","高","null引数エラー"
"163","UT-MXL-163","src/Markup/Avalonia.Markup.Xaml/Diagnostics/XamlSourceInfo.cs","XamlSourceInfo","GetXamlSourceInfo(object)","正常系","設定済みの情報が取得されること","情報が設定済み","obj=設定済みオブジェクト","XamlSourceInfoが返却される","高","情報取得"
"164","UT-MXL-164","src/Markup/Avalonia.Markup.Xaml/Diagnostics/XamlSourceInfo.cs","XamlSourceInfo","GetXamlSourceInfo(object)","正常系","未設定の場合にnullが返却されること","情報が未設定","obj=未設定オブジェクト","nullが返却される","中","情報未設定"
"165","UT-MXL-165","src/Markup/Avalonia.Markup.Xaml/Diagnostics/XamlSourceInfo.cs","XamlSourceInfo","SetXamlSourceInfo(dict, key)","正常系","リソース辞書のキーに情報が設定されること","なし","dictionary=有効, key=""TestKey"", info=XamlSourceInfo","辞書内に情報が設定される","中","辞書キー情報設定"
"166","UT-MXL-166","src/Markup/Avalonia.Markup.Xaml/Diagnostics/XamlSourceInfo.cs","XamlSourceInfo","GetXamlSourceInfo(dict, key)","正常系","リソース辞書のキーから情報が取得されること","情報が設定済み","dictionary=有効, key=""TestKey""","XamlSourceInfoが返却される","中","辞書キー情報取得"
"167","UT-MXL-167","src/Markup/Avalonia.Markup.Xaml/Diagnostics/XamlSourceInfo.cs","XamlSourceInfo","ToString","正常系","ファイルパス付きの文字列が返却されること","SourceUri設定済み","なし","""filePath:line,column""形式の文字列","低","文字列表現"
"168","UT-MXL-168","src/Markup/Avalonia.Markup.Xaml/Diagnostics/XamlSourceInfo.cs","XamlSourceInfo","ToString","正常系","ファイルパスなしの文字列が返却されること","SourceUri=null","なし","""(unknown):line,column""形式の文字列","低","不明パスの文字列表現"
"169","UT-MXL-169","src/Markup/Avalonia.Markup.Xaml/MarkupExtension.cs","MarkupExtension","ProvideValue","正常系","抽象メソッドが派生クラスで実装されること","派生クラスで実装","有効なserviceProvider","派生クラスの実装結果が返却される","高","抽象基底クラス"
"170","UT-MXL-170","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/On.cs","On<TReturn>","Options","正常系","Optionsプロパティが空のリストを返却すること","なし","なし","空のIReadOnlyList<string>が返却される","低","Optionsプロパティ"
"171","UT-MXL-171","src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/On.cs","On<TReturn>","Content","正常系","Contentプロパティの設定と取得ができること","なし","Content=任意の値","設定した値が返却される","低","Contentプロパティ"
"1","UT-MRK-001","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","コンストラクタ","正常系","typeResolverを指定してインスタンスが正常に生成されること","なし","typeResolver=有効なFunc<string, string, Type?>","SelectorParserインスタンスが生成される","高","パーサー初期化の基本機能"
"2","UT-MRK-002","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","コンストラクタ","異常系","typeResolverがnullの場合の挙動","なし","typeResolver=null","ArgumentNullExceptionがスローされる、またはnull参照が保存される","中","nullハンドリング"
"3","UT-MRK-003","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","正常系","単純な型セレクタが正しくパースされること","typeResolverが設定済み","s=""Button""","Selectorオブジェクトが返却される（OfType）","高","基本的なセレクタパース"
"4","UT-MRK-004","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","正常系","クラスセレクタ(.class)が正しくパースされること","typeResolverが設定済み","s="".myClass""","Selectorオブジェクトが返却される（Class）","高","CSSライクなクラスセレクタ"
"5","UT-MRK-005","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","正常系","名前セレクタ(#name)が正しくパースされること","typeResolverが設定済み","s=""#myName""","Selectorオブジェクトが返却される（Name）","高","名前によるセレクタ"
"6","UT-MRK-006","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","正常系","子セレクタ(>)が正しくパースされること","typeResolverが設定済み","s=""Button > TextBlock""","Child関係のSelectorが返却される","高","階層セレクタ"
"7","UT-MRK-007","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","正常系","子孫セレクタ(スペース)が正しくパースされること","typeResolverが設定済み","s=""Button TextBlock""","Descendant関係のSelectorが返却される","高","子孫セレクタ"
"8","UT-MRK-008","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","正常系",":is()セレクタが正しくパースされること","typeResolverが設定済み","s="":is(Button)""","IsSyntaxを含むSelectorが返却される","中","疑似クラスセレクタ"
"9","UT-MRK-009","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","正常系",":not()セレクタが正しくパースされること","typeResolverが設定済み","s="":not(.disabled)""","NotSyntaxを含むSelectorが返却される","中","否定疑似クラス"
"10","UT-MRK-010","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","正常系",":nth-child()セレクタが正しくパースされること","typeResolverが設定済み","s="":nth-child(2n+1)""","NthChildSyntaxを含むSelectorが返却される","中","nth-childセレクタ"
"11","UT-MRK-011","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","正常系",":nth-last-child()セレクタが正しくパースされること","typeResolverが設定済み","s="":nth-last-child(odd)""","NthLastChildSyntaxを含むSelectorが返却される","中","nth-last-childセレクタ"
"12","UT-MRK-012","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","正常系","プロパティセレクタ([property=value])が正しくパースされること","typeResolverが設定済み、ターゲット型が存在","s=""Button[IsEnabled=True]""","PropertyEquals含むSelectorが返却される","高","プロパティによるセレクタ"
"13","UT-MRK-013","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","正常系","添付プロパティセレクタが正しくパースされること","typeResolverが設定済み、添付プロパティ型が存在","s=""Button[(Grid.Row)=0]""","AttachedPropertyを含むSelectorが返却される","中","添付プロパティセレクタ"
"14","UT-MRK-014","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","正常系","テンプレートセレクタ(/template/)が正しくパースされること","typeResolverが設定済み","s=""Button /template/ Border""","Template関係のSelectorが返却される","中","テンプレート内セレクタ"
"15","UT-MRK-015","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","正常系","カンマ区切りの複数セレクタが正しくパースされること","typeResolverが設定済み","s=""Button, TextBlock""","Or結合のSelectorが返却される","高","複合セレクタ"
"16","UT-MRK-016","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","異常系","空文字列が渡された場合","typeResolverが設定済み","s=""""","nullが返却される","中","空入力"
"17","UT-MRK-017","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","異常系","nullが渡された場合","typeResolverが設定済み","s=null","例外がスローされる","中","null入力"
"18","UT-MRK-018","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","異常系","存在しない型名が指定された場合","typeResolverがnullを返す","s=""NonExistentType""","InvalidOperationExceptionがスローされる","高","型解決失敗"
"19","UT-MRK-019","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","異常系","プロパティセレクタでターゲット型がない場合","typeResolverが設定済み","s=""[IsEnabled=True]""","InvalidOperationExceptionがスローされる","高","ターゲット型なしエラー"
"20","UT-MRK-020","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","異常系","存在しないプロパティが指定された場合","typeResolverが設定済み、型は解決可能","s=""Button[NonExistent=True]""","InvalidOperationExceptionがスローされる","高","プロパティ解決失敗"
"21","UT-MRK-021","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorParser.cs","SelectorParser","Parse","異常系","プロパティ値の型変換に失敗した場合","typeResolverが設定済み","s=""Button[Width=invalid]""","InvalidOperationExceptionがスローされる","中","型変換失敗"
"22","UT-MRK-022","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系","単純な識別子がパースされること","なし","s=""Button""","OfTypeSyntaxのリストが返却される","高","基本パース機能"
"23","UT-MRK-023","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系","名前空間付き型名(ns|Type)がパースされること","なし","s=""local|Button""","Xmlns付きOfTypeSyntaxが返却される","中","名前空間付き型"
"24","UT-MRK-024","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系","クラスセレクタ(.class)がパースされること","なし","s="".pressed""","ClassSyntaxが返却される","高","CSSクラス構文"
"25","UT-MRK-025","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系","疑似クラス(:hover等)がパースされること","なし","s="":hover""","ClassSyntax(先頭:付き)が返却される","中","疑似クラス構文"
"26","UT-MRK-026","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系","名前セレクタ(#id)がパースされること","なし","s=""#myButton""","NameSyntaxが返却される","高","ID構文"
"27","UT-MRK-027","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系","子セレクタ(>)がパースされること","なし","s=""Button > TextBlock""","ChildSyntaxが含まれる","高","子セレクタ構文"
"28","UT-MRK-028","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系","子孫セレクタ(空白)がパースされること","なし","s=""Button TextBlock""","DescendantSyntaxが含まれる","高","子孫構文"
"29","UT-MRK-029","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系","テンプレートセレクタ(/template/)がパースされること","なし","s=""/template/""","TemplateSyntaxが返却される","中","テンプレート構文"
"30","UT-MRK-030","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系",":is(Type)がパースされること","なし","s="":is(Button)""","IsSyntaxが返却される","中",":is構文"
"31","UT-MRK-031","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系",":not(selector)がパースされること","なし","s="":not(.disabled)""","NotSyntaxが返却される","中",":not構文"
"32","UT-MRK-032","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系",":nth-child(odd)がパースされること","なし","s="":nth-child(odd)""","NthChildSyntax(step=2, offset=1)が返却される","中","nth-child odd"
"33","UT-MRK-033","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系",":nth-child(even)がパースされること","なし","s="":nth-child(even)""","NthChildSyntax(step=2, offset=0)が返却される","中","nth-child even"
"34","UT-MRK-034","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系",":nth-child(2n+1)がパースされること","なし","s="":nth-child(2n+1)""","NthChildSyntax(step=2, offset=1)が返却される","中","nth-child式"
"35","UT-MRK-035","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系",":nth-child(3)がパースされること","なし","s="":nth-child(3)""","NthChildSyntax(step=0, offset=3)が返却される","中","nth-child単一値"
"36","UT-MRK-036","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系",":nth-last-child(odd)がパースされること","なし","s="":nth-last-child(odd)""","NthLastChildSyntaxが返却される","中","nth-last-child"
"37","UT-MRK-037","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系","カンマ区切りがパースされること","なし","s=""Button, TextBlock""","CommaSyntaxが含まれる","高","カンマ区切り"
"38","UT-MRK-038","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系","ネスティングセレクタ(^)がパースされること","なし","s=""^""","NestingSyntaxが返却される","中","ネスティング構文"
"39","UT-MRK-039","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系","プロパティセレクタ[prop=val]がパースされること","なし","s=""Button[Width=100]""","PropertySyntaxが含まれる","高","プロパティ構文"
"40","UT-MRK-040","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","正常系","添付プロパティセレクタがパースされること","なし","s=""Button[(Grid.Row)=0]""","AttachedPropertySyntaxが返却される","中","添付プロパティ構文"
"41","UT-MRK-041","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","異常系","空文字列の場合","なし","s=""""","空のリストが返却される","中","空入力"
"42","UT-MRK-042","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","異常系",".の後にクラス名がない場合","なし","s="".""","ExpressionParseExceptionがスローされる","中","不完全なクラス"
"43","UT-MRK-043","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","異常系","#の後に名前がない場合","なし","s=""#""","ExpressionParseExceptionがスローされる","中","不完全な名前"
"44","UT-MRK-044","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","異常系",":nth-child()の引数が不正な場合","なし","s="":nth-child(invalid)""","ExpressionParseExceptionがスローされる","中","不正なnth-child"
"45","UT-MRK-045","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","異常系","/template/の形式が不正な場合","なし","s=""/invalid/""","ExpressionParseExceptionがスローされる","中","不正なテンプレート"
"46","UT-MRK-046","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","境界値",":nth-child(-1n+5)負のステップが処理されること","なし","s="":nth-child(-1n+5)""","NthChildSyntax(step=-1, offset=5)が返却される","低","負のステップ値"
"47","UT-MRK-047","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","SelectorGrammar","Parse","境界値",":nth-child(0)がパースされること","なし","s="":nth-child(0)""","NthChildSyntax(step=0, offset=0)が返却される","低","ゼロオフセット"
"48","UT-MRK-048","src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs","PropertyPathGrammar","Parse","正常系","単純なプロパティ名がパースされること","なし","s=""Name""","PropertySyntaxが返却される","高","基本プロパティパース"
"49","UT-MRK-049","src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs","PropertyPathGrammar","Parse","正常系","ドット区切りのプロパティパスがパースされること","なし","s=""Parent.Name""","PropertySyntax, ChildTraversalSyntax, PropertySyntaxが返却される","高","ネストプロパティ"
"50","UT-MRK-050","src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs","PropertyPathGrammar","Parse","正常系","型修飾プロパティ(TypeName.Property)がパースされること","なし","s=""(local:Button.Content)""","TypeQualifiedPropertySyntaxが返却される","中","型修飾プロパティ"
"51","UT-MRK-051","src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs","PropertyPathGrammar","Parse","正常系","名前空間付き型修飾プロパティがパースされること","なし","s=""(ns:Type.Property)""","TypeQualifiedPropertySyntax(TypeNamespace=ns)が返却される","中","名前空間付き型修飾"
"52","UT-MRK-052","src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs","PropertyPathGrammar","Parse","正常系","キャスト演算子(:>)がパースされること","なし","s="":>Button""","CastTypeSyntaxが返却される","中","キャスト構文"
"53","UT-MRK-053","src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs","PropertyPathGrammar","Parse","正常系","as演算子がパースされること","なし","s=""as Button""","CastTypeSyntaxが返却される","中","as構文"
"54","UT-MRK-054","src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs","PropertyPathGrammar","Parse","正常系","型確認演算子(:=)がパースされること","なし","s="":=Button""","EnsureTypeSyntaxが返却される","中","型確認構文"
"55","UT-MRK-055","src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs","PropertyPathGrammar","Parse","正常系","複合パス(Property:>Type.Child)がパースされること","なし","s=""Parent:>Button.Content""","複数のSyntax要素が返却される","中","複合パス"
"56","UT-MRK-056","src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs","PropertyPathGrammar","Parse","異常系","空文字列の場合","なし","s=""""","ExpressionParseExceptionがスローされる","中","空入力"
"57","UT-MRK-057","src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs","PropertyPathGrammar","Parse","異常系","不完全な型修飾(TypeName.)の場合","なし","s=""(Button.)""","ExpressionParseExceptionがスローされる","中","不完全な型修飾"
"58","UT-MRK-058","src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs","PropertyPathGrammar","Parse","異常系","閉じ括弧がない場合","なし","s=""(Button.Content""","ExpressionParseExceptionがスローされる","中","括弧不一致"
"59","UT-MRK-059","src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs","PropertyPathGrammar","Parse","異常系","ドットの後にプロパティ名がない場合","なし","s=""Parent.""","ExpressionParseExceptionがスローされる","中","不完全なパス"
"60","UT-MRK-060","src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs","PropertyPathGrammar","Parse","異常系","不正な文字が含まれる場合","なし","s=""Parent@Name""","ExpressionParseExceptionがスローされる","低","不正文字"
"61","UT-MRK-061","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs","ContainerQueryGrammar","Parse","正常系","min-widthクエリがパースされること","なし","s=""min-width: 100""","WidthSyntax(Operator=GreaterThanOrEquals, Value=100)が返却される","高","min-widthクエリ"
"62","UT-MRK-062","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs","ContainerQueryGrammar","Parse","正常系","max-widthクエリがパースされること","なし","s=""max-width: 500""","WidthSyntax(Operator=LessThanOrEquals, Value=500)が返却される","高","max-widthクエリ"
"63","UT-MRK-063","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs","ContainerQueryGrammar","Parse","正常系","widthクエリがパースされること","なし","s=""width: 300""","WidthSyntax(Operator=Equals, Value=300)が返却される","高","widthクエリ"
"64","UT-MRK-064","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs","ContainerQueryGrammar","Parse","正常系","min-heightクエリがパースされること","なし","s=""min-height: 200""","HeightSyntax(Operator=GreaterThanOrEquals, Value=200)が返却される","高","min-heightクエリ"
"65","UT-MRK-065","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs","ContainerQueryGrammar","Parse","正常系","max-heightクエリがパースされること","なし","s=""max-height: 400""","HeightSyntax(Operator=LessThanOrEquals, Value=400)が返却される","高","max-heightクエリ"
"66","UT-MRK-066","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs","ContainerQueryGrammar","Parse","正常系","heightクエリがパースされること","なし","s=""height: 250""","HeightSyntax(Operator=Equals, Value=250)が返却される","高","heightクエリ"
"67","UT-MRK-067","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs","ContainerQueryGrammar","Parse","正常系","and演算子で結合されたクエリがパースされること","なし","s=""min-width: 100 and max-width: 500""","AndSyntaxが含まれる","高","andクエリ"
"68","UT-MRK-068","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs","ContainerQueryGrammar","Parse","正常系","カンマで結合されたクエリ(or)がパースされること","なし","s=""min-width: 100, min-height: 200""","OrSyntaxが含まれる","高","orクエリ"
"69","UT-MRK-069","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs","ContainerQueryGrammar","Parse","正常系","小数値がパースされること","なし","s=""width: 100.5""","WidthSyntax(Value=100.5)が返却される","中","小数値"
"70","UT-MRK-070","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs","ContainerQueryGrammar","Parse","異常系","空文字列の場合","なし","s=""""","空のリストが返却される","中","空入力"
"71","UT-MRK-071","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs","ContainerQueryGrammar","Parse","異常系","未知のキーワードが指定された場合","なし","s=""unknown: 100""","InvalidOperationExceptionがスローされる","高","未知キーワード"
"72","UT-MRK-072","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs","ContainerQueryGrammar","Parse","異常系","コロンがない場合","なし","s=""min-width 100""","ExpressionParseExceptionがスローされる","中","構文エラー"
"73","UT-MRK-073","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs","ContainerQueryGrammar","Parse","異常系","値がない場合","なし","s=""min-width:""","ExpressionParseExceptionがスローされる","中","値なし"
"74","UT-MRK-074","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs","ContainerQueryGrammar","Parse","境界値","値が0の場合","なし","s=""width: 0""","WidthSyntax(Value=0)が返却される","低","ゼロ値"
"75","UT-MRK-075","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryGrammar.cs","ContainerQueryGrammar","Parse","境界値","負の値の場合","なし","s=""width: -100""","WidthSyntax(Value=-100)が返却される","低","負の値"
"76","UT-MRK-076","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryParser.cs","ContainerQueryParser","コンストラクタ","正常系","インスタンスが正常に生成されること","なし","なし","ContainerQueryParserインスタンスが生成される","高","パーサー初期化"
"77","UT-MRK-077","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryParser.cs","ContainerQueryParser","Parse","正常系","単一のwidthクエリがStyleQueryに変換されること","なし","s=""width: 300""","StyleQueryオブジェクトが返却される","高","基本クエリパース"
"78","UT-MRK-078","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryParser.cs","ContainerQueryParser","Parse","正常系","単一のheightクエリがStyleQueryに変換されること","なし","s=""height: 200""","StyleQueryオブジェクトが返却される","高","heightクエリパース"
"79","UT-MRK-079","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryParser.cs","ContainerQueryParser","Parse","正常系","and結合されたクエリがStyleQueryに変換されること","なし","s=""min-width: 100 and max-width: 500""","複合StyleQueryオブジェクトが返却される","高","andクエリ変換"
"80","UT-MRK-080","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryParser.cs","ContainerQueryParser","Parse","正常系","or結合されたクエリがOr StyleQueryに変換されること","なし","s=""min-width: 100, min-height: 200""","StyleQueries.Orで結合されたStyleQueryが返却される","高","orクエリ変換"
"81","UT-MRK-081","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryParser.cs","ContainerQueryParser","Parse","異常系","空文字列の場合","なし","s=""""","nullが返却される","中","空入力"
"82","UT-MRK-082","src/Markup/Avalonia.Markup/Markup/Parsers/ContainerQueryParser.cs","ContainerQueryParser","Parse","異常系","サポートされていない構文の場合","なし","s=""invalid syntax""","NotSupportedExceptionがスローされる","中","未対応構文"
"83","UT-MRK-083","src/Markup/Avalonia.Markup/Markup/Data/DelayedBinding.cs","DelayedBinding","Add(AvaloniaProperty)","正常系","初期化済みコントロールにバインディングが即時適用されること","target.IsInitialized=true","target=初期化済みStyledElement, property=AvaloniaProperty, binding=BindingBase","target.Bindが即座に呼び出される","高","即時バインディング"
"84","UT-MRK-084","src/Markup/Avalonia.Markup/Markup/Data/DelayedBinding.cs","DelayedBinding","Add(AvaloniaProperty)","正常系","未初期化コントロールにバインディングがキューイングされること","target.IsInitialized=false","target=未初期化StyledElement, property=AvaloniaProperty, binding=BindingBase","バインディングがエントリリストに追加される","高","遅延バインディング"
"85","UT-MRK-085","src/Markup/Avalonia.Markup/Markup/Data/DelayedBinding.cs","DelayedBinding","Add(AvaloniaProperty)","正常系","同一コントロールに複数のバインディングを追加できること","target.IsInitialized=false","target=同一StyledElement, 複数のproperty/binding","全てのバインディングがエントリリストに追加される","中","複数バインディング"
"86","UT-MRK-086","src/Markup/Avalonia.Markup/Markup/Data/DelayedBinding.cs","DelayedBinding","Add(IPropertyInfo)","正常系","初期化済みコントロールにCLRプロパティ値が即時設定されること","target.IsInitialized=true","target=初期化済みStyledElement, property=IPropertyInfo, value=Func","property.Setが即座に呼び出される","高","CLRプロパティ即時設定"
"87","UT-MRK-087","src/Markup/Avalonia.Markup/Markup/Data/DelayedBinding.cs","DelayedBinding","Add(IPropertyInfo)","正常系","未初期化コントロールにCLRプロパティ設定がキューイングされること","target.IsInitialized=false","target=未初期化StyledElement, property=IPropertyInfo, value=Func","値設定がエントリリストに追加される","高","CLRプロパティ遅延設定"
"88","UT-MRK-088","src/Markup/Avalonia.Markup/Markup/Data/DelayedBinding.cs","DelayedBinding","ApplyBindings(StyledElement)","正常系","キューイングされた全バインディングが適用されること","エントリが登録済み","control=登録済みStyledElement","全てのバインディングが適用され、エントリが削除される","高","バインディング適用"
"89","UT-MRK-089","src/Markup/Avalonia.Markup/Markup/Data/DelayedBinding.cs","DelayedBinding","ApplyBindings(StyledElement)","正常系","エントリがないコントロールでも正常に完了すること","エントリなし","control=未登録StyledElement","何も起こらず正常に完了する","中","空適用"
"90","UT-MRK-090","src/Markup/Avalonia.Markup/Markup/Data/DelayedBinding.cs","DelayedBinding","ApplyBindings(StyledElement)","正常系","Initializedイベントで自動的にバインディングが適用されること","Addでバインディング登録済み","targetがInitializedイベントを発火","バインディングが適用され、イベントハンドラが解除される","高","イベント駆動適用"
"91","UT-MRK-091","src/Markup/Avalonia.Markup/Markup/Data/DelayedBinding.cs","DelayedBinding","ApplyBindings(StyledElement)","異常系","CLRプロパティ設定で例外が発生した場合にログ出力されること","property.Setが例外をスロー","control, property=例外をスローするIPropertyInfo","例外がキャッチされログに記録される","中","例外ハンドリング"
"92","UT-MRK-092","src/Markup/Avalonia.Markup/Data/Binding.cs","Binding","コンストラクタ(デフォルト)","正常系","引数なしでインスタンスが生成されること","なし","なし","Bindingインスタンスが生成される","高","デフォルトコンストラクタ"
"93","UT-MRK-093","src/Markup/Avalonia.Markup/Data/Binding.cs","Binding","コンストラクタ(path)","正常系","パス指定でインスタンスが生成されること","なし","path=""Name""","Bindingインスタンスが生成され、Pathが設定される","高","パス付きコンストラクタ"
"94","UT-MRK-094","src/Markup/Avalonia.Markup/Data/Binding.cs","Binding","コンストラクタ(path)","正常系","空文字パスでインスタンスが生成されること","なし","path=""""","Bindingインスタンスが生成される","中","空パス"
"95","UT-MRK-095","src/Markup/Avalonia.Markup/Data/Binding.cs","Binding","コンストラクタ(path)","異常系","nullパスの場合の挙動","なし","path=null","例外がスローされるか、またはnullが設定される","中","nullパス"
"96","UT-MRK-096","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","OfTypeSyntax","Equals","正常系","同一内容のOfTypeSyntax同士がtrueを返すこと","なし","obj=TypeName/Xmlns一致のOfTypeSyntax","trueが返却される","低","等価比較"
"97","UT-MRK-097","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","OfTypeSyntax","Equals","正常系","異なる内容のOfTypeSyntax同士がfalseを返すこと","なし","obj=TypeName/Xmlns不一致のOfTypeSyntax","falseが返却される","低","非等価比較"
"98","UT-MRK-098","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","ClassSyntax","Equals","正常系","同一クラス名のClassSyntax同士がtrueを返すこと","なし","obj=Class一致のClassSyntax","trueが返却される","低","等価比較"
"99","UT-MRK-099","src/Markup/Avalonia.Markup/Markup/Parsers/SelectorGrammar.cs","NthChildSyntax","Equals","正常系","同一Step/OffsetのNthChildSyntax同士がtrueを返すこと","なし","obj=Step/Offset一致のNthChildSyntax","trueが返却される","低","等価比較"
"100","UT-MRK-100","src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs","PropertySyntax","Equals","正常系","同一NameのPropertySyntax同士がtrueを返すこと","なし","obj=Name一致のPropertySyntax","trueが返却される","低","等価比較"
"1","UT-MTL-001","src/Avalonia.Metal/IMetalDevice.cs","IMetalDevice","Device","正常系","Deviceプロパティが有効なIntPtrを返すこと","IMetalDeviceの実装クラスがインスタンス化済み","なし","IntPtr.Zero以外の有効なポインタが返却される","高","Metalデバイスハンドルの取得"
"2","UT-MTL-002","src/Avalonia.Metal/IMetalDevice.cs","IMetalDevice","CommandQueue","正常系","CommandQueueプロパティが有効なIntPtrを返すこと","IMetalDeviceの実装クラスがインスタンス化済み","なし","IntPtr.Zero以外の有効なポインタが返却される","高","Metalコマンドキューハンドルの取得"
"3","UT-MTL-003","src/Avalonia.Metal/IMetalDevice.cs","IMetalDevice","Device","異常系","デバイス初期化前にDeviceプロパティにアクセスした場合","デバイスが未初期化","なし","IntPtr.Zeroが返却される、または例外がスローされる","中","未初期化状態のエラーハンドリング"
"4","UT-MTL-004","src/Avalonia.Metal/IMetalDevice.cs","IMetalDevice","CommandQueue","異常系","デバイス初期化前にCommandQueueプロパティにアクセスした場合","デバイスが未初期化","なし","IntPtr.Zeroが返却される、または例外がスローされる","中","未初期化状態のエラーハンドリング"
"5","UT-MTL-005","src/Avalonia.Metal/IMetalDevice.cs","IMetalPlatformSurface","CreateMetalRenderTarget","正常系","有効なIMetalDeviceでレンダーターゲットが作成されること","IMetalPlatformSurfaceの実装クラスがインスタンス化済み","有効なIMetalDeviceインスタンス","IMetalPlatformSurfaceRenderTargetインスタンスが返却される","高","レンダーターゲット作成の基本機能"
"6","UT-MTL-006","src/Avalonia.Metal/IMetalDevice.cs","IMetalPlatformSurface","CreateMetalRenderTarget","異常系","nullのdeviceが渡された場合","IMetalPlatformSurfaceの実装クラスがインスタンス化済み","device=null","ArgumentNullExceptionがスローされる","高","null引数のバリデーション"
"7","UT-MTL-007","src/Avalonia.Metal/IMetalDevice.cs","IMetalPlatformSurface","CreateMetalRenderTarget","異常系","無効なデバイスが渡された場合","IMetalPlatformSurfaceの実装クラスがインスタンス化済み","無効なIMetalDeviceインスタンス（Device=IntPtr.Zero）","適切な例外がスローされる","中","無効デバイスのエラーハンドリング"
"8","UT-MTL-008","src/Avalonia.Metal/IMetalDevice.cs","IMetalPlatformSurfaceRenderTarget","BeginRendering","正常系","レンダリングセッションが正常に開始されること","IMetalPlatformSurfaceRenderTargetの実装クラスがインスタンス化済み","なし","IMetalPlatformSurfaceRenderingSessionインスタンスが返却される","高","レンダリングセッション開始の基本機能"
"9","UT-MTL-009","src/Avalonia.Metal/IMetalDevice.cs","IMetalPlatformSurfaceRenderTarget","BeginRendering","異常系","既にDisposeされた後にBeginRenderingを呼び出した場合","Dispose()が呼び出し済み","なし","ObjectDisposedExceptionがスローされる","中","Dispose後のアクセス制御"
"10","UT-MTL-010","src/Avalonia.Metal/IMetalDevice.cs","IMetalPlatformSurfaceRenderTarget","Dispose","正常系","リソースが正常に解放されること","IMetalPlatformSurfaceRenderTargetの実装クラスがインスタンス化済み","なし","例外がスローされずにリソースが解放される","高","IDisposableの実装確認"
"11","UT-MTL-011","src/Avalonia.Metal/IMetalDevice.cs","IMetalPlatformSurfaceRenderTarget","Dispose","正常系","Disposeを複数回呼び出しても例外がスローされないこと","IMetalPlatformSurfaceRenderTargetの実装クラスがインスタンス化済み","Dispose()を2回呼び出し","例外がスローされない","中","冪等性の確認"
"12","UT-MTL-012","src/Avalonia.Metal/IMetalDevice.cs","IMetalPlatformSurfaceRenderingSession","Texture","正常系","Textureプロパティが有効なIntPtrを返すこと","レンダリングセッションが開始済み","なし","IntPtr.Zero以外の有効なポインタが返却される","高","テクスチャハンドルの取得"
"13","UT-MTL-013","src/Avalonia.Metal/IMetalDevice.cs","IMetalPlatformSurfaceRenderingSession","Size","正常系","Sizeプロパティが有効なPixelSizeを返すこと","レンダリングセッションが開始済み","なし","Width > 0 かつ Height > 0 のPixelSizeが返却される","高","サイズ情報の取得"
"14","UT-MTL-014","src/Avalonia.Metal/IMetalDevice.cs","IMetalPlatformSurfaceRenderingSession","Scaling","正常系","Scalingプロパティが有効なスケール値を返すこと","レンダリングセッションが開始済み","なし","0より大きいdouble値が返却される","中","スケーリング情報の取得"
"15","UT-MTL-015","src/Avalonia.Metal/IMetalDevice.cs","IMetalPlatformSurfaceRenderingSession","Scaling","境界値","Scalingプロパティが1.0（等倍）を返す場合","レンダリングセッションが開始済み、スケーリングなし","なし","1.0が返却される","低","標準スケーリングの確認"
"16","UT-MTL-016","src/Avalonia.Metal/IMetalDevice.cs","IMetalPlatformSurfaceRenderingSession","Scaling","境界値","Scalingプロパティが2.0（Retinaディスプレイ）を返す場合","レンダリングセッションが開始済み、2xスケーリング","なし","2.0が返却される","低","高DPIスケーリングの確認"
"17","UT-MTL-017","src/Avalonia.Metal/IMetalDevice.cs","IMetalPlatformSurfaceRenderingSession","IsYFlipped","正常系","IsYFlippedプロパティが正しいbool値を返すこと","レンダリングセッションが開始済み","なし","true または false が返却される","中","Y軸反転フラグの取得"
"18","UT-MTL-018","src/Avalonia.Metal/IMetalDevice.cs","IMetalPlatformSurfaceRenderingSession","Dispose","正常系","セッションリソースが正常に解放されること","レンダリングセッションが開始済み","なし","例外がスローされずにリソースが解放される","高","IDisposableの実装確認"
"19","UT-MTL-019","src/Avalonia.Metal/IMetalDevice.cs","IMetalPlatformSurfaceRenderingSession","Dispose","正常系","Disposeを複数回呼び出しても例外がスローされないこと","レンダリングセッションが開始済み","Dispose()を2回呼び出し","例外がスローされない","中","冪等性の確認"
"20","UT-MTL-020","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","SupportedImageHandleTypes","正常系","サポートされている画像ハンドルタイプの一覧が返却されること","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","なし","空でないIReadOnlyList<string>が返却される","高","サポートタイプ一覧の取得"
"21","UT-MTL-021","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","SupportedImageHandleTypes","境界値","サポートされている画像ハンドルタイプが空の場合","外部画像インポートがサポートされていない環境","なし","空のIReadOnlyList<string>が返却される","中","サポートなしの場合の確認"
"22","UT-MTL-022","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","SupportedSemaphoreTypes","正常系","サポートされているセマフォタイプの一覧が返却されること","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","なし","空でないIReadOnlyList<string>が返却される","高","サポートタイプ一覧の取得"
"23","UT-MTL-023","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","SupportedSemaphoreTypes","境界値","サポートされているセマフォタイプが空の場合","外部セマフォがサポートされていない環境","なし","空のIReadOnlyList<string>が返却される","中","サポートなしの場合の確認"
"24","UT-MTL-024","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","DeviceLuid","正常系","DeviceLuidプロパティが有効なbyte配列を返すこと","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","なし","有効なbyte[]が返却される","中","デバイスLUIDの取得"
"25","UT-MTL-025","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","DeviceLuid","正常系","DeviceLuidプロパティがnullを返す場合","LUIDがサポートされていない環境","なし","nullが返却される","中","LUIDなしの場合の確認"
"26","UT-MTL-026","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","GetSynchronizationCapabilities","正常系","有効なハンドルタイプで同期機能が取得できること","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","imageHandleType=""IOSurface""","CompositionGpuImportedImageSynchronizationCapabilitiesが返却される","高","同期機能の取得"
"27","UT-MTL-027","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","GetSynchronizationCapabilities","異常系","nullのハンドルタイプが渡された場合","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","imageHandleType=null","ArgumentNullExceptionがスローされる","高","null引数のバリデーション"
"28","UT-MTL-028","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","GetSynchronizationCapabilities","異常系","サポートされていないハンドルタイプが渡された場合","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","imageHandleType=""UnsupportedType""","適切な例外がスローされる、またはデフォルト値が返却される","中","不正入力のエラーハンドリング"
"29","UT-MTL-029","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","ImportImage","正常系","有効なハンドルとプロパティで画像がインポートできること","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","有効なIPlatformHandle、有効なPlatformGraphicsExternalImageProperties","IMetalExternalTextureインスタンスが返却される","高","外部画像インポートの基本機能"
"30","UT-MTL-030","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","ImportImage","異常系","nullのハンドルが渡された場合","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","handle=null","ArgumentNullExceptionがスローされる","高","null引数のバリデーション"
"31","UT-MTL-031","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","ImportImage","異常系","無効なハンドルが渡された場合","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","無効なIPlatformHandle","適切な例外がスローされる","中","無効ハンドルのエラーハンドリング"
"32","UT-MTL-032","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","ImportSharedEvent","正常系","有効なハンドルで共有イベントがインポートできること","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","有効なIPlatformHandle","IMetalSharedEventインスタンスが返却される","高","共有イベントインポートの基本機能"
"33","UT-MTL-033","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","ImportSharedEvent","異常系","nullのハンドルが渡された場合","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","handle=null","ArgumentNullExceptionがスローされる","高","null引数のバリデーション"
"34","UT-MTL-034","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","SubmitWait","正常系","有効なイベントと待機値でSubmitWaitが正常に実行されること","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","有効なIMetalSharedEvent、waitForValue=100","例外がスローされずに処理が完了する","高","待機サブミットの基本機能"
"35","UT-MTL-035","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","SubmitWait","異常系","nullのイベントが渡された場合","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","event=null、waitForValue=100","ArgumentNullExceptionがスローされる","高","null引数のバリデーション"
"36","UT-MTL-036","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","SubmitWait","境界値","waitForValueが0の場合","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","有効なIMetalSharedEvent、waitForValue=0","例外がスローされずに処理が完了する","中","最小値境界のテスト"
"37","UT-MTL-037","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","SubmitWait","境界値","waitForValueがulong.MaxValueの場合","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","有効なIMetalSharedEvent、waitForValue=ulong.MaxValue","例外がスローされずに処理が完了する","低","最大値境界のテスト"
"38","UT-MTL-038","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","SubmitSignal","正常系","有効なイベントとシグナル値でSubmitSignalが正常に実行されること","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","有効なIMetalSharedEvent、signalValue=100","例外がスローされずに処理が完了する","高","シグナルサブミットの基本機能"
"39","UT-MTL-039","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","SubmitSignal","異常系","nullのイベントが渡された場合","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","event=null、signalValue=100","ArgumentNullExceptionがスローされる","高","null引数のバリデーション"
"40","UT-MTL-040","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","SubmitSignal","境界値","signalValueが0の場合","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","有効なIMetalSharedEvent、signalValue=0","例外がスローされずに処理が完了する","中","最小値境界のテスト"
"41","UT-MTL-041","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalObjectsFeature","SubmitSignal","境界値","signalValueがulong.MaxValueの場合","IMetalExternalObjectsFeatureの実装クラスがインスタンス化済み","有効なIMetalSharedEvent、signalValue=ulong.MaxValue","例外がスローされずに処理が完了する","低","最大値境界のテスト"
"42","UT-MTL-042","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalTexture","Width","正常系","Widthプロパティが有効な幅を返すこと","IMetalExternalTextureの実装クラスがインスタンス化済み","なし","0より大きいint値が返却される","高","テクスチャ幅の取得"
"43","UT-MTL-043","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalTexture","Width","境界値","Widthプロパティが1（最小有効値）を返す場合","1ピクセル幅のテクスチャ","なし","1が返却される","低","最小幅の確認"
"44","UT-MTL-044","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalTexture","Height","正常系","Heightプロパティが有効な高さを返すこと","IMetalExternalTextureの実装クラスがインスタンス化済み","なし","0より大きいint値が返却される","高","テクスチャ高さの取得"
"45","UT-MTL-045","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalTexture","Height","境界値","Heightプロパティが1（最小有効値）を返す場合","1ピクセル高のテクスチャ","なし","1が返却される","低","最小高さの確認"
"46","UT-MTL-046","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalTexture","Samples","正常系","Samplesプロパティが有効なサンプル数を返すこと","IMetalExternalTextureの実装クラスがインスタンス化済み","なし","1以上のint値が返却される","中","マルチサンプル数の取得"
"47","UT-MTL-047","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalTexture","Samples","境界値","Samplesプロパティが1（マルチサンプリングなし）を返す場合","シングルサンプルテクスチャ","なし","1が返却される","低","シングルサンプルの確認"
"48","UT-MTL-048","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalTexture","Samples","境界値","Samplesプロパティが4（4xMSAA）を返す場合","4xマルチサンプルテクスチャ","なし","4が返却される","低","4xMSAAの確認"
"49","UT-MTL-049","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalTexture","Handle","正常系","Handleプロパティが有効なIntPtrを返すこと","IMetalExternalTextureの実装クラスがインスタンス化済み","なし","IntPtr.Zero以外の有効なポインタが返却される","高","テクスチャハンドルの取得"
"50","UT-MTL-050","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalTexture","Dispose","正常系","テクスチャリソースが正常に解放されること","IMetalExternalTextureの実装クラスがインスタンス化済み","なし","例外がスローされずにリソースが解放される","高","IDisposableの実装確認"
"51","UT-MTL-051","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalExternalTexture","Dispose","正常系","Disposeを複数回呼び出しても例外がスローされないこと","IMetalExternalTextureの実装クラスがインスタンス化済み","Dispose()を2回呼び出し","例外がスローされない","中","冪等性の確認"
"52","UT-MTL-052","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalSharedEvent","Handle","正常系","Handleプロパティが有効なIntPtrを返すこと","IMetalSharedEventの実装クラスがインスタンス化済み","なし","IntPtr.Zero以外の有効なポインタが返却される","高","共有イベントハンドルの取得"
"53","UT-MTL-053","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalSharedEvent","Dispose","正常系","共有イベントリソースが正常に解放されること","IMetalSharedEventの実装クラスがインスタンス化済み","なし","例外がスローされずにリソースが解放される","高","IDisposableの実装確認"
"54","UT-MTL-054","src/Avalonia.Metal/IMetalExternalObjectsFeature.cs","IMetalSharedEvent","Dispose","正常系","Disposeを複数回呼び出しても例外がスローされないこと","IMetalSharedEventの実装クラスがインスタンス化済み","Dispose()を2回呼び出し","例外がスローされない","中","冪等性の確認"
"1","UT-MCM-001","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","IsDestroyed","正常系","初期状態でIsDestroyedがfalseであること","インスタンスが生成されている","なし","falseが返却される","高","初期状態の検証"
"2","UT-MCM-002","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","IsDestroyed","正常系","破棄後にIsDestroyedがtrueになること","インスタンスが生成されている","Dispose()を呼び出し","trueが返却される","高","破棄後の状態確認"
"3","UT-MCM-003","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","Dispose","正常系","Dispose呼び出しでオブジェクトが破棄されること","インスタンスが生成されている、ネイティブ参照なし","なし","IsDestroyedがtrueになる","高","基本的な破棄処理"
"4","UT-MCM-004","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","Dispose","正常系","ネイティブ参照がある場合はDisposeで破棄されないこと","OnReferencedFromNative()が呼び出されている","なし","IsDestroyedがfalseのまま","高","参照カウント管理"
"5","UT-MCM-005","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","Dispose","異常系","複数回Disposeを呼び出しても例外が発生しないこと","インスタンスが生成されている","Dispose()を2回呼び出し","例外が発生しない","中","冪等性の確認"
"6","UT-MCM-006","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","OnReferencedFromNative","正常系","ネイティブ参照フラグが設定されること","インスタンスが生成されている","なし","内部の_referencedFromNativeがtrueになる","高","ネイティブ参照追加"
"7","UT-MCM-007","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","OnReferencedFromNative","正常系","複数回呼び出しても問題ないこと","インスタンスが生成されている","OnReferencedFromNative()を2回呼び出し","例外が発生しない","中","冪等性の確認"
"8","UT-MCM-008","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","OnUnreferencedFromNative","正常系","ネイティブ参照解除で破棄されること","OnReferencedFromNative()後にDispose()が呼ばれている","なし","IsDestroyedがtrueになる","高","ネイティブ参照解除"
"9","UT-MCM-009","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","OnUnreferencedFromNative","正常系","マネージド参照がある場合は破棄されないこと","OnReferencedFromNative()のみ呼ばれている","なし","IsDestroyedがfalseのまま","高","参照カウント管理"
"10","UT-MCM-010","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","OnUnreferencedFromNative","異常系","ネイティブ参照追加前に解除を呼んでも例外が発生しないこと","インスタンスが生成されている","OnUnreferencedFromNative()のみ呼び出し","例外が発生しない","中","エッジケース"
"11","UT-MCM-011","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","Shadow","正常系","Shadowプロパティに値を設定・取得できること","インスタンスが生成されている","MicroComShadowインスタンス","設定した値が取得できる","中","プロパティの基本動作"
"12","UT-MCM-012","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","Shadow","正常系","初期状態でShadowがnullであること","インスタンスが生成されている","なし","nullが返却される","中","初期状態の検証"
"13","UT-MCM-013","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","Shadow","正常系","破棄後にShadowがnullになること","Shadowが設定されている、破棄が発生","なし","nullが返却される","高","破棄時のクリーンアップ"
"14","UT-MCM-014","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","Destroyed","正常系","破棄時にDestroyedメソッドが呼び出されること","派生クラスでDestroyedをオーバーライド","Dispose()を呼び出し","Destroyedメソッドが呼ばれる","高","破棄コールバック"
"15","UT-MCM-015","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","Destroyed","正常系","破棄が発生しない場合はDestroyedが呼ばれないこと","派生クラスでDestroyedをオーバーライド、ネイティブ参照あり","Dispose()を呼び出し","Destroyedメソッドが呼ばれない","高","条件付きコールバック"
"16","UT-MCM-016","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","DestroyIfNeeded","正常系","マネージド・ネイティブ両方の参照がない場合に破棄されること","インスタンスが生成されている","Dispose()を呼び出し","_destroyedがtrueになる","高","破棄条件の検証"
"17","UT-MCM-017","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","DestroyIfNeeded","正常系","マネージド参照がある場合は破棄されないこと","インスタンスが生成されている","OnUnreferencedFromNative()のみ呼び出し","_destroyedがfalseのまま","高","参照保持時の動作"
"18","UT-MCM-018","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","DestroyIfNeeded","正常系","既に破棄済みの場合は何もしないこと","IsDestroyedがtrue","再度破棄を試行","状態が変わらない","中","二重破棄の防止"
"19","UT-MCM-019","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","スレッドセーフティ","状態","複数スレッドからDisposeを同時に呼んでも安全であること","インスタンスが生成されている","複数スレッドからDispose()を同時呼び出し","例外が発生しない、破棄が1回のみ行われる","高","並行性の検証"
"20","UT-MCM-020","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","スレッドセーフティ","状態","OnReferencedFromNativeとDisposeの同時呼び出しが安全であること","インスタンスが生成されている","OnReferencedFromNative()とDispose()を同時呼び出し","デッドロックや例外が発生しない","高","並行性の検証"
"21","UT-MCM-021","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","スレッドセーフティ","状態","OnUnreferencedFromNativeとDisposeの同時呼び出しが安全であること","OnReferencedFromNative()が呼び出されている","OnUnreferencedFromNative()とDispose()を同時呼び出し","デッドロックや例外が発生しない","高","並行性の検証"
"22","UT-MCM-022","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","ライフサイクル","正常系","参照追加→破棄→参照解除の順序で正しく動作すること","インスタンスが生成されている","OnReferencedFromNative()→Dispose()→OnUnreferencedFromNative()","最終的にIsDestroyedがtrueになる","高","ライフサイクルシナリオ"
"23","UT-MCM-023","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","ライフサイクル","正常系","参照解除→破棄の順序で正しく動作すること","OnReferencedFromNative()が呼び出されている","OnUnreferencedFromNative()→Dispose()","最終的にIsDestroyedがtrueになる","高","ライフサイクルシナリオ"
"24","UT-MCM-024","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","Shadow.Dispose","正常系","破棄時にShadowのDisposeが呼ばれること","Shadowが設定されている","Dispose()を呼び出し","ShadowのDisposeが呼ばれる","高","リソース解放"
"25","UT-MCM-025","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","Shadow.Dispose","異常系","Shadowがnullの場合でも破棄が正常に完了すること","Shadowが設定されていない","Dispose()を呼び出し","例外が発生しない","中","null安全性"
"26","UT-MCM-026","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","IUnknown","正常系","IUnknownインターフェースを実装していること","インスタンスが生成されている","インターフェースキャスト","IUnknownにキャストできる","中","インターフェース実装"
"27","UT-MCM-027","src/Avalonia.MicroCom/CallbackBase.cs","CallbackBase","IMicroComShadowContainer","正常系","IMicroComShadowContainerインターフェースを実装していること","インスタンスが生成されている","インターフェースキャスト","IMicroComShadowContainerにキャストできる","中","インターフェース実装"
"1","UT-NAT-001","src/Avalonia.Native/AvaloniaNativePlatform.cs","AvaloniaNativePlatform","Initialize(IntPtr, AvaloniaNativePlatformOptions)","正常系","有効なファクトリポインタでプラットフォームが初期化されること","Native libraryがロード済み","factory=有効なIntPtr, options=有効なAvaloniaNativePlatformOptions","AvaloniaNativePlatformインスタンスが返却される","高","プラットフォーム初期化の基本機能"
"2","UT-NAT-002","src/Avalonia.Native/AvaloniaNativePlatform.cs","AvaloniaNativePlatform","Initialize(AvaloniaNativePlatformOptions)","正常系","カスタムライブラリパス指定で初期化できること","カスタムNative libraryが存在","options.AvaloniaNativeLibraryPath=有効なパス","AvaloniaNativePlatformインスタンスが返却される","高","カスタムライブラリパス対応"
"3","UT-NAT-003","src/Avalonia.Native/AvaloniaNativePlatform.cs","AvaloniaNativePlatform","Initialize(AvaloniaNativePlatformOptions)","異常系","無効なライブラリパスでエラーがスローされること","ライブラリが存在しない","options.AvaloniaNativeLibraryPath=存在しないパス","InvalidOperationExceptionがスローされる","高","エラーハンドリング"
"4","UT-NAT-004","src/Avalonia.Native/AvaloniaNativePlatform.cs","AvaloniaNativePlatform","CreateWindow","正常系","WindowImplインスタンスが作成されること","プラットフォーム初期化済み","なし","IWindowImplインスタンスが返却される","高","ウィンドウ作成機能"
"5","UT-NAT-005","src/Avalonia.Native/AvaloniaNativePlatform.cs","AvaloniaNativePlatform","CreateTrayIcon","正常系","TrayIconImplインスタンスが作成されること","プラットフォーム初期化済み","なし","ITrayIconImplインスタンスが返却される","中","トレイアイコン作成機能"
"6","UT-NAT-006","src/Avalonia.Native/AvaloniaNativePlatform.cs","AvaloniaNativePlatform","CreateEmbeddableTopLevel","正常系","EmbeddableTopLevelImplが作成されること","プラットフォーム初期化済み","なし","ITopLevelImplインスタンスが返却される","中","埋め込み可能TopLevel作成"
"7","UT-NAT-007","src/Avalonia.Native/AvaloniaNativePlatform.cs","AvaloniaNativePlatform","CreateEmbeddableWindow","異常系","NotImplementedExceptionがスローされること","プラットフォーム初期化済み","なし","NotImplementedExceptionがスローされる","低","未実装メソッド"
"8","UT-NAT-008","src/Avalonia.Native/AvaloniaNativePlatform.cs","AvaloniaNativePlatform","GetWindowsZOrder","正常系","ウィンドウのZ順序が取得されること","複数のウィンドウが存在","windows=WindowImpl配列, zOrder=空のSpan","zOrderにZ順序が設定される","中","Z順序取得"
"9","UT-NAT-009","src/Avalonia.Native/AvaloniaNativePlatform.cs","AvaloniaNativePlatform","GetWindowsZOrder","境界値","空のウィンドウ配列で正常に動作すること","なし","windows=空配列, zOrder=空のSpan","例外がスローされない","中","空配列の処理"
"10","UT-NAT-010","src/Avalonia.Native/ClipboardImpl.cs","ClipboardImpl","ClearAsync","正常系","クリップボードがクリアされること","クリップボードにデータが存在","なし","Task.CompletedTaskが返却される","高","クリップボードクリア"
"11","UT-NAT-011","src/Avalonia.Native/ClipboardImpl.cs","ClipboardImpl","TryGetDataAsync","正常系","クリップボードからデータが取得できること","クリップボードにデータが存在","なし","IAsyncDataTransferインスタンスが返却される","高","データ取得"
"12","UT-NAT-012","src/Avalonia.Native/ClipboardImpl.cs","ClipboardImpl","TryGetDataAsync","境界値","クリップボードが空の場合nullが返却されること","クリップボードが空","なし","nullが返却される","高","空クリップボード処理"
"13","UT-NAT-013","src/Avalonia.Native/ClipboardImpl.cs","ClipboardImpl","SetDataAsync","正常系","データがクリップボードに設定されること","クリップボードが利用可能","dataTransfer=有効なIAsyncDataTransfer","Task.CompletedTaskが返却される","高","データ設定"
"14","UT-NAT-014","src/Avalonia.Native/ClipboardImpl.cs","ClipboardImpl","IsCurrentOwnerAsync","正常系","現在のオーナーであることが確認できること","SetDataAsync実行後","なし","trueが返却される","中","オーナー確認"
"15","UT-NAT-015","src/Avalonia.Native/ClipboardImpl.cs","ClipboardImpl","IsCurrentOwnerAsync","正常系","オーナーでない場合falseが返却されること","他プロセスがクリップボード変更後","なし","falseが返却される","中","非オーナー確認"
"16","UT-NAT-016","src/Avalonia.Native/ClipboardImpl.cs","ClipboardImpl","Dispose","正常系","リソースが解放されること","ClipboardImplインスタンスが存在","なし","_nativeがnullになる","中","リソース解放"
"17","UT-NAT-017","src/Avalonia.Native/ClipboardImpl.cs","ClipboardImpl","Native","異常系","Dispose後にアクセスするとObjectDisposedExceptionがスローされること","Dispose呼び出し後","なし","ObjectDisposedExceptionがスローされる","高","破棄後アクセス"
"18","UT-NAT-018","src/Avalonia.Native/WindowImpl.cs","WindowImpl","CanResize","正常系","ウィンドウのリサイズ可否が設定されること","ウィンドウ作成済み","value=true","_canResizeがtrueに設定される","中","リサイズ設定"
"19","UT-NAT-019","src/Avalonia.Native/WindowImpl.cs","WindowImpl","CanResize","正常系","リサイズ不可に設定できること","ウィンドウ作成済み","value=false","_canResizeがfalseに設定される","中","リサイズ無効化"
"20","UT-NAT-020","src/Avalonia.Native/WindowImpl.cs","WindowImpl","SetTitle","正常系","ウィンドウタイトルが設定されること","ウィンドウ作成済み","title=""Test Window""","タイトルが設定される","中","タイトル設定"
"21","UT-NAT-021","src/Avalonia.Native/WindowImpl.cs","WindowImpl","SetTitle","境界値","nullタイトルで空文字が設定されること","ウィンドウ作成済み","title=null","空文字が設定される","中","nullタイトル処理"
"22","UT-NAT-022","src/Avalonia.Native/WindowImpl.cs","WindowImpl","WindowState","正常系","ウィンドウ状態が取得できること","ウィンドウ作成済み","なし","現在のWindowStateが返却される","中","状態取得"
"23","UT-NAT-023","src/Avalonia.Native/WindowImpl.cs","WindowImpl","WindowState","正常系","ウィンドウ状態が設定できること","ウィンドウ作成済み","value=WindowState.Maximized","ウィンドウが最大化される","中","状態設定"
"24","UT-NAT-024","src/Avalonia.Native/WindowImpl.cs","WindowImpl","SetExtendClientAreaToDecorationsHint","正常系","クライアント領域をデコレーションまで拡張できること","ウィンドウ作成済み","extendIntoClientAreaHint=true","_isExtendedがtrueになる","中","領域拡張"
"25","UT-NAT-025","src/Avalonia.Native/WindowImpl.cs","WindowImpl","SetExtendClientAreaTitleBarHeightHint","正常系","タイトルバーの高さヒントが設定できること","ウィンドウ作成済み","titleBarHeight=30.0","ExtendedMarginsが更新される","中","タイトルバー高さ設定"
"26","UT-NAT-026","src/Avalonia.Native/WindowImpl.cs","WindowImpl","SetExtendClientAreaTitleBarHeightHint","境界値","高さ-1でデフォルト高さが使用されること","ウィンドウ作成済み","titleBarHeight=-1","ネイティブのExtendTitleBarHeightが使用される","中","デフォルト高さ"
"27","UT-NAT-027","src/Avalonia.Native/WindowImpl.cs","WindowImpl","SetEnabled","正常系","ウィンドウが有効化されること","ウィンドウ作成済み","enable=true","ウィンドウが有効になる","中","有効化"
"28","UT-NAT-028","src/Avalonia.Native/WindowImpl.cs","WindowImpl","SetEnabled","正常系","ウィンドウ無効化でマウスキャプチャが解放されること","マウスキャプチャ中","enable=false","マウスキャプチャが解放される","中","無効化時のキャプチャ解放"
"29","UT-NAT-029","src/Avalonia.Native/WindowImpl.cs","WindowImpl","Move","正常系","ウィンドウ位置が移動されること","ウィンドウ作成済み","point=PixelPoint(100, 100)","Positionが更新される","中","位置移動"
"30","UT-NAT-030","src/Avalonia.Native/WindowImpl.cs","WindowImpl","CreatePopup","正常系","PopupImplが作成されること","ウィンドウ作成済み、OverlayPopups=false","なし","PopupImplインスタンスが返却される","中","ポップアップ作成"
"31","UT-NAT-031","src/Avalonia.Native/WindowImpl.cs","WindowImpl","CreatePopup","正常系","OverlayPopups有効時にnullが返却されること","ウィンドウ作成済み、OverlayPopups=true","なし","nullが返却される","中","オーバーレイポップアップ"
"32","UT-NAT-032","src/Avalonia.Native/TopLevelImpl.cs","TopLevelImpl","ClientSize","正常系","クライアントサイズが取得できること","TopLevel初期化済み","なし","有効なSizeが返却される","高","サイズ取得"
"33","UT-NAT-033","src/Avalonia.Native/TopLevelImpl.cs","TopLevelImpl","ClientSize","境界値","Nativeがnullの場合デフォルトサイズが返却されること","Native未初期化","なし","Size.Emptyが返却される","中","未初期化時のサイズ"
"34","UT-NAT-034","src/Avalonia.Native/TopLevelImpl.cs","TopLevelImpl","RawTextInputEvent","正常系","テキスト入力イベントが処理されること","InputRoot設定済み","timeStamp=有効値, text=""test""","イベントがInputに通知される","高","テキスト入力"
"35","UT-NAT-035","src/Avalonia.Native/TopLevelImpl.cs","TopLevelImpl","RawTextInputEvent","異常系","InputRootがnullの場合falseが返却されること","InputRoot未設定","timeStamp=有効値, text=""test""","falseが返却される","中","InputRoot未設定時"
"36","UT-NAT-036","src/Avalonia.Native/TopLevelImpl.cs","TopLevelImpl","RawKeyEvent","正常系","キーイベントが処理されること","InputRoot設定済み","type, timeStamp, modifiers, key, physicalKey, keySymbol","イベントがInputに通知される","高","キー入力"
"37","UT-NAT-037","src/Avalonia.Native/TopLevelImpl.cs","TopLevelImpl","RawMouseEvent","正常系","マウスイベントが処理されること","InputRoot設定済み","type=LeftButtonDown, その他有効パラメータ","イベントがInputに通知される","高","マウス入力"
"38","UT-NAT-038","src/Avalonia.Native/TopLevelImpl.cs","TopLevelImpl","RawMouseEvent","正常系","ホイールイベントが処理されること","InputRoot設定済み","type=Wheel, delta有効値","RawMouseWheelEventArgsが生成される","高","ホイール入力"
"39","UT-NAT-039","src/Avalonia.Native/TopLevelImpl.cs","TopLevelImpl","RawMouseEvent","正常系","Magnifyジェスチャが処理されること","InputRoot設定済み","type=Magnify","RawPointerGestureEventArgsが生成される","中","ピンチジェスチャ"
"40","UT-NAT-040","src/Avalonia.Native/TopLevelImpl.cs","TopLevelImpl","PointToClient","正常系","スクリーン座標がクライアント座標に変換されること","TopLevel初期化済み","point=PixelPoint(100, 100)","変換されたPointが返却される","中","座標変換"
"41","UT-NAT-041","src/Avalonia.Native/TopLevelImpl.cs","TopLevelImpl","PointToScreen","正常系","クライアント座標がスクリーン座標に変換されること","TopLevel初期化済み","point=Point(50, 50)","変換されたPixelPointが返却される","中","座標変換"
"42","UT-NAT-042","src/Avalonia.Native/TopLevelImpl.cs","TopLevelImpl","SetCursor","正常系","カーソルが設定されること","TopLevel初期化済み","cursor=有効なICursorImpl","カーソルが変更される","中","カーソル設定"
"43","UT-NAT-043","src/Avalonia.Native/TopLevelImpl.cs","TopLevelImpl","SetCursor","境界値","カーソルがnullの場合デフォルトカーソルが使用されること","TopLevel初期化済み","cursor=null","Arrowカーソルが設定される","中","デフォルトカーソル"
"44","UT-NAT-044","src/Avalonia.Native/TopLevelImpl.cs","TopLevelImpl","SetTransparencyLevelHint","正常系","透過レベルが設定されること","TopLevel初期化済み","levels=[WindowTransparencyLevel.Transparent]","TransparencyLevelが更新される","中","透過設定"
"45","UT-NAT-045","src/Avalonia.Native/TopLevelImpl.cs","TopLevelImpl","TryGetFeature","正常系","ITextInputMethodImplが取得できること","TopLevel初期化済み","featureType=typeof(ITextInputMethodImpl)","InputMethodが返却される","中","機能取得"
"46","UT-NAT-046","src/Avalonia.Native/TopLevelImpl.cs","TopLevelImpl","TryGetFeature","正常系","INativeControlHostImplが取得できること","TopLevel初期化済み","featureType=typeof(INativeControlHostImpl)","_nativeControlHostが返却される","中","機能取得"
"47","UT-NAT-047","src/Avalonia.Native/TopLevelImpl.cs","TopLevelImpl","TryGetFeature","境界値","未知の機能タイプでnullが返却されること","TopLevel初期化済み","featureType=不明な型","nullが返却される","低","未知機能"
"48","UT-NAT-048","src/Avalonia.Native/TopLevelImpl.cs","TopLevelImpl","Dispose","正常系","リソースが解放されること","TopLevel初期化済み","なし","Native, _handleがnullになる","高","リソース解放"
"49","UT-NAT-049","src/Avalonia.Native/PopupImpl.cs","PopupImpl","コンストラクタ","正常系","親TopLevelを指定してPopupが作成されること","親TopLevel存在","factory, parent","PopupImplインスタンスが作成される","高","ポップアップ作成"
"50","UT-NAT-050","src/Avalonia.Native/PopupImpl.cs","PopupImpl","TakeFocus","正常系","親ウィンドウにフォーカスが移動すること","親WindowImpl存在","なし","親WindowのTakeFocusFromChildrenが呼ばれる","中","フォーカス移動"
"51","UT-NAT-051","src/Avalonia.Native/PopupImpl.cs","PopupImpl","CreatePopup","正常系","ネストされたPopupが作成できること","Popup作成済み","なし","新しいPopupImplが返却される","中","ネストポップアップ"
"52","UT-NAT-052","src/Avalonia.Native/PopupImpl.cs","PopupImpl","Dispose","正常系","親との関連が解除されること","Popup作成済み","なし","SetParent(null)が呼ばれる","中","破棄処理"
"53","UT-NAT-053","src/Avalonia.Native/ScreenImpl.cs","AvnScreen","Refresh","正常系","スクリーン情報が更新されること","スクリーン存在","native=有効なIAvnScreens","IsPrimary, Scaling等が更新される","高","スクリーン情報更新"
"54","UT-NAT-054","src/Avalonia.Native/ScreenImpl.cs","ScreenImpl","GetScreenCount","正常系","スクリーン数が取得できること","スクリーン存在","なし","正の整数が返却される","中","スクリーン数取得"
"55","UT-NAT-055","src/Avalonia.Native/ScreenImpl.cs","ScreenImpl","GetAllScreenKeys","正常系","全スクリーンIDが取得できること","スクリーン存在","なし","uint配列が返却される","中","スクリーンID取得"
"56","UT-NAT-056","src/Avalonia.Native/ScreenImpl.cs","ScreenImpl","Dispose","正常系","ネイティブリソースが解放されること","ScreenImpl作成済み","なし","_nativeがnullになる","中","リソース解放"
"57","UT-NAT-057","src/Avalonia.Native/StorageProviderImpl.cs","StorageProviderImpl","OpenFilePickerAsync","正常系","ファイル選択ダイアログが開けること","StorageProvider初期化済み","options=有効なFilePickerOpenOptions","選択されたファイル一覧が返却される","高","ファイル選択"
"58","UT-NAT-058","src/Avalonia.Native/StorageProviderImpl.cs","StorageProviderImpl","SaveFilePickerAsync","正常系","ファイル保存ダイアログが開けること","StorageProvider初期化済み","options=有効なFilePickerSaveOptions","保存先ファイルが返却される","高","ファイル保存"
"59","UT-NAT-059","src/Avalonia.Native/StorageProviderImpl.cs","StorageProviderImpl","OpenFolderPickerAsync","正常系","フォルダ選択ダイアログが開けること","StorageProvider初期化済み","options=有効なFolderPickerOpenOptions","選択されたフォルダ一覧が返却される","高","フォルダ選択"
"60","UT-NAT-060","src/Avalonia.Native/StorageProviderImpl.cs","StorageProviderImpl","OpenFileBookmarkAsync","正常系","ブックマークからファイルが開けること","ブックマーク存在","bookmark=有効なブックマーク文字列","IStorageBookmarkFileが返却される","中","ブックマーク読込"
"61","UT-NAT-061","src/Avalonia.Native/StorageProviderImpl.cs","StorageProviderImpl","TryGetFileFromPathAsync","正常系","URIからファイルが取得できること","ファイル存在","fileUri=有効なファイルURI","IStorageFileが返却される","中","URI変換"
"62","UT-NAT-062","src/Avalonia.Native/StorageProviderImpl.cs","StorageProviderImpl","TryGetWellKnownFolderAsync","正常系","既知フォルダが取得できること","なし","wellKnownFolder=WellKnownFolder.Documents","IStorageFolderが返却される","中","既知フォルダ取得"
"63","UT-NAT-063","src/Avalonia.Native/TrayIconImpl.cs","TrayIconImpl","SetIcon","正常系","トレイアイコンが設定されること","TrayIcon作成済み","icon=有効なIWindowIconImpl","アイコンが設定される","中","アイコン設定"
"64","UT-NAT-064","src/Avalonia.Native/TrayIconImpl.cs","TrayIconImpl","SetIcon","境界値","nullアイコンでアイコンがクリアされること","TrayIcon作成済み","icon=null","アイコンがクリアされる","中","アイコンクリア"
"65","UT-NAT-065","src/Avalonia.Native/TrayIconImpl.cs","TrayIconImpl","SetToolTipText","正常系","ツールチップが設定されること","TrayIcon作成済み","text=""Tooltip Text""","ツールチップが設定される","中","ツールチップ設定"
"66","UT-NAT-066","src/Avalonia.Native/TrayIconImpl.cs","TrayIconImpl","SetIsVisible","正常系","トレイアイコンの表示/非表示が切り替えられること","TrayIcon作成済み","visible=true/false","表示状態が変更される","中","表示切替"
"67","UT-NAT-067","src/Avalonia.Native/TrayIconImpl.cs","TrayIconImpl","SetIsTemplateIcon","正常系","テンプレートアイコンフラグが設定されること","TrayIcon作成済み","isTemplateIcon=true","テンプレートモードが有効になる","低","テンプレートアイコン"
"68","UT-NAT-068","src/Avalonia.Native/TrayIconImpl.cs","TrayIconImpl","Dispose","正常系","リソースが解放されること","TrayIcon作成済み","なし","_native.Disposeが呼ばれる","中","リソース解放"
"69","UT-NAT-069","src/Avalonia.Native/DoubleClickHelper.cs","DoubleClickHelper","IsDoubleClick","正常系","ダブルクリックが検出されること","初期状態","timestamp=連続した2回のクリック, 同一位置","2回目にtrueが返却される","高","ダブルクリック検出"
"70","UT-NAT-070","src/Avalonia.Native/DoubleClickHelper.cs","DoubleClickHelper","IsDoubleClick","境界値","時間間隔が長すぎるとダブルクリックにならないこと","1回目クリック後","timestamp=長時間経過後, 同一位置","falseが返却される","高","タイムアウト"
"71","UT-NAT-071","src/Avalonia.Native/DoubleClickHelper.cs","DoubleClickHelper","IsDoubleClick","境界値","位置が離れすぎているとダブルクリックにならないこと","1回目クリック後","timestamp=短時間, position=離れた位置","falseが返却される","高","位置判定"
"72","UT-NAT-072","src/Avalonia.Native/DispatcherImpl.cs","DispatcherImpl","CurrentThreadIsLoopThread","正常系","ループスレッドかどうかが判定できること","Dispatcher初期化済み","なし","trueまたはfalseが返却される","高","スレッド判定"
"73","UT-NAT-073","src/Avalonia.Native/DispatcherImpl.cs","DispatcherImpl","Signal","正常系","シグナルが送信されること","Dispatcher初期化済み","なし","ネイティブSignalが呼ばれる","高","シグナル送信"
"74","UT-NAT-074","src/Avalonia.Native/DispatcherImpl.cs","DispatcherImpl","UpdateTimer","正常系","タイマーが更新されること","Dispatcher初期化済み","dueTimeInMs=1000","ネイティブUpdateTimerが呼ばれる","中","タイマー更新"
"75","UT-NAT-075","src/Avalonia.Native/DispatcherImpl.cs","DispatcherImpl","UpdateTimer","境界値","nullでタイマーが無効化されること","Dispatcher初期化済み","dueTimeInMs=null","タイマーが-1で更新される","中","タイマー無効化"
"76","UT-NAT-076","src/Avalonia.Native/DispatcherImpl.cs","DispatcherImpl","RunLoop","正常系","メッセージループが実行されること","Dispatcher初期化済み","token=有効なCancellationToken","ループが実行される","高","メッセージループ"
"77","UT-NAT-077","src/Avalonia.Native/DispatcherImpl.cs","DispatcherImpl","RunLoop","正常系","キャンセルでループが終了すること","ループ実行中","token.Cancel()","ループが終了する","高","ループキャンセル"
"78","UT-NAT-078","src/Avalonia.Native/DispatcherImpl.cs","DispatcherImpl","PropagateCallbackException","正常系","例外が伝搬されること","ループ実行中","capture=ExceptionDispatchInfo","フレームに例外が設定される","中","例外伝搬"
"79","UT-NAT-079","src/Avalonia.Native/AvaloniaNativeDragSource.cs","AvaloniaNativeDragSource","DoDragDropAsync","正常系","ドラッグ&ドロップが開始されること","DragSource初期化済み","triggerEvent, dataTransfer, allowedEffects","Taskが返却される","高","D&D開始"
"80","UT-NAT-080","src/Avalonia.Native/AvaloniaNativeDragSource.cs","AvaloniaNativeDragSource","DoDragDropAsync","異常系","無効なSourceでArgumentExceptionがスローされること","DragSource初期化済み","triggerEvent.Source=TopLevelなしのVisual","ArgumentExceptionがスローされる","高","無効Source"
"81","UT-NAT-081","src/Avalonia.Native/ClipboardDataTransfer.cs","ClipboardDataTransfer","ProvideFormats","正常系","クリップボードのフォーマット一覧が取得できること","セッション有効","なし","DataFormat配列が返却される","高","フォーマット取得"
"82","UT-NAT-082","src/Avalonia.Native/ClipboardDataTransfer.cs","ClipboardDataTransfer","ProvideItems","正常系","クリップボードのアイテム一覧が取得できること","セッション有効","なし","PlatformDataTransferItem配列が返却される","高","アイテム取得"
"83","UT-NAT-083","src/Avalonia.Native/ClipboardDataTransfer.cs","ClipboardDataTransfer","ProvideItems","境界値","アイテムが0件の場合空配列が返却されること","セッション有効、データなし","なし","空配列が返却される","中","空データ"
"84","UT-NAT-084","src/Avalonia.Native/ClipboardDataTransfer.cs","ClipboardDataTransfer","Dispose","正常系","セッションが破棄されること","セッション有効","なし","_session.Disposeが呼ばれる","中","リソース解放"
"85","UT-NAT-085","src/Avalonia.Native/ClipboardReadSession.cs","ClipboardReadSession","GetFormats","正常系","フォーマット一覧が取得できること","セッション有効","なし","IAvnStringArrayが返却される","高","フォーマット取得"
"86","UT-NAT-086","src/Avalonia.Native/ClipboardReadSession.cs","ClipboardReadSession","GetFormats","異常系","セッション無効時にnullが返却されること","クリップボード変更後","なし","nullが返却される","高","無効セッション"
"87","UT-NAT-087","src/Avalonia.Native/ClipboardReadSession.cs","ClipboardReadSession","GetItemCount","正常系","アイテム数が取得できること","セッション有効","なし","正の整数が返却される","高","アイテム数取得"
"88","UT-NAT-088","src/Avalonia.Native/ClipboardReadSession.cs","ClipboardReadSession","GetItemCount","異常系","セッション無効時に0が返却されること","クリップボード変更後","なし","0が返却される","中","無効セッション"
"89","UT-NAT-089","src/Avalonia.Native/ClipboardReadSession.cs","ClipboardReadSession","IsTextFormat","正常系","テキストフォーマットの判定ができること","セッション有効","format=""text/plain""","trueが返却される","中","テキスト判定"
"90","UT-NAT-090","src/Avalonia.Native/ClipboardReadSession.cs","ClipboardReadSession","Native","異常系","Dispose後にアクセスするとObjectDisposedExceptionがスローされること","Dispose呼び出し後","なし","ObjectDisposedExceptionがスローされる","高","破棄後アクセス"
"91","UT-NAT-091","src/Avalonia.Native/WindowImplBase.cs","WindowBaseImpl","Position","正常系","ウィンドウ位置が取得できること","ウィンドウ作成済み","なし","有効なPixelPointが返却される","中","位置取得"
"92","UT-NAT-092","src/Avalonia.Native/WindowImplBase.cs","WindowBaseImpl","Position","正常系","ウィンドウ位置が設定できること","ウィンドウ作成済み","value=PixelPoint(200, 200)","位置が変更される","中","位置設定"
"93","UT-NAT-093","src/Avalonia.Native/WindowImplBase.cs","WindowBaseImpl","FrameSize","正常系","フレームサイズが取得できること","ウィンドウ作成済み","なし","有効なSizeが返却される","中","サイズ取得"
"94","UT-NAT-094","src/Avalonia.Native/WindowImplBase.cs","WindowBaseImpl","FrameSize","境界値","未設定時にnullが返却されること","ウィンドウ未初期化","なし","nullが返却される","低","未初期化サイズ"
"95","UT-NAT-095","src/Avalonia.Native/WindowImplBase.cs","WindowBaseImpl","Activate","正常系","ウィンドウがアクティブ化されること","ウィンドウ作成済み","なし","Native.Activateが呼ばれる","中","アクティブ化"
"96","UT-NAT-096","src/Avalonia.Native/WindowImplBase.cs","WindowBaseImpl","Resize","正常系","ウィンドウサイズが変更されること","ウィンドウ作成済み","clientSize=Size(800, 600), reason=User","サイズが変更される","高","サイズ変更"
"97","UT-NAT-097","src/Avalonia.Native/WindowImplBase.cs","WindowBaseImpl","Show","正常系","ウィンドウが表示されること","ウィンドウ作成済み","activate=true, isDialog=false","ウィンドウが表示される","高","表示"
"98","UT-NAT-098","src/Avalonia.Native/WindowImplBase.cs","WindowBaseImpl","Hide","正常系","ウィンドウが非表示になること","ウィンドウ表示中","なし","ウィンドウが非表示になる","高","非表示"
"99","UT-NAT-099","src/Avalonia.Native/WindowImplBase.cs","WindowBaseImpl","SetTopmost","正常系","最前面表示が設定されること","ウィンドウ作成済み","value=true","最前面に表示される","中","最前面設定"
"100","UT-NAT-100","src/Avalonia.Native/WindowImplBase.cs","WindowBaseImpl","SetMinMaxSize","正常系","最小/最大サイズが設定されること","ウィンドウ作成済み","minSize=Size(400,300), maxSize=Size(1920,1080)","サイズ制限が適用される","中","サイズ制限"
"101","UT-NAT-101","src/Avalonia.Native/Cursor.cs","CursorFactory","GetCursor","正常系","標準カーソルが取得できること","CursorFactory初期化済み","cursorType=StandardCursorType.Arrow","AvaloniaNativeCursorが返却される","中","カーソル取得"
"102","UT-NAT-102","src/Avalonia.Native/Cursor.cs","CursorFactory","CreateCursor","正常系","カスタムカーソルが作成できること","CursorFactory初期化済み","cursor=有効なIBitmapImpl, hotSpot=PixelPoint(0,0)","AvaloniaNativeCursorが返却される","中","カスタムカーソル"
"103","UT-NAT-103","src/Avalonia.Native/Cursor.cs","AvaloniaNativeCursor","Dispose","正常系","カーソルリソースが解放されること","カーソル作成済み","なし","Cursorがnullになる","低","リソース解放"
"104","UT-NAT-104","src/Avalonia.Native/NativePlatformSettings.cs","NativePlatformSettings","GetColorValues","正常系","プラットフォームカラー値が取得できること","NativePlatformSettings初期化済み","なし","PlatformColorValuesが返却される","中","カラー値取得"
"105","UT-NAT-105","src/Avalonia.Native/NativePlatformSettings.cs","NativePlatformSettings","GetColorValues","正常系","ダークテーマが正しく検出されること","システムがダークテーマ","なし","ThemeVariant=Darkが返却される","中","テーマ検出"
"106","UT-NAT-106","src/Avalonia.Native/NativePlatformSettings.cs","NativePlatformSettings","GetColorValues","正常系","アクセントカラーが取得できること","アクセントカラー設定済み","なし","AccentColor1が設定される","中","アクセントカラー"
"107","UT-NAT-107","src/Avalonia.Native/NativePlatformSettings.cs","NativePlatformSettings","OnColorValuesChanged","正常系","カラー値変更が通知されること","カラー値が変更された","なし","OnColorValuesChangedイベントが発火する","中","変更通知"
"108","UT-NAT-108","src/Avalonia.Native/Extensions.cs","Extensions","AsComBool","正常系","trueが1に変換されること","なし","b=true","1が返却される","中","bool変換"
"109","UT-NAT-109","src/Avalonia.Native/Extensions.cs","Extensions","AsComBool","正常系","falseが0に変換されること","なし","b=false","0が返却される","中","bool変換"
"110","UT-NAT-110","src/Avalonia.Native/Extensions.cs","Extensions","FromComBool","正常系","1がtrueに変換されること","なし","b=1","trueが返却される","中","bool変換"
"111","UT-NAT-111","src/Avalonia.Native/Extensions.cs","Extensions","FromComBool","正常系","0がfalseに変換されること","なし","b=0","falseが返却される","中","bool変換"
"112","UT-NAT-112","src/Avalonia.Native/Extensions.cs","Extensions","FromComBool","境界値","0以外の値がtrueに変換されること","なし","b=42","trueが返却される","低","非ゼロ値"
"113","UT-NAT-113","src/Avalonia.Native/Helpers.cs","Helpers","ToAvaloniaPoint","正常系","AvnPointがPointに変換されること","なし","pt=AvnPoint{X=10, Y=20}","Point(10, 20)が返却される","中","座標変換"
"114","UT-NAT-114","src/Avalonia.Native/Helpers.cs","Helpers","ToAvaloniaPixelPoint","正常系","AvnPointがPixelPointに変換されること","なし","pt=AvnPoint{X=10.5, Y=20.5}","PixelPoint(10, 20)が返却される","中","座標変換"
"115","UT-NAT-115","src/Avalonia.Native/Helpers.cs","Helpers","ToAvnPoint(Point)","正常系","PointがAvnPointに変換されること","なし","pt=Point(10, 20)","AvnPoint{X=10, Y=20}が返却される","中","座標変換"
"116","UT-NAT-116","src/Avalonia.Native/Helpers.cs","Helpers","ToAvnPoint(PixelPoint)","正常系","PixelPointがAvnPointに変換されること","なし","pt=PixelPoint(10, 20)","AvnPoint{X=10, Y=20}が返却される","中","座標変換"
"117","UT-NAT-117","src/Avalonia.Native/Helpers.cs","Helpers","ToAvnSize","正常系","SizeがAvnSizeに変換されること","なし","size=Size(100, 200)","AvnSize{Width=100, Height=200}が返却される","中","サイズ変換"
"118","UT-NAT-118","src/Avalonia.Native/Helpers.cs","Helpers","ToAvaloniaSize","正常系","AvnSizeがSizeに変換されること","なし","size=AvnSize{Width=100, Height=200}","Size(100, 200)が返却される","中","サイズ変換"
"119","UT-NAT-119","src/Avalonia.Native/Helpers.cs","Helpers","ToAvnString","正常系","stringがIAvnStringに変換されること","なし","s=""test""","AvnStringインスタンスが返却される","中","文字列変換"
"120","UT-NAT-120","src/Avalonia.Native/Helpers.cs","Helpers","ToAvnString","境界値","nullがnullに変換されること","なし","s=null","nullが返却される","中","null処理"
"121","UT-NAT-121","src/Avalonia.Native/AvnString.cs","AvnString","Pointer","正常系","ネイティブポインタが取得できること","文字列設定済み","なし","有効なポインタが返却される","中","ポインタ取得"
"122","UT-NAT-122","src/Avalonia.Native/AvnString.cs","AvnString","Length","正常系","バイト長が取得できること","文字列設定済み","なし","UTF-8バイト長が返却される","中","長さ取得"
"123","UT-NAT-123","src/Avalonia.Native/AvnString.cs","AvnString","Bytes","正常系","UTF-8バイト配列が取得できること","文字列設定済み","なし","byte配列が返却される","中","バイト取得"
"124","UT-NAT-124","src/Avalonia.Native/AvnString.cs","AvnString","Destroyed","正常系","破棄時にメモリが解放されること","ネイティブメモリ割り当て済み","なし","_nativeがIntPtr.Zeroになる","中","メモリ解放"
"125","UT-NAT-125","src/Avalonia.Native/AvnString.cs","AvnStringArray","Count","正常系","要素数が取得できること","複数文字列設定済み","なし","正しい要素数が返却される","中","要素数"
"126","UT-NAT-126","src/Avalonia.Native/AvnString.cs","AvnStringArray","Get","正常系","指定インデックスの要素が取得できること","複数文字列設定済み","index=0","IAvnStringが返却される","中","要素取得"
"127","UT-NAT-127","src/Avalonia.Native/AvnString.cs","AvnStringArray","ToStringArray","正常系","string配列に変換できること","複数文字列設定済み","なし","string[]が返却される","中","配列変換"
"128","UT-NAT-128","src/Avalonia.Native/StorageProviderApi.cs","StorageProviderApi","OpenSecurityScope","正常系","セキュリティスコープが開けること","サンドボックス環境","uriString=有効なURI","IDisposableが返却される","高","スコープ開始"
"129","UT-NAT-129","src/Avalonia.Native/StorageProviderApi.cs","StorageProviderApi","OpenSecurityScope","正常系","ネストしたスコープが正しく管理されること","スコープ開始済み","同一URI","参照カウントが増加する","高","ネストスコープ"
"130","UT-NAT-130","src/Avalonia.Native/StorageProviderApi.cs","StorageProviderApi","SaveBookmark","正常系","ブックマークが保存できること","サンドボックス環境","uri=有効なファイルURI","エンコードされたブックマーク文字列が返却される","高","ブックマーク保存"
"131","UT-NAT-131","src/Avalonia.Native/StorageProviderApi.cs","StorageProviderApi","ReadBookmark","正常系","ブックマークが読み込めること","ブックマーク保存済み","bookmark=有効なブックマーク","Uriが返却される","高","ブックマーク読込"
"132","UT-NAT-132","src/Avalonia.Native/StorageProviderApi.cs","StorageProviderApi","ReadBookmark","境界値","無効なブックマークでnullが返却されること","なし","bookmark=無効な文字列","nullが返却される","中","無効ブックマーク"
"133","UT-NAT-133","src/Avalonia.Native/StorageProviderApi.cs","StorageProviderApi","ReleaseBookmark","正常系","ブックマークが解放されること","ブックマーク保存済み","uri=有効なURI","ネイティブReleaseBookmarkが呼ばれる","中","ブックマーク解放"
"134","UT-NAT-134","src/Avalonia.Native/StorageProviderApi.cs","StorageProviderApi","TryGetStorageItem","正常系","URIからStorageItemが取得できること","ファイル存在","itemUri=有効なファイルURI","IStorageItemが返却される","高","アイテム取得"
"135","UT-NAT-135","src/Avalonia.Native/StorageProviderApi.cs","StorageProviderApi","TryGetStorageItem","境界値","存在しないファイルでnullが返却されること","ファイル非存在","itemUri=存在しないURI","nullが返却される","中","存在しないファイル"
"136","UT-NAT-136","src/Avalonia.Native/StorageItem.cs","StorageItem","Name","正常系","ファイル名が取得できること","StorageItem作成済み","なし","ファイル名が返却される","中","名前取得"
"137","UT-NAT-137","src/Avalonia.Native/StorageItem.cs","StorageItem","GetBasicPropertiesAsync","正常系","基本プロパティが取得できること","StorageItem作成済み","なし","StorageItemPropertiesが返却される","中","プロパティ取得"
"138","UT-NAT-138","src/Avalonia.Native/StorageItem.cs","StorageItem","SaveBookmarkAsync","正常系","ブックマークが保存できること","StorageItem作成済み","なし","ブックマーク文字列が返却される","中","ブックマーク保存"
"139","UT-NAT-139","src/Avalonia.Native/StorageItem.cs","StorageItem","GetParentAsync","正常系","親フォルダが取得できること","StorageItem作成済み","なし","IStorageFolderが返却される","中","親取得"
"140","UT-NAT-140","src/Avalonia.Native/StorageItem.cs","StorageItem","DeleteAsync","正常系","ファイルが削除されること","StorageItem作成済み","なし","ファイルが削除される","高","削除"
"141","UT-NAT-141","src/Avalonia.Native/StorageItem.cs","StorageItem","MoveAsync","正常系","ファイルが移動されること","StorageItem作成済み","destination=有効なIStorageFolder","移動後のIStorageItemが返却される","高","移動"
"142","UT-NAT-142","src/Avalonia.Native/StorageItem.cs","StorageFile","OpenReadAsync","正常系","読み取りストリームが開けること","StorageFile作成済み","なし","Streamが返却される","高","読み取り"
"143","UT-NAT-143","src/Avalonia.Native/StorageItem.cs","StorageFile","OpenWriteAsync","正常系","書き込みストリームが開けること","StorageFile作成済み","なし","Streamが返却される","高","書き込み"
"144","UT-NAT-144","src/Avalonia.Native/StorageItem.cs","StorageFolder","GetItemsAsync","正常系","フォルダ内のアイテムが列挙できること","StorageFolder作成済み","なし","IAsyncEnumerable<IStorageItem>が返却される","高","アイテム列挙"
"145","UT-NAT-145","src/Avalonia.Native/StorageItem.cs","StorageFolder","CreateFileAsync","正常系","ファイルが作成できること","StorageFolder作成済み","name=""newfile.txt""","IStorageFileが返却される","高","ファイル作成"
"146","UT-NAT-146","src/Avalonia.Native/StorageItem.cs","StorageFolder","CreateFolderAsync","正常系","サブフォルダが作成できること","StorageFolder作成済み","name=""newfolder""","IStorageFolderが返却される","高","フォルダ作成"
"147","UT-NAT-147","src/Avalonia.Native/MacOSActivatableLifetime.cs","MacOSActivatableLifetime","TryLeaveBackground","正常系","バックグラウンドから復帰できること","アプリがバックグラウンド","なし","trueが返却される","中","復帰"
"148","UT-NAT-148","src/Avalonia.Native/MacOSActivatableLifetime.cs","MacOSActivatableLifetime","TryEnterBackground","正常系","バックグラウンドに移行できること","アプリがフォアグラウンド","なし","trueが返却される","中","バックグラウンド移行"
"149","UT-NAT-149","src/Avalonia.Native/AvaloniaNativeMenuExporter.cs","AvaloniaNativeMenuExporter","SetNativeMenu","正常系","ネイティブメニューが設定されること","MenuExporter作成済み","menu=有効なNativeMenu","メニューが設定される","中","メニュー設定"
"150","UT-NAT-150","src/Avalonia.Native/AvaloniaNativeMenuExporter.cs","AvaloniaNativeMenuExporter","SetNativeMenu","境界値","nullメニューでデフォルトメニューが作成されること","MenuExporter作成済み, ターゲット=Window","menu=null","新しいNativeMenuが作成される","中","デフォルトメニュー"
"151","UT-NAT-151","src/Avalonia.Native/AvaloniaNativeMenuExporter.cs","AvaloniaNativeMenuExporter","IsNativeMenuExported","正常系","エクスポート状態が取得できること","メニューエクスポート後","なし","trueが返却される","低","状態取得"
"152","UT-NAT-152","src/Avalonia.Native/AvaloniaNativeMenuExporter.cs","AvaloniaNativeMenuExporter","QueueReset","正常系","リセットがキューされること","MenuExporter作成済み","なし","_resetQueuedがtrueになる","低","リセットキュー"
"1","UT-OGL-001","src/Avalonia.OpenGL/GlVersion.cs","GlVersion","コンストラクタ(3引数)","正常系","OpenGLプロファイルでバージョン情報が正しく設定されること","なし","type=GlProfileType.OpenGL, major=4, minor=5","Type=OpenGL, Major=4, Minor=5, IsCompatibilityProfile=falseが設定される","高","OpenGLバージョン情報の基本コンストラクタ"
"2","UT-OGL-002","src/Avalonia.OpenGL/GlVersion.cs","GlVersion","コンストラクタ(4引数)","正常系","互換プロファイルフラグが正しく設定されること","なし","type=GlProfileType.OpenGL, major=3, minor=2, isCompatibilityProfile=true","IsCompatibilityProfile=trueが設定される","高","互換プロファイル対応"
"3","UT-OGL-003","src/Avalonia.OpenGL/GlVersion.cs","GlVersion","コンストラクタ(3引数)","正常系","OpenGLESプロファイルでバージョン情報が正しく設定されること","なし","type=GlProfileType.OpenGLES, major=3, minor=0","Type=OpenGLES, Major=3, Minor=0が設定される","高","OpenGLESバージョン情報"
"4","UT-OGL-004","src/Avalonia.OpenGL/GlVersion.cs","GlVersion","コンストラクタ","境界値","メジャーバージョン0が設定できること","なし","type=GlProfileType.OpenGLES, major=0, minor=0","Major=0が設定される","中","最小バージョン境界値"
"5","UT-OGL-005","src/Avalonia.OpenGL/GlBasicInfoInterface.cs","GlBasicInfoInterface","GetString(int)","正常系","有効なポインタから文字列が取得できること","GL_VERSIONが有効な文字列を返す環境","v=GL_VERSION","バージョン文字列が返却される","高","OpenGL情報取得の基本機能"
"6","UT-OGL-006","src/Avalonia.OpenGL/GlBasicInfoInterface.cs","GlBasicInfoInterface","GetString(int)","異常系","ポインタがIntPtr.Zeroの場合nullが返却されること","GetStringNativeがIntPtr.Zeroを返す","v=任意の無効値","nullが返却される","高","エラー処理"
"7","UT-OGL-007","src/Avalonia.OpenGL/GlBasicInfoInterface.cs","GlBasicInfoInterface","GetString(int, int)","正常系","インデックス付きで文字列が取得できること","GL_EXTENSIONSが複数の拡張を持つ","v=GL_EXTENSIONS, index=0","拡張機能名が返却される","中","拡張機能取得"
"8","UT-OGL-008","src/Avalonia.OpenGL/GlBasicInfoInterface.cs","GlBasicInfoInterface","GetExtensions","正常系","古いOpenGLでスペース区切りの拡張リストが取得できること","GL_EXTENSIONSがスペース区切り文字列を返す","なし","拡張機能のリストが返却される","高","旧バージョン対応"
"9","UT-OGL-009","src/Avalonia.OpenGL/GlBasicInfoInterface.cs","GlBasicInfoInterface","GetExtensions","正常系","新しいOpenGLでインデックス付き拡張リストが取得できること","GL_NUM_EXTENSIONSが正の値を返す","なし","拡張機能のリストが返却される","高","新バージョン対応"
"10","UT-OGL-010","src/Avalonia.OpenGL/GlBasicInfoInterface.cs","GlBasicInfoInterface","GetExtensions","境界値","拡張機能が0件の場合空リストが返却されること","GL_EXTENSIONSがnull、GL_NUM_EXTENSIONS=0","なし","空のリストが返却される","中","空リストのエッジケース"
"11","UT-OGL-011","src/Avalonia.OpenGL/GlInterface.cs","GlInterface.GlContextInfo","コンストラクタ","正常系","バージョンと拡張機能セットが正しく設定されること","なし","version=GlVersion(OpenGL,4,5), extensions=HashSet<string>","Version, Extensionsプロパティが正しく設定される","高","コンテキスト情報初期化"
"12","UT-OGL-012","src/Avalonia.OpenGL/GlInterface.cs","GlInterface.GlContextInfo","Create","正常系","getProcAddressから正しくコンテキスト情報が生成されること","有効なgetProcAddress関数","version=GlVersion(OpenGLES,3,0), getProcAddress=有効な関数","GlContextInfoが正しく生成される","高","ファクトリメソッド"
"13","UT-OGL-013","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","コンストラクタ","正常系","GlInterfaceが正しく初期化されること","有効なgetProcAddress","version=GlVersion(OpenGL,4,5), getProcAddress=有効な関数","Version, Vendor, Rendererが設定される","高","基本初期化"
"14","UT-OGL-014","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","GetProcAddress","正常系","GL関数のアドレスが取得できること","有効なgetProcAddress","proc=""glClear""","有効なIntPtrが返却される","高","プロシージャアドレス取得"
"15","UT-OGL-015","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","GenFramebuffer","正常系","フレームバッファIDが生成されること","OpenGLコンテキストが有効","なし","正のフレームバッファIDが返却される","高","リソース生成"
"16","UT-OGL-016","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","DeleteFramebuffer","正常系","フレームバッファが削除されること","有効なフレームバッファID","fb=1","エラーなく処理が完了する","高","リソース解放"
"17","UT-OGL-017","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","GenRenderbuffer","正常系","レンダーバッファIDが生成されること","OpenGLコンテキストが有効","なし","正のレンダーバッファIDが返却される","高","リソース生成"
"18","UT-OGL-018","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","DeleteRenderbuffer","正常系","レンダーバッファが削除されること","有効なレンダーバッファID","renderbuffer=1","エラーなく処理が完了する","高","リソース解放"
"19","UT-OGL-019","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","GenTexture","正常系","テクスチャIDが生成されること","OpenGLコンテキストが有効","なし","正のテクスチャIDが返却される","高","リソース生成"
"20","UT-OGL-020","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","DeleteTexture","正常系","テクスチャが削除されること","有効なテクスチャID","texture=1","エラーなく処理が完了する","高","リソース解放"
"21","UT-OGL-021","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","GenBuffer","正常系","バッファIDが生成されること","OpenGLコンテキストが有効","なし","正のバッファIDが返却される","中","リソース生成"
"22","UT-OGL-022","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","DeleteBuffer","正常系","バッファが削除されること","有効なバッファID","buffer=1","エラーなく処理が完了する","中","リソース解放"
"23","UT-OGL-023","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","GenVertexArray","正常系","頂点配列IDが生成されること","OpenGL 3.0以上のコンテキスト","なし","正の頂点配列IDが返却される","中","リソース生成"
"24","UT-OGL-024","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","DeleteVertexArray","正常系","頂点配列が削除されること","有効な頂点配列ID","array=1","エラーなく処理が完了する","中","リソース解放"
"25","UT-OGL-025","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","ShaderSourceString","正常系","シェーダーソースが設定されること","有効なシェーダーID","shader=1, source=""valid shader code""","エラーなく処理が完了する","高","シェーダー操作"
"26","UT-OGL-026","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","CompileShaderAndGetError","正常系","有効なシェーダーのコンパイルが成功しnullが返却されること","有効なシェーダーID","shader=1, source=""valid GLSL code""","nullが返却される","高","シェーダーコンパイル成功"
"27","UT-OGL-027","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","CompileShaderAndGetError","異常系","無効なシェーダーのコンパイルでエラーメッセージが返却されること","有効なシェーダーID","shader=1, source=""invalid code""","エラーメッセージ文字列が返却される","高","シェーダーコンパイルエラー"
"28","UT-OGL-028","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","LinkProgramAndGetError","正常系","有効なプログラムのリンクが成功しnullが返却されること","有効なプログラムID","program=1","nullが返却される","高","プログラムリンク成功"
"29","UT-OGL-029","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","LinkProgramAndGetError","異常系","無効なプログラムのリンクでエラーメッセージが返却されること","無効なシェーダーがアタッチされたプログラム","program=1","エラーメッセージ文字列が返却される","高","プログラムリンクエラー"
"30","UT-OGL-030","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","ClearDepth","正常系","ClearDepthDoubleが利用可能な場合に呼び出されること","glClearDepthが利用可能","value=1.0f","ClearDepthDoubleが呼び出される","中","深度バッファクリア"
"31","UT-OGL-031","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","ClearDepth","正常系","ClearDepthFloatが利用可能な場合に呼び出されること","glClearDepthfのみ利用可能","value=1.0f","ClearDepthFloatが呼び出される","中","深度バッファクリア(ES)"
"32","UT-OGL-032","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","GetAttribLocationString","正常系","属性ロケーションが取得できること","有効なプログラムと属性名","program=1, name=""position""","有効なロケーション値が返却される","中","属性取得"
"33","UT-OGL-033","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","GetUniformLocationString","正常系","ユニフォームロケーションが取得できること","有効なプログラムとユニフォーム名","program=1, name=""uMVP""","有効なロケーション値が返却される","中","ユニフォーム取得"
"34","UT-OGL-034","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","FromNativeUtf8GetProcAddress","正常系","UTF8ベースのgetProcAddressからGlInterfaceが生成されること","有効なgetProcAddress","version, getProcAddress","GlInterfaceインスタンスが返却される","高","ファクトリメソッド"
"35","UT-OGL-035","src/Avalonia.OpenGL/OpenGlException.cs","OpenGlException","コンストラクタ(string)","正常系","メッセージのみで例外が生成されること","なし","message=""test error""","Messageプロパティが設定される","中","例外生成"
"36","UT-OGL-036","src/Avalonia.OpenGL/OpenGlException.cs","OpenGlException","GetFormattedException(string, GlInterface)","正常系","GlInterfaceからフォーマット済み例外が生成されること","有効なGlInterface","funcName=""glClear"", gl=有効なGlInterface","フォーマット済みメッセージを持つ例外が返却される","高","例外フォーマット"
"37","UT-OGL-037","src/Avalonia.OpenGL/OpenGlException.cs","OpenGlException","GetFormattedException(string, int)","正常系","エラーコードからフォーマット済み例外が生成されること","なし","funcName=""glClear"", errorCode=0x0501","GL_INVALID_VALUE等の名前を含むメッセージが返却される","高","例外フォーマット"
"38","UT-OGL-038","src/Avalonia.OpenGL/OpenGlException.cs","OpenGlException","GetFormattedEglException","正常系","EGLエラーコードからフォーマット済み例外が生成されること","なし","funcName=""eglMakeCurrent"", errorCode=0x3001","EGL_NOT_INITIALIZED等の名前を含むメッセージが返却される","高","EGL例外フォーマット"
"39","UT-OGL-039","src/Avalonia.OpenGL/OpenGlException.cs","OpenGlException","GetFormattedException","異常系","未知のエラーコードでも例外が生成されること","なし","funcName=""func"", errorCode=0xFFFF","16進エラーコードを含むメッセージが返却される","中","未知エラー対応"
"40","UT-OGL-040","src/Avalonia.OpenGL/GlEntryPointAttribute.cs","GlMinVersionEntryPoint","GetProcAddress","正常系","バージョン要件を満たす場合アドレスが取得できること","OpenGL 4.5コンテキスト","minVersionMajor=3, minVersionMinor=0","有効なIntPtrが返却される","高","バージョンチェック"
"41","UT-OGL-041","src/Avalonia.OpenGL/GlEntryPointAttribute.cs","GlMinVersionEntryPoint","GetProcAddress","正常系","バージョン要件を満たさない場合IntPtr.Zeroが返却されること","OpenGL 2.1コンテキスト","minVersionMajor=3, minVersionMinor=0","IntPtr.Zeroが返却される","高","バージョンチェック失敗"
"42","UT-OGL-042","src/Avalonia.OpenGL/GlEntryPointAttribute.cs","GlMinVersionEntryPoint","GetProcAddress","正常系","プロファイルタイプが異なる場合IntPtr.Zeroが返却されること","OpenGLESコンテキスト","profile=GlProfileType.OpenGL","IntPtr.Zeroが返却される","中","プロファイルチェック"
"43","UT-OGL-043","src/Avalonia.OpenGL/GlEntryPointAttribute.cs","GlMinVersionEntryPoint","GetProcAddress","境界値","マイナーバージョンが境界の場合の判定が正しいこと","OpenGL 3.0コンテキスト","minVersionMajor=3, minVersionMinor=1","IntPtr.Zeroが返却される","中","境界バージョンチェック"
"44","UT-OGL-044","src/Avalonia.OpenGL/GlEntryPointAttribute.cs","GlExtensionEntryPoint","GetProcAddress","正常系","拡張機能が存在する場合アドレスが取得できること","拡張GL_OES_vertex_array_objectが存在","extension=""GL_OES_vertex_array_object""","有効なIntPtrが返却される","高","拡張チェック成功"
"45","UT-OGL-045","src/Avalonia.OpenGL/GlEntryPointAttribute.cs","GlExtensionEntryPoint","GetProcAddress","正常系","拡張機能が存在しない場合IntPtr.Zeroが返却されること","拡張が存在しない","extension=""GL_OES_vertex_array_object""","IntPtr.Zeroが返却される","高","拡張チェック失敗"
"46","UT-OGL-046","src/Avalonia.OpenGL/GlEntryPointAttribute.cs","GlExtensionEntryPoint","GetProcAddress","正常系","プロファイルタイプが異なる場合IntPtr.Zeroが返却されること","OpenGLコンテキスト、OpenGLES専用拡張","profile=GlProfileType.OpenGLES","IntPtr.Zeroが返却される","中","プロファイル不一致"
"47","UT-OGL-047","src/Avalonia.OpenGL/Egl/EglInterface.cs","EglInterface","コンストラクタ(Func<string, IntPtr>)","正常系","getProcAddressから初期化されること","有効なgetProcAddress","getProcAddress=有効な関数","インスタンスが正しく初期化される","高","EGL初期化"
"48","UT-OGL-048","src/Avalonia.OpenGL/Egl/EglInterface.cs","EglInterface","コンストラクタ(string)","正常系","ライブラリパスから初期化されること","有効なEGLライブラリ","library=""libEGL.so.1""","インスタンスが正しく初期化される","高","EGLライブラリロード"
"49","UT-OGL-049","src/Avalonia.OpenGL/Egl/EglInterface.cs","EglInterface","Load()","正常系","Linuxでlibに対するLoad関数が実行されること","Linux環境","なし","libEGL.so.1がロードされる","中","プラットフォーム検出"
"50","UT-OGL-050","src/Avalonia.OpenGL/Egl/EglInterface.cs","EglInterface","Load()","正常系","Androidでlibに対するLoad関数が実行されること","Android環境","なし","libEGL.soがロードされる","中","プラットフォーム検出"
"51","UT-OGL-051","src/Avalonia.OpenGL/Egl/EglInterface.cs","EglInterface","Load()","異常系","未対応プラットフォームでPlatformNotSupportedExceptionがスローされること","Windows等の未対応環境","なし","PlatformNotSupportedExceptionがスローされる","中","例外処理"
"52","UT-OGL-052","src/Avalonia.OpenGL/Egl/EglInterface.cs","EglInterface","QueryString","正常系","EGL文字列が取得できること","有効なEGLディスプレイ","display=有効, i=EGL_EXTENSIONS","拡張文字列が返却される","中","EGL情報取得"
"53","UT-OGL-053","src/Avalonia.OpenGL/Egl/EglInterface.cs","EglInterface","QueryString","異常系","IntPtr.Zeroの場合nullが返却されること","無効なディスプレイまたはパラメータ","display=無効","nullが返却される","中","エラー処理"
"54","UT-OGL-054","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","コンストラクタ(IntPtr, EglDisplayOptions)","正常系","ディスプレイハンドルから初期化されること","有効なEGLディスプレイハンドル","display=有効なIntPtr, options=EglDisplayOptions","Handleプロパティが設定される","高","EGLディスプレイ初期化"
"55","UT-OGL-055","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","コンストラクタ(IntPtr, EglDisplayOptions)","異常系","IntPtr.Zeroの場合ArgumentExceptionがスローされること","なし","display=IntPtr.Zero","ArgumentExceptionがスローされる","高","無効引数検証"
"56","UT-OGL-056","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","CreateContext","正常系","新しいEGLコンテキストが作成されること","有効なEGLディスプレイ","options=null","EglContextインスタンスが返却される","高","コンテキスト作成"
"57","UT-OGL-057","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","CreateContext","正常系","共有コンテキストが作成できること","SupportsSharingがtrue、既存コンテキストあり","options.ShareWith=既存コンテキスト","共有されたEglContextが返却される","高","共有コンテキスト"
"58","UT-OGL-058","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","CreateContext","異常系","共有未サポート時にNotSupportedExceptionがスローされること","SupportsSharingがfalse","options.ShareWith=コンテキスト","NotSupportedExceptionがスローされる","高","共有未対応"
"59","UT-OGL-059","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","CreateContext","異常系","SingleContextで複数コンテキスト作成時にOpenGlExceptionがスローされること","SingleContext=true、既存コンテキストあり","なし","OpenGlExceptionがスローされる","高","単一コンテキスト制約"
"60","UT-OGL-060","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","CreateWindowSurface","正常系","ウィンドウサーフェスが作成されること","有効なウィンドウハンドル","window=有効なIntPtr","EglSurfaceインスタンスが返却される","高","サーフェス作成"
"61","UT-OGL-061","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","CreateWindowSurface","異常系","IntPtr.Zeroの場合OpenGlExceptionがスローされること","なし","window=IntPtr.Zero","OpenGlExceptionがスローされる","高","無効ウィンドウ"
"62","UT-OGL-062","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","CreatePBufferFromClientBuffer","正常系","クライアントバッファからPBufferが作成されること","有効なバッファハンドル","bufferType, handle, attribs","EglSurfaceインスタンスが返却される","中","PBuffer作成"
"63","UT-OGL-063","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","IsLost","正常系","ディスプレイがロスト状態の判定が正しいこと","ディスプレイがロスト","なし","trueが返却される","高","ロスト状態検出"
"64","UT-OGL-064","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","IsLost","正常系","ディスプレイが有効な場合falseが返却されること","ディスプレイが有効","なし","falseが返却される","高","有効状態確認"
"65","UT-OGL-065","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","Lock","正常系","ロックが取得できること","なし","なし","IDisposableが返却される","中","排他制御"
"66","UT-OGL-066","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","Dispose","正常系","リソースが正しく解放されること","有効なディスプレイとコンテキスト","なし","HandleがIntPtr.Zeroになり、Terminateが呼び出される","高","リソース解放"
"67","UT-OGL-067","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","Context","正常系","コンテキストハンドルが取得できること","有効なコンテキスト","なし","有効なIntPtrが返却される","高","プロパティ取得"
"68","UT-OGL-068","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","Context","異常系","Dispose後にObjectDisposedExceptionがスローされること","Dispose済みコンテキスト","なし","ObjectDisposedExceptionがスローされる","高","破棄後アクセス"
"69","UT-OGL-069","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","MakeCurrent()","正常系","コンテキストがカレントになること","有効なコンテキスト","なし","IDisposableが返却され、IsCurrentがtrueになる","高","コンテキスト切替"
"70","UT-OGL-070","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","MakeCurrent(EglSurface)","正常系","サーフェス指定でコンテキストがカレントになること","有効なコンテキストとサーフェス","surface=有効なEglSurface","IDisposableが返却される","高","サーフェス指定切替"
"71","UT-OGL-071","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","MakeCurrent","異常系","ロスト状態でPlatformGraphicsContextLostExceptionがスローされること","IsLost=true","なし","PlatformGraphicsContextLostExceptionがスローされる","高","ロスト状態処理"
"72","UT-OGL-072","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","MakeCurrent","異常系","EGL_CONTEXT_LOSTエラーでロスト通知とPlatformGraphicsContextLostExceptionがスローされること","eglMakeCurrentがEGL_CONTEXT_LOSTを返す","なし","NotifyContextLostが呼ばれ、例外がスローされる","高","コンテキストロスト"
"73","UT-OGL-073","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","NotifyContextLost","正常系","ロスト状態が設定されディスプレイに通知されること","有効なコンテキスト","なし","IsLost=trueになり、Display.OnContextLostが呼び出される","高","ロスト通知"
"74","UT-OGL-074","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","IsLost","正常系","コンテキストのロスト状態が正しく判定されること","コンテキストがロスト","なし","trueが返却される","高","ロスト状態判定"
"75","UT-OGL-075","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","EnsureCurrent","正常系","既にカレントの場合空のDisposableが返却されること","IsCurrent=true","なし","Disposable.Emptyが返却される","中","最適化パス"
"76","UT-OGL-076","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","EnsureCurrent","正常系","カレントでない場合MakeCurrentが呼び出されること","IsCurrent=false","なし","MakeCurrentの戻り値が返却される","中","フォールバックパス"
"77","UT-OGL-077","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","EnsureLocked","正常系","既にカレントの場合空のDisposableが返却されること","IsCurrent=true","なし","Disposable.Emptyが返却される","中","ロック最適化"
"78","UT-OGL-078","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","IsSharedWith","正常系","同一コンテキストの場合trueが返却されること","なし","context=this","trueが返却される","中","共有判定"
"79","UT-OGL-079","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","IsSharedWith","正常系","共有元コンテキストの場合trueが返却されること","共有コンテキスト","context=_sharedWith","trueが返却される","中","共有判定"
"80","UT-OGL-080","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","IsSharedWith","正常系","共有されていないコンテキストの場合falseが返却されること","非共有コンテキスト","context=別コンテキスト","falseが返却される","中","非共有判定"
"81","UT-OGL-081","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","CreateSharedContext","正常系","共有コンテキストが作成されること","CanCreateSharedContext=true","なし","新しいIGlContextが返却される","高","共有コンテキスト作成"
"82","UT-OGL-082","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","IsCurrent","正常系","カレントコンテキストの判定が正しいこと","コンテキストがカレント","なし","trueが返却される","中","カレント判定"
"83","UT-OGL-083","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","Dispose","正常系","リソースが正しく解放されること","有効なコンテキスト","なし","_context=IntPtr.Zero、DestroyContextが呼び出される","高","リソース解放"
"84","UT-OGL-084","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","Dispose","正常系","既にDispose済みの場合何もしないこと","_context=IntPtr.Zero","なし","エラーなく完了","中","二重Dispose"
"85","UT-OGL-085","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","Dispose","正常系","フィーチャのIDisposableが解放されること","IDisposableフィーチャが登録済み","なし","フィーチャのDisposeが呼び出される","中","フィーチャ解放"
"86","UT-OGL-086","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","TryGetFeature","正常系","登録済みフィーチャが取得できること","フィーチャが登録済み","featureType=登録済みの型","フィーチャオブジェクトが返却される","中","フィーチャ取得"
"87","UT-OGL-087","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","TryGetFeature","正常系","未登録フィーチャでnullが返却されること","フィーチャ未登録","featureType=未登録の型","nullが返却される","中","フィーチャ未登録"
"88","UT-OGL-088","src/Avalonia.OpenGL/Egl/EglSurface.cs","EglSurface","コンストラクタ","正常系","サーフェスが正しく初期化されること","有効なディスプレイとサーフェスハンドル","display, surface","handle, _displayが設定される","高","サーフェス初期化"
"89","UT-OGL-089","src/Avalonia.OpenGL/Egl/EglSurface.cs","EglSurface","IsInvalid","正常系","IntPtr.Zeroの場合trueが返却されること","handle=IntPtr.Zero","なし","trueが返却される","中","無効判定"
"90","UT-OGL-090","src/Avalonia.OpenGL/Egl/EglSurface.cs","EglSurface","IsInvalid","正常系","有効なハンドルの場合falseが返却されること","有効なhandle","なし","falseが返却される","中","有効判定"
"91","UT-OGL-091","src/Avalonia.OpenGL/Egl/EglSurface.cs","EglSurface","SwapBuffers","正常系","バッファスワップが実行されること","有効なサーフェス","なし","eglSwapBuffersが呼び出される","高","バッファ交換"
"92","UT-OGL-092","src/Avalonia.OpenGL/Egl/EglSurface.cs","EglSurface","ReleaseHandle","正常系","サーフェスが破棄されること","有効なサーフェス","なし","DestroySurfaceが呼び出され、trueが返却される","高","リソース解放"
"93","UT-OGL-093","src/Avalonia.OpenGL/Egl/EglDisplayUtils.cs","EglDisplayUtils","CreateDisplay","正常系","デフォルトディスプレイが取得できること","EGLが利用可能","options.PlatformType=null","有効なIntPtrが返却される","高","ディスプレイ取得"
"94","UT-OGL-094","src/Avalonia.OpenGL/Egl/EglDisplayUtils.cs","EglDisplayUtils","CreateDisplay","正常系","プラットフォーム指定でディスプレイが取得できること","eglGetPlatformDisplayEXTが利用可能","options.PlatformType=指定値","有効なIntPtrが返却される","高","プラットフォーム指定"
"95","UT-OGL-095","src/Avalonia.OpenGL/Egl/EglDisplayUtils.cs","EglDisplayUtils","CreateDisplay","異常系","プラットフォーム指定でeglGetPlatformDisplayEXT未対応時OpenGlExceptionがスローされること","eglGetPlatformDisplayEXTが未対応","options.PlatformType=指定値","OpenGlExceptionがスローされる","高","未対応API"
"96","UT-OGL-096","src/Avalonia.OpenGL/Egl/EglDisplayUtils.cs","EglDisplayUtils","CreateDisplay","異常系","ディスプレイ取得失敗時OpenGlExceptionがスローされること","eglGetDisplayがIntPtr.Zeroを返す","なし","OpenGlExceptionがスローされる","高","取得失敗"
"97","UT-OGL-097","src/Avalonia.OpenGL/Egl/EglDisplayUtils.cs","EglDisplayUtils","InitializeAndGetConfig","正常系","EGLの初期化と設定取得が成功すること","有効なディスプレイ","egl, display, versions","EglConfigInfoが返却される","高","初期化成功"
"98","UT-OGL-098","src/Avalonia.OpenGL/Egl/EglDisplayUtils.cs","EglDisplayUtils","InitializeAndGetConfig","異常系","初期化失敗時OpenGlExceptionがスローされること","eglInitializeがfalseを返す","なし","OpenGlExceptionがスローされる","高","初期化失敗"
"99","UT-OGL-099","src/Avalonia.OpenGL/Egl/EglDisplayUtils.cs","EglDisplayUtils","InitializeAndGetConfig","異常系","設定が見つからない場合OpenGlExceptionがスローされること","適合する設定が存在しない","なし","OpenGlExceptionがスローされる","高","設定未発見"
"100","UT-OGL-100","src/Avalonia.OpenGL/Egl/EglDisplayUtils.cs","EglDisplayUtils","InitializeAndGetConfig","正常系","OpenGLES3.0が優先的に選択されること","ES3.0とES2.0が指定","versions=[ES3.0, ES2.0]","Version.Major=3のConfigInfoが返却される","中","バージョン優先度"
"101","UT-OGL-101","src/Avalonia.OpenGL/Egl/EglConfigInfo.cs","EglConfigInfo","コンストラクタ","正常系","すべてのプロパティが正しく設定されること","なし","config, version, surfaceType, attributes, sampleCount, stencilSize","各プロパティが設定される","中","設定情報初期化"
"102","UT-OGL-102","src/Avalonia.OpenGL/Egl/EglGlPlatformSurfaceBase.cs","EglPlatformSurfaceRenderTargetBase","BeginDraw(PixelSize?)","正常系","レンダリングセッションが開始されること","有効なコンテキスト","expectedPixelSize=null","IGlPlatformSurfaceRenderingSessionが返却される","高","レンダリング開始"
"103","UT-OGL-103","src/Avalonia.OpenGL/Egl/EglGlPlatformSurfaceBase.cs","EglPlatformSurfaceRenderTargetBase","BeginDraw(PixelSize?)","異常系","コンテキストロスト時RenderTargetCorruptedExceptionがスローされること","Context.IsLost=true","なし","RenderTargetCorruptedExceptionがスローされる","高","ロスト時エラー"
"104","UT-OGL-104","src/Avalonia.OpenGL/Egl/EglGlPlatformSurfaceBase.cs","EglPlatformSurfaceRenderTargetBase","IsCorrupted","正常系","コンテキストのロスト状態が反映されること","Context.IsLost=true","なし","trueが返却される","中","破損状態"
"105","UT-OGL-105","src/Avalonia.OpenGL/Egl/EglGlPlatformSurfaceBase.cs","EglPlatformSurfaceRenderTargetBase.Session","Dispose","正常系","セッション終了時にバッファスワップと同期が実行されること","有効なセッション","なし","Flush, WaitGL, SwapBuffersが順に呼び出される","高","セッション終了"
"106","UT-OGL-106","src/Avalonia.OpenGL/Egl/EglGlPlatformSurfaceBase.cs","EglPlatformSurfaceRenderTargetBase.Session","Dispose","正常系","SkipWaits=trueの場合同期がスキップされること","SkipWaits=true","なし","WaitGL, WaitClientがスキップされる","中","同期スキップ"
"107","UT-OGL-107","src/Avalonia.OpenGL/Egl/EglGlPlatformSurface.cs","EglGlPlatformSurface","CreateGlRenderTarget","正常系","レンダーターゲットが作成されること","有効なコンテキストと情報","context=EglContext","RenderTargetインスタンスが返却される","高","ターゲット作成"
"108","UT-OGL-108","src/Avalonia.OpenGL/Egl/EglGlPlatformSurface.cs","EglGlPlatformSurface.RenderTarget","BeginDrawCore","正常系","描画セッションが開始されること","有効なサーフェス","expectedPixelSize=PixelSize(800,600)","IGlPlatformSurfaceRenderingSessionが返却される","高","描画開始"
"109","UT-OGL-109","src/Avalonia.OpenGL/Egl/EglGlPlatformSurface.cs","EglGlPlatformSurface.RenderTarget","BeginDrawCore","正常系","サイズ変更時にサーフェスが再作成されること","_info.Sizeが変更","expectedPixelSize=新サイズ","新しいサーフェスで描画が開始される","高","サイズ変更対応"
"110","UT-OGL-110","src/Avalonia.OpenGL/Egl/EglGlPlatformSurface.cs","EglGlPlatformSurface.RenderTarget","BeginDrawCore","正常系","ハンドル変更時にサーフェスが再作成されること","_info.Handleが変更","なし","新しいサーフェスで描画が開始される","中","ハンドル変更対応"
"111","UT-OGL-111","src/Avalonia.OpenGL/Egl/EglGlPlatformSurface.cs","EglGlPlatformSurface.RenderTarget","Dispose","正常系","サーフェスが解放されること","有効なサーフェス","なし","_glSurfaceがDisposeされる","高","リソース解放"
"112","UT-OGL-112","src/Avalonia.OpenGL/Egl/EglPlatformGraphics.cs","EglPlatformGraphics","コンストラクタ","正常系","EglDisplayから初期化されること","有効なEglDisplay","display=EglDisplay","インスタンスが作成される","高","初期化"
"113","UT-OGL-113","src/Avalonia.OpenGL/Egl/EglPlatformGraphics.cs","EglPlatformGraphics","UsesSharedContext","正常系","falseが返却されること","なし","なし","falseが返却される","低","プロパティ確認"
"114","UT-OGL-114","src/Avalonia.OpenGL/Egl/EglPlatformGraphics.cs","EglPlatformGraphics","CreateContext","正常系","新しいコンテキストが作成されること","なし","なし","IPlatformGraphicsContextが返却される","高","コンテキスト作成"
"115","UT-OGL-115","src/Avalonia.OpenGL/Egl/EglPlatformGraphics.cs","EglPlatformGraphics","GetSharedContext","異常系","NotSupportedExceptionがスローされること","なし","なし","NotSupportedExceptionがスローされる","中","未サポート操作"
"116","UT-OGL-116","src/Avalonia.OpenGL/Egl/EglPlatformGraphics.cs","EglPlatformGraphics","TryCreate()","正常系","EglPlatformGraphicsが作成されること","EGLが利用可能","なし","EglPlatformGraphicsインスタンスが返却される","高","ファクトリ成功"
"117","UT-OGL-117","src/Avalonia.OpenGL/Egl/EglPlatformGraphics.cs","EglPlatformGraphics","TryCreate()","異常系","初期化失敗時nullが返却されること","EGLが利用不可","なし","nullが返却される","高","ファクトリ失敗"
"118","UT-OGL-118","src/Avalonia.OpenGL/Egl/EglPlatformGraphics.cs","EglPlatformGraphics","TryCreate(Func<EglDisplay>)","正常系","カスタムファクトリで作成されること","有効なファクトリ","displayFactory=有効な関数","EglPlatformGraphicsが返却される","中","カスタムファクトリ"
"119","UT-OGL-119","src/Avalonia.OpenGL/Egl/EglPlatformGraphics.cs","EglPlatformGraphics","TryCreate(Func<EglDisplay>)","異常系","ファクトリ例外時nullが返却されエラーログが出力されること","例外をスローするファクトリ","displayFactory=例外スロー関数","nullが返却される","中","ファクトリ例外"
"120","UT-OGL-120","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","コンストラクタ","正常系","コントロールが初期化されること","なし","なし","_updateがAction型で設定される","高","コントロール初期化"
"121","UT-OGL-121","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","RequestNextFrameRendering","正常系","レンダリングリクエストがキューされること","初期化済み、_updateQueued=false","なし","_updateQueued=trueになる","高","レンダリング要求"
"122","UT-OGL-122","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","RequestNextFrameRendering","正常系","既にキュー済みの場合リクエストが重複しないこと","_updateQueued=true","なし","リクエストが追加されない","中","重複防止"
"123","UT-OGL-123","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","OnAttachedToVisualTree","正常系","ビジュアルツリー追加時にCompositorが設定されレンダリングがリクエストされること","有効なビジュアルツリー","なし","_compositorが設定される","高","アタッチ処理"
"124","UT-OGL-124","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","OnDetachedFromVisualTree","正常系","ビジュアルツリー除去時にリソースがクリーンアップされること","初期化済み状態","なし","_visual=null, _resources=nullになる","高","デタッチ処理"
"125","UT-OGL-125","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","OnPropertyChanged","正常系","Boundsプロパティ変更時にビジュアルサイズが更新されレンダリングがリクエストされること","_visual非null","BoundsProperty変更","_visual.Sizeが更新される","中","サイズ変更対応"
"126","UT-OGL-126","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","OnOpenGlInit","正常系","初期化時にオーバーライドメソッドが呼び出されること","コンテキスト作成成功","gl=GlInterface","メソッドがエラーなく完了","中","初期化コールバック"
"127","UT-OGL-127","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","OnOpenGlDeinit","正常系","破棄時にオーバーライドメソッドが呼び出されること","初期化成功済み","gl=GlInterface","メソッドがエラーなく完了","中","破棄コールバック"
"128","UT-OGL-128","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","OnOpenGlLost","正常系","コンテキストロスト時にオーバーライドメソッドが呼び出されること","コンテキストがロスト","なし","メソッドがエラーなく完了","中","ロストコールバック"
"129","UT-OGL-129","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","InvalidateVisual","正常系","RequestNextFrameRenderingが呼び出されること（非推奨メソッド）","なし","なし","RequestNextFrameRenderingの動作","低","後方互換性"
"130","UT-OGL-130","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","TryCreate(sharing)","正常系","共有機能からリソースが作成されること","CreateSharedContextが成功","surface, interop, feature","OpenGlControlBaseResourcesが返却される","高","共有リソース作成"
"131","UT-OGL-131","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","TryCreate(sharing)","異常系","共有コンテキスト作成失敗時nullが返却されること","CreateSharedContextが例外","なし","nullが返却される","高","作成失敗"
"132","UT-OGL-132","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","TryCreate(sharing)","異常系","コンテキストがnullの場合nullが返却されること","CreateSharedContextがnull返却","なし","nullが返却される","中","null処理"
"133","UT-OGL-133","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","TryCreate(external)","正常系","外部オブジェクト機能からリソースが作成されること","D3D11サポートあり","context, surface, interop, externalObjects","OpenGlControlBaseResourcesが返却される","高","外部オブジェクト作成"
"134","UT-OGL-134","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","TryCreate(external)","正常系","D3D11未サポート時nullが返却されること","D3D11サポートなし","なし","nullが返却される","中","未サポートフォーマット"
"135","UT-OGL-135","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","BeginDraw","正常系","描画が開始されFBOが設定されること","有効なリソース","size=PixelSize(800,600)","IDisposableが返却される","高","描画開始"
"136","UT-OGL-136","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","BeginDraw","正常系","サイズ変更時に深度バッファが再作成されること","サイズが前回と異なる","size=新しいPixelSize","深度バッファが再生成される","中","深度バッファ更新"
"137","UT-OGL-137","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","BeginDraw","異常系","フレームバッファ不完全時OpenGlExceptionがスローされること","CheckFramebufferStatusがGL_FRAMEBUFFER_COMPLETE以外","なし","OpenGlExceptionがスローされる","高","FBOエラー"
"138","UT-OGL-138","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","DisposeAsync","正常系","リソースが非同期で解放されること","有効なリソース","なし","FBOと深度バッファが削除される","高","非同期解放"
"139","UT-OGL-139","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","DisposeAsync","正常系","コンテキストロスト時もエラーなく完了すること","Context.IsLost=true","なし","例外なく完了","中","ロスト時解放"
"140","UT-OGL-140","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapchain","コンストラクタ(sharing)","正常系","共有機能でスワップチェーンが初期化されること","有効なコンテキストと共有機能","context, interop, target, sharingFeature","インスタンスが作成される","高","共有初期化"
"141","UT-OGL-141","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapchain","コンストラクタ(external)","正常系","外部オブジェクト機能でスワップチェーンが初期化されること","有効なコンテキストと外部オブジェクト機能","context, interop, target, externalObjectsFeature","インスタンスが作成される","高","外部オブジェクト初期化"
"142","UT-OGL-142","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapchain","CreateImage","正常系","共有機能使用時にCompositionOpenGlSwapChainImageが作成されること","_sharingFeature非null","size=PixelSize(800,600)","CompositionOpenGlSwapChainImageが返却される","高","共有イメージ作成"
"143","UT-OGL-143","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapchain","CreateImage","正常系","外部オブジェクト使用時にDxgiMutexOpenGlSwapChainImageが作成されること","_sharingFeature=null","size=PixelSize(800,600)","DxgiMutexOpenGlSwapChainImageが返却される","高","外部イメージ作成"
"144","UT-OGL-144","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapchain","BeginDraw","正常系","描画開始時にテクスチャが返却されること","有効なスワップチェーン","size=PixelSize(800,600)","IDisposableとIGlTextureが返却される","高","描画開始"
"145","UT-OGL-145","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","DxgiMutexOpenGlSwapChainImage","コンストラクタ","正常系","D3D11テクスチャが作成されること","有効な外部オブジェクト機能","interop, surface, externalObjects, size","テクスチャが作成される","高","DXGI初期化"
"146","UT-OGL-146","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","DxgiMutexOpenGlSwapChainImage","TextureId","正常系","テクスチャIDが取得できること","有効なイメージ","なし","正のテクスチャIDが返却される","中","プロパティ取得"
"147","UT-OGL-147","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","DxgiMutexOpenGlSwapChainImage","BeginDraw","正常系","キードミューテックスが取得されること","有効なイメージ","なし","AcquireKeyedMutex(0)が呼び出される","高","ミューテックス取得"
"148","UT-OGL-148","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","DxgiMutexOpenGlSwapChainImage","Present","正常系","ミューテックス解放とコンポジションへの送信が行われること","有効なイメージ","なし","ReleaseKeyedMutex(1)とUpdateWithKeyedMutexAsyncが呼び出される","高","プレゼント"
"149","UT-OGL-149","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","DxgiMutexOpenGlSwapChainImage","DisposeAsync","正常系","テクスチャが解放されること","有効なイメージ","なし","_texture.Disposeが呼び出される","高","非同期解放"
"150","UT-OGL-150","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapChainImage","コンストラクタ","正常系","共有テクスチャが作成されること","有効な共有機能","context, sharingFeature, size, interop, target","テクスチャが作成される","高","共有イメージ初期化"
"151","UT-OGL-151","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapChainImage","BeginDraw","正常系","共有テクスチャではno-opであること","有効なイメージ","なし","何もしない","中","no-op確認"
"152","UT-OGL-152","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapChainImage","Present","正常系","コンポジションへの送信が行われること","有効なイメージ","なし","UpdateAsyncが呼び出される","高","プレゼント"
"153","UT-OGL-153","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapChainImage","DisposeAsync","正常系","テクスチャが解放されること","有効なイメージ","なし","_texture.Disposeが呼び出される","高","非同期解放"
"154","UT-OGL-154","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","TryCreate","正常系","拡張機能が利用可能な場合インスタンスが作成されること","GL_EXT_memory_object, GL_EXT_semaphore拡張あり","context","ExternalObjectsOpenGlExtensionFeatureが返却される","高","ファクトリ成功"
"155","UT-OGL-155","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","TryCreate","正常系","拡張機能が利用不可の場合nullが返却されること","必要な拡張なし","context","nullが返却される","高","ファクトリ失敗"
"156","UT-OGL-156","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","TryCreate","異常系","初期化例外時nullが返却されログ出力されること","拡張あるが初期化失敗","context","nullが返却される","中","例外処理"
"157","UT-OGL-157","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","GetSupportedFormatsForExternalMemoryType","正常系","R8G8B8A8UNormフォーマットが返却されること","なし","type=任意","R8G8B8A8UNormを含むリストが返却される","中","フォーマット取得"
"158","UT-OGL-158","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","CreateImage","異常系","NotSupportedExceptionがスローされること","なし","type, size, format","NotSupportedExceptionがスローされる","中","未サポート操作"
"159","UT-OGL-159","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","CreateSemaphore","異常系","NotSupportedExceptionがスローされること","なし","type","NotSupportedExceptionがスローされる","中","未サポート操作"
"160","UT-OGL-160","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","ImportImage","正常系","Vulkanファイルディスクリプタからイメージがインポートされること","VulkanOpaquePosixFileDescriptorサポートあり","handle=有効なfd, properties","IGlExternalImageTextureが返却される","高","イメージインポート"
"161","UT-OGL-161","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","ImportImage","異常系","HandleDescriptorがnullまたは空の場合ArgumentExceptionがスローされること","なし","handle.HandleDescriptor=null/空","ArgumentExceptionがスローされる","高","無効ハンドル"
"162","UT-OGL-162","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","ImportImage","異常系","未サポートのハンドルタイプでArgumentExceptionがスローされること","サポート外のタイプ","handle.HandleDescriptor=""unsupported""","ArgumentExceptionがスローされる","高","未サポートタイプ"
"163","UT-OGL-163","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","ImportImage","異常系","glImportMemoryFdEXTエラー時OpenGlExceptionがスローされること","GLエラー発生","handle=有効, properties","OpenGlExceptionがスローされる","高","GLエラー"
"164","UT-OGL-164","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","ImportSemaphore","正常系","Vulkanファイルディスクリプタからセマフォがインポートされること","VulkanOpaquePosixFileDescriptorサポートあり","handle=有効なfd","IGlExternalSemaphoreが返却される","高","セマフォインポート"
"165","UT-OGL-165","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","ImportSemaphore","異常系","HandleDescriptorがnullまたは空の場合ArgumentExceptionがスローされること","なし","handle.HandleDescriptor=null/空","ArgumentExceptionがスローされる","高","無効ハンドル"
"166","UT-OGL-166","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","ImportSemaphore","異常系","未サポートのハンドルタイプでArgumentExceptionがスローされること","サポート外のタイプ","handle.HandleDescriptor=""unsupported""","ArgumentExceptionがスローされる","高","未サポートタイプ"
"167","UT-OGL-167","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","GetSynchronizationCapabilities","正常系","Vulkan fd に対してSemaphoresが返却されること","なし","imageHandleType=VulkanOpaquePosixFileDescriptor","Semaphoresが返却される","中","同期機能取得"
"168","UT-OGL-168","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","GetSynchronizationCapabilities","正常系","未知のタイプに対してdefaultが返却されること","なし","imageHandleType=""unknown""","defaultが返却される","中","未知タイプ"
"169","UT-OGL-169","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalSemaphore","WaitSemaphore","正常系","セマフォ待機が実行されること","有効なセマフォ","texture=IGlExternalImageTexture","WaitSemaphoreEXTが呼び出される","高","待機操作"
"170","UT-OGL-170","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalSemaphore","SignalSemaphore","正常系","セマフォシグナルが実行されること","有効なセマフォ","texture=IGlExternalImageTexture","SignalSemaphoreEXTが呼び出される","高","シグナル操作"
"171","UT-OGL-171","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalSemaphore","WaitTimelineSemaphore","異常系","NotSupportedExceptionがスローされること","なし","texture, value","NotSupportedExceptionがスローされる","中","タイムライン未サポート"
"172","UT-OGL-172","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalSemaphore","SignalTimelineSemaphore","異常系","NotSupportedExceptionがスローされること","なし","texture, value","NotSupportedExceptionがスローされる","中","タイムライン未サポート"
"173","UT-OGL-173","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalSemaphore","Dispose","正常系","セマフォが削除されること","有効なセマフォ","なし","DeleteSemaphoresEXTが呼び出される","高","リソース解放"
"174","UT-OGL-174","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalSemaphore","Dispose","正常系","コンテキストロスト時は何もしないこと","_context.IsLost=true","なし","エラーなく完了","中","ロスト時処理"
"175","UT-OGL-175","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalImageTexture","AcquireKeyedMutex","異常系","NotSupportedExceptionがスローされること","なし","key=0","NotSupportedExceptionがスローされる","中","未サポート操作"
"176","UT-OGL-176","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalImageTexture","ReleaseKeyedMutex","異常系","NotSupportedExceptionがスローされること","なし","key=0","NotSupportedExceptionがスローされる","中","未サポート操作"
"177","UT-OGL-177","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalImageTexture","Dispose","正常系","テクスチャとメモリオブジェクトが削除されること","有効なテクスチャ","なし","DeleteTexture, DeleteMemoryObjectsEXTが呼び出される","高","リソース解放"
"178","UT-OGL-178","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalImageTexture","Dispose","正常系","コンテキストロスト時は何もしないこと","_context.IsLost=true","なし","エラーなく完了","中","ロスト時処理"
"179","UT-OGL-179","src/Avalonia.OpenGL/Egl/EglDisplayOptions.cs","EglDisplayOptions","プロパティ","正常系","すべてのプロパティが設定・取得できること","なし","各プロパティに値を設定","設定した値が取得できる","低","オプション設定"
"180","UT-OGL-180","src/Avalonia.OpenGL/Egl/EglDisplayOptions.cs","EglContextOptions","プロパティ","正常系","すべてのプロパティが設定・取得できること","なし","各プロパティに値を設定","設定した値が取得できる","低","オプション設定"
"181","UT-OGL-181","src/Avalonia.OpenGL/Egl/EglDisplayOptions.cs","EglDisplayCreationOptions","プロパティ","正常系","すべてのプロパティが設定・取得できること","なし","PlatformType, PlatformDisplay, PlatformDisplayAttrsに値を設定","設定した値が取得できる","低","オプション設定"
"182","UT-OGL-182","src/Avalonia.OpenGL/Surfaces/IGlPlatformSurfaceRenderTarget.cs","IGlPlatformSurfaceRenderTarget","BeginDraw","正常系","描画セッションが開始されること（インターフェース契約）","有効な実装","expectedPixelSize=PixelSize(800,600)","IGlPlatformSurfaceRenderingSessionが返却される","高","インターフェース契約"
"183","UT-OGL-183","src/Avalonia.OpenGL/Surfaces/IGlPlatformSurfaceRenderTarget.cs","IGlPlatformSurfaceRenderTarget","IsCorrupted","正常系","破損状態が取得できること（インターフェース契約）","有効な実装","なし","bool値が返却される","中","インターフェース契約"
"184","UT-OGL-184","src/Avalonia.OpenGL/Surfaces/IGlPlatformSurfaceRenderingSession.cs","IGlPlatformSurfaceRenderingSession","プロパティ","正常系","Context, Size, Scaling, IsYFlippedが取得できること（インターフェース契約）","有効な実装","なし","各プロパティ値が返却される","中","インターフェース契約"
"185","UT-OGL-185","src/Avalonia.OpenGL/GlErrors.cs","GlErrors","列挙値","正常系","GL_NO_ERRORがGlConstsと一致すること","なし","なし","GL_NO_ERROR値が一致","低","定数確認"
"186","UT-OGL-186","src/Avalonia.OpenGL/GlErrors.cs","GlErrors","列挙値","正常系","すべてのエラーコードがGlConstsの対応する値と一致すること","なし","なし","すべての値が一致","低","定数確認"
"187","UT-OGL-187","src/Avalonia.OpenGL/Egl/EglErrors.cs","EglErrors","列挙値","正常系","EGL_SUCCESSがEglConstsと一致すること","なし","なし","EGL_SUCCESS値が一致","低","定数確認"
"188","UT-OGL-188","src/Avalonia.OpenGL/Egl/EglErrors.cs","EglErrors","列挙値","正常系","すべてのエラーコードがEglConstsの対応する値と一致すること","なし","なし","すべての値が一致","低","定数確認"
"1","UT-RMP-001","src/Avalonia.Remote.Protocol/AvaloniaRemoteMessageGuidAttribute.cs","AvaloniaRemoteMessageGuidAttribute","コンストラクタ","正常系","有効なGUID文字列でインスタンスが生成されること","なし","guid=""9AEC9A2E-6315-4066-B4BA-E9A9EFD0F8CC""","Guidプロパティに正しいGuidが設定される","高","メッセージ型識別の基本機能"
"2","UT-RMP-002","src/Avalonia.Remote.Protocol/AvaloniaRemoteMessageGuidAttribute.cs","AvaloniaRemoteMessageGuidAttribute","コンストラクタ","異常系","無効なGUID文字列で例外がスローされること","なし","guid=""invalid-guid""","FormatExceptionがスローされる","高","不正な入力の検証"
"3","UT-RMP-003","src/Avalonia.Remote.Protocol/AvaloniaRemoteMessageGuidAttribute.cs","AvaloniaRemoteMessageGuidAttribute","コンストラクタ","異常系","空文字列で例外がスローされること","なし","guid=""""","FormatExceptionがスローされる","中","空文字列の検証"
"4","UT-RMP-004","src/Avalonia.Remote.Protocol/AvaloniaRemoteMessageGuidAttribute.cs","AvaloniaRemoteMessageGuidAttribute","コンストラクタ","異常系","nullで例外がスローされること","なし","guid=null","ArgumentNullExceptionがスローされる","中","null入力の検証"
"5","UT-RMP-005","src/Avalonia.Remote.Protocol/DefaultMessageTypeResolver.cs","DefaultMessageTypeResolver","コンストラクタ","正常系","アセンブリからメッセージ型が正しく登録されること","AvaloniaRemoteMessageGuidAttribute付きの型を含むアセンブリ","assemblies=[テストアセンブリ]","GetByGuidとGetGuidで型とGUIDの相互変換が可能","高","型リゾルバの基本初期化"
"6","UT-RMP-006","src/Avalonia.Remote.Protocol/DefaultMessageTypeResolver.cs","DefaultMessageTypeResolver","コンストラクタ","正常系","空のアセンブリ配列で初期化できること","なし","assemblies=[]","例外がスローされない","中","空配列での初期化"
"7","UT-RMP-007","src/Avalonia.Remote.Protocol/DefaultMessageTypeResolver.cs","DefaultMessageTypeResolver","コンストラクタ","正常系","nullアセンブリ配列で初期化できること","なし","assemblies=null","例外がスローされない（内部でデフォルトアセンブリが使用される）","中","null配列での初期化"
"8","UT-RMP-008","src/Avalonia.Remote.Protocol/DefaultMessageTypeResolver.cs","DefaultMessageTypeResolver","GetByGuid","正常系","登録済みGUIDで正しい型が返されること","型が登録済み","id=登録済みGUID","対応するType型が返される","高","GUID→型変換"
"9","UT-RMP-009","src/Avalonia.Remote.Protocol/DefaultMessageTypeResolver.cs","DefaultMessageTypeResolver","GetByGuid","異常系","未登録GUIDで例外がスローされること","型が未登録","id=未登録GUID","KeyNotFoundExceptionがスローされる","高","未登録GUIDの処理"
"10","UT-RMP-010","src/Avalonia.Remote.Protocol/DefaultMessageTypeResolver.cs","DefaultMessageTypeResolver","GetGuid","正常系","登録済み型で正しいGUIDが返されること","型が登録済み","type=登録済み型","対応するGuidが返される","高","型→GUID変換"
"11","UT-RMP-011","src/Avalonia.Remote.Protocol/DefaultMessageTypeResolver.cs","DefaultMessageTypeResolver","GetGuid","異常系","未登録型で例外がスローされること","型が未登録","type=未登録型","KeyNotFoundExceptionがスローされる","高","未登録型の処理"
"12","UT-RMP-012","src/Avalonia.Remote.Protocol/BsonStreamTransport.cs","BsonStreamTransportConnection","コンストラクタ","正常系","有効なパラメータでインスタンスが生成されること","なし","resolver, inputStream, outputStream, disposeCallback","インスタンスが正常に生成される","高","接続オブジェクトの生成"
"13","UT-RMP-013","src/Avalonia.Remote.Protocol/BsonStreamTransport.cs","BsonStreamTransportConnection","Dispose","正常系","Disposeでキャンセルとコールバックが呼ばれること","インスタンス生成済み","なし","CancellationTokenSourceがキャンセルされ、disposeCallbackが呼ばれる","高","リソース解放"
"14","UT-RMP-014","src/Avalonia.Remote.Protocol/BsonStreamTransport.cs","BsonStreamTransportConnection","Dispose","正常系","disposeCallbackがnullの場合でもDisposeが成功すること","disposeCallback=null","なし","例外がスローされない","中","nullコールバックの処理"
"15","UT-RMP-015","src/Avalonia.Remote.Protocol/BsonStreamTransport.cs","BsonStreamTransportConnection","StartReading","正常系","読み取りタスクが開始されること","インスタンス生成済み","なし","Readerタスクが開始される","高","読み取り開始"
"16","UT-RMP-016","src/Avalonia.Remote.Protocol/BsonStreamTransport.cs","BsonStreamTransportConnection","StartReading","異常系","2回呼び出すと例外がスローされること","StartReading既に呼び出し済み","なし","InvalidOperationExceptionがスローされる","高","重複呼び出し防止"
"17","UT-RMP-017","src/Avalonia.Remote.Protocol/BsonStreamTransport.cs","BsonStreamTransportConnection","Send","正常系","メッセージがシリアライズされて送信されること","接続確立済み、ライター正常","data=有効なメッセージオブジェクト","メッセージがBSON形式で出力ストリームに書き込まれる","高","メッセージ送信"
"18","UT-RMP-018","src/Avalonia.Remote.Protocol/BsonStreamTransport.cs","BsonStreamTransportConnection","Send","異常系","書き込み中に別のSendを呼ぶと例外がスローされること","Send実行中","data=任意のメッセージ","InvalidOperationExceptionがスローされる","高","同時書き込み防止"
"19","UT-RMP-019","src/Avalonia.Remote.Protocol/BsonStreamTransport.cs","BsonStreamTransportConnection","Send","異常系","ライターが壊れている場合は何もしないこと","_writerIsBroken=true","data=任意のメッセージ","メソッドが即座にリターンし、例外がスローされない","中","壊れたライターの処理"
"20","UT-RMP-020","src/Avalonia.Remote.Protocol/BsonStreamTransport.cs","BsonStreamTransportConnection","Send","異常系","書き込みエラー時にOnExceptionが発火すること","出力ストリームが例外をスロー","data=任意のメッセージ","OnExceptionイベントが発火し、_writerIsBrokenがtrueになる","高","エラーハンドリング"
"21","UT-RMP-021","src/Avalonia.Remote.Protocol/TcpTransportBase.cs","TcpTransportBase","コンストラクタ","正常系","リゾルバを設定してインスタンスが生成されること","なし","resolver=有効なIMessageTypeResolver","インスタンスが正常に生成される","高","トランスポート基底クラスの初期化"
"22","UT-RMP-022","src/Avalonia.Remote.Protocol/TcpTransportBase.cs","TcpTransportBase","Listen","正常系","サーバーが指定アドレス・ポートでリッスン開始すること","ネットワーク利用可能","address=IPAddress.Loopback, port=0, cb=コールバック","IDisposableが返され、サーバーがリッスン状態になる","高","サーバー開始"
"23","UT-RMP-023","src/Avalonia.Remote.Protocol/TcpTransportBase.cs","TcpTransportBase","Listen","正常系","接続受付時にコールバックが呼ばれること","サーバーリッスン中","クライアント接続","コールバックにIAvaloniaRemoteTransportConnectionが渡される","高","接続受付"
"24","UT-RMP-024","src/Avalonia.Remote.Protocol/TcpTransportBase.cs","TcpTransportBase","Listen","正常系","返却されたIDisposableをDisposeするとサーバーが停止すること","サーバーリッスン中","Dispose呼び出し","新規接続が受け付けられなくなる","高","サーバー停止"
"25","UT-RMP-025","src/Avalonia.Remote.Protocol/TcpTransportBase.cs","TcpTransportBase","Connect","正常系","指定アドレス・ポートに接続できること","サーバーがリッスン中","address=サーバーアドレス, port=サーバーポート","IAvaloniaRemoteTransportConnectionが返される","高","クライアント接続"
"26","UT-RMP-026","src/Avalonia.Remote.Protocol/TcpTransportBase.cs","TcpTransportBase","Connect","異常系","接続失敗時に例外がスローされること","サーバーが存在しない","address=存在しないアドレス, port=任意","SocketExceptionがスローされる","高","接続失敗"
"27","UT-RMP-027","src/Avalonia.Remote.Protocol/BsonTcpTransport.cs","BsonTcpTransport","コンストラクタ（パラメータなし）","正常系","デフォルトリゾルバでインスタンスが生成されること","なし","なし","DefaultMessageTypeResolverを使用してインスタンスが生成される","高","デフォルトコンストラクタ"
"28","UT-RMP-028","src/Avalonia.Remote.Protocol/BsonTcpTransport.cs","BsonTcpTransport","コンストラクタ（リゾルバ指定）","正常系","カスタムリゾルバでインスタンスが生成されること","なし","resolver=カスタムIMessageTypeResolver","指定したリゾルバを使用してインスタンスが生成される","高","カスタムリゾルバ指定"
"29","UT-RMP-029","src/Avalonia.Remote.Protocol/BsonTcpTransport.cs","BsonTcpTransport","CreateTransport","正常系","BsonStreamTransportConnectionがラップされて返されること","なし","resolver, stream, dispose","TransportConnectionWrapperでラップされたオブジェクトが返される","高","トランスポート生成"
"30","UT-RMP-030","src/Avalonia.Remote.Protocol/TransportConnectionWrapper.cs","TransportConnectionWrapper","コンストラクタ","正常系","内部接続のイベントがフックされること","なし","conn=有効なIAvaloniaRemoteTransportConnection","OnMessageとOnExceptionイベントがフックされる","高","ラッパー初期化"
"31","UT-RMP-031","src/Avalonia.Remote.Protocol/TransportConnectionWrapper.cs","TransportConnectionWrapper","Dispose","正常系","内部接続のDisposeが呼ばれること","インスタンス生成済み","なし","_conn.Dispose()が呼ばれる","高","リソース解放"
"32","UT-RMP-032","src/Avalonia.Remote.Protocol/TransportConnectionWrapper.cs","TransportConnectionWrapper","Send","正常系","メッセージがキューに追加されて送信されること","インスタンス生成済み","data=任意のメッセージ","メッセージがキューに追加され、ワーカーが処理する","高","メッセージ送信"
"33","UT-RMP-033","src/Avalonia.Remote.Protocol/TransportConnectionWrapper.cs","TransportConnectionWrapper","Send","正常系","複数メッセージが順序通り送信されること","インスタンス生成済み","data1, data2, data3","メッセージが追加順に送信される","高","送信順序保証"
"34","UT-RMP-034","src/Avalonia.Remote.Protocol/TransportConnectionWrapper.cs","TransportConnectionWrapper","Send","異常系","送信エラー時にタスクが例外で完了すること","内部接続がエラーをスロー","data=任意のメッセージ","返されたTaskが例外で完了する","高","送信エラー処理"
"35","UT-RMP-035","src/Avalonia.Remote.Protocol/TransportConnectionWrapper.cs","TransportConnectionWrapper","OnMessage","正常系","ハンドラ追加後にメッセージが配信されること","インスタンス生成済み","ハンドラ追加後、メッセージ受信","ハンドラが呼び出される","高","メッセージ受信"
"36","UT-RMP-036","src/Avalonia.Remote.Protocol/TransportConnectionWrapper.cs","TransportConnectionWrapper","OnMessage","正常系","ハンドラ追加前のメッセージがスタッシュされて再生されること","インスタンス生成済み","メッセージ受信後、ハンドラ追加","スタッシュされたメッセージがハンドラに配信される","高","メッセージスタッシュ"
"37","UT-RMP-037","src/Avalonia.Remote.Protocol/TransportConnectionWrapper.cs","TransportConnectionWrapper","Start","正常系","内部接続のStartが呼ばれること","インスタンス生成済み","なし","_conn.Start()が呼ばれる","中","接続開始"
"38","UT-RMP-038","src/Avalonia.Remote.Protocol/EventStash.cs","EventStash<T>","コンストラクタ","正常系","トランスポートと例外ハンドラで初期化されること","なし","transport, exceptionHandler","インスタンスが正常に生成される","中","イベントスタッシュ初期化"
"39","UT-RMP-039","src/Avalonia.Remote.Protocol/EventStash.cs","EventStash<T>","Add","正常系","最初のハンドラ追加時にスタッシュが再生されること","スタッシュにイベントあり","handler=有効なハンドラ","スタッシュされた全イベントがハンドラに配信される","高","スタッシュ再生"
"40","UT-RMP-040","src/Avalonia.Remote.Protocol/EventStash.cs","EventStash<T>","Add","正常系","2番目以降のハンドラ追加時は再生されないこと","既にハンドラ追加済み","handler=有効なハンドラ","スタッシュ再生は行われない","中","複数ハンドラ追加"
"41","UT-RMP-041","src/Avalonia.Remote.Protocol/EventStash.cs","EventStash<T>","Add","異常系","再生中に例外が発生した場合exceptionHandlerが呼ばれること","exceptionHandler設定済み、ハンドラが例外をスロー","handler=例外をスローするハンドラ","exceptionHandlerが例外付きで呼ばれる","高","例外ハンドリング"
"42","UT-RMP-042","src/Avalonia.Remote.Protocol/EventStash.cs","EventStash<T>","Remove","正常系","ハンドラが削除されること","ハンドラ追加済み","handler=追加済みハンドラ","以降のFireでハンドラが呼ばれない","中","ハンドラ削除"
"43","UT-RMP-043","src/Avalonia.Remote.Protocol/EventStash.cs","EventStash<T>","Fire","正常系","ハンドラがない場合イベントがスタッシュされること","ハンドラ未追加","transport, ev","イベントが_stashに追加される","高","イベントスタッシュ"
"44","UT-RMP-044","src/Avalonia.Remote.Protocol/EventStash.cs","EventStash<T>","Fire","正常系","ハンドラがある場合イベントが即座に配信されること","ハンドラ追加済み","transport, ev","ハンドラがイベント付きで呼ばれる","高","イベント配信"
"45","UT-RMP-045","src/Avalonia.Remote.Protocol/ViewportMessages.cs","MeasureViewportMessage","プロパティ","正常系","Width/Heightが正しく設定・取得できること","なし","Width=100.0, Height=200.0","プロパティが正しい値を返す","中","ビューポート測定メッセージ"
"46","UT-RMP-046","src/Avalonia.Remote.Protocol/ViewportMessages.cs","ClientViewportAllocatedMessage","プロパティ","正常系","Width/Height/DpiX/DpiYが正しく設定・取得できること","なし","Width=800.0, Height=600.0, DpiX=96.0, DpiY=96.0","プロパティが正しい値を返す","中","クライアントビューポート割り当てメッセージ"
"47","UT-RMP-047","src/Avalonia.Remote.Protocol/ViewportMessages.cs","FrameMessage","プロパティ","正常系","全プロパティが正しく設定・取得できること","なし","SequenceId, Format, Data, Width, Height, Stride, DpiX, DpiY","プロパティが正しい値を返す","中","フレームメッセージ"
"48","UT-RMP-048","src/Avalonia.Remote.Protocol/ViewportMessages.cs","FrameMessage","プロパティ","境界値","Dataがnullの場合も設定できること","なし","Data=null","Dataプロパティがnullを返す","低","null Dataの処理"
"49","UT-RMP-049","src/Avalonia.Remote.Protocol/ViewportMessages.cs","FrameMessage","プロパティ","境界値","Dataが空配列の場合も設定できること","なし","Data=new byte[0]","Dataプロパティが空配列を返す","低","空配列Dataの処理"
"50","UT-RMP-050","src/Avalonia.Remote.Protocol/ViewportMessages.cs","ClientSupportedPixelFormatsMessage","プロパティ","正常系","Formatsが正しく設定・取得できること","なし","Formats=[Rgb565, Rgba8888]","プロパティが正しい値を返す","中","ピクセルフォーマットメッセージ"
"51","UT-RMP-051","src/Avalonia.Remote.Protocol/ViewportMessages.cs","ClientSupportedPixelFormatsMessage","プロパティ","境界値","Formatsがnullの場合も設定できること","なし","Formats=null","Formatsプロパティがnullを返す","低","null Formatsの処理"
"52","UT-RMP-052","src/Avalonia.Remote.Protocol/ViewportMessages.cs","ClientSupportedPixelFormatsMessage","プロパティ","境界値","Formatsが空配列の場合も設定できること","なし","Formats=new PixelFormat[0]","Formatsプロパティが空配列を返す","低","空配列Formatsの処理"
"53","UT-RMP-053","src/Avalonia.Remote.Protocol/InputMessages.cs","PointerMovedEventMessage","プロパティ","正常系","X/Y/Modifiersが正しく設定・取得できること","なし","X=100.0, Y=200.0, Modifiers=[Control]","プロパティが正しい値を返す","中","ポインタ移動メッセージ"
"54","UT-RMP-054","src/Avalonia.Remote.Protocol/InputMessages.cs","PointerPressedEventMessage","プロパティ","正常系","Button/X/Y/Modifiersが正しく設定・取得できること","なし","Button=Left, X=100.0, Y=200.0","プロパティが正しい値を返す","中","ポインタ押下メッセージ"
"55","UT-RMP-055","src/Avalonia.Remote.Protocol/InputMessages.cs","ScrollEventMessage","プロパティ","正常系","DeltaX/DeltaY/X/Y/Modifiersが正しく設定・取得できること","なし","DeltaX=10.0, DeltaY=-20.0, X=100.0, Y=200.0","プロパティが正しい値を返す","中","スクロールメッセージ"
"56","UT-RMP-056","src/Avalonia.Remote.Protocol/InputMessages.cs","KeyEventMessage","プロパティ","正常系","IsDown/Key/PhysicalKey/KeySymbol/Modifiersが正しく設定・取得できること","なし","IsDown=true, Key=A, KeySymbol=""a""","プロパティが正しい値を返す","中","キーイベントメッセージ"
"57","UT-RMP-057","src/Avalonia.Remote.Protocol/InputMessages.cs","TextInputEventMessage","プロパティ","正常系","Text/Modifiersが正しく設定・取得できること","なし","Text=""Hello"", Modifiers=[]","プロパティが正しい値を返す","中","テキスト入力メッセージ"
"58","UT-RMP-058","src/Avalonia.Remote.Protocol/InputMessages.cs","TextInputEventMessage","プロパティ","正常系","Textのデフォルト値がstring.Emptyであること","なし","新規インスタンス","Textがstring.Emptyを返す","中","デフォルト値確認"
"59","UT-RMP-059","src/Avalonia.Remote.Protocol/DesignMessages.cs","UpdateXamlMessage","プロパティ","正常系","Xaml/AssemblyPath/XamlFileProjectPathが正しく設定・取得できること","なし","Xaml=""<Button/>"", AssemblyPath=""C:\\app.dll""","プロパティが正しい値を返す","中","XAML更新メッセージ"
"60","UT-RMP-060","src/Avalonia.Remote.Protocol/DesignMessages.cs","UpdateXamlResultMessage","プロパティ","正常系","Error/Handle/Exceptionが正しく設定・取得できること","なし","Error=""Parse error"", Handle=""abc123""","プロパティが正しい値を返す","中","XAML更新結果メッセージ"
"61","UT-RMP-061","src/Avalonia.Remote.Protocol/DesignMessages.cs","ExceptionDetails","コンストラクタ（デフォルト）","正常系","パラメータなしで初期化できること","なし","なし","インスタンスが生成され、プロパティがnull/デフォルト","中","例外詳細デフォルト初期化"
"62","UT-RMP-062","src/Avalonia.Remote.Protocol/DesignMessages.cs","ExceptionDetails","コンストラクタ（Exception）","正常系","Exceptionから情報が抽出されること","なし","e=new Exception(""Test error"")","ExceptionType=""Exception"", Message=""Test error""","高","例外詳細の抽出"
"63","UT-RMP-063","src/Avalonia.Remote.Protocol/DesignMessages.cs","ExceptionDetails","コンストラクタ（Exception）","正常系","TargetInvocationExceptionの場合InnerExceptionが使用されること","なし","e=new TargetInvocationException(new Exception(""Inner""))","ExceptionType=""Exception"", Message=""Inner""","高","TargetInvocationExceptionの処理"
"64","UT-RMP-064","src/Avalonia.Remote.Protocol/DesignMessages.cs","ExceptionDetails","コンストラクタ（Exception）","正常系","XmlExceptionの場合行番号と位置が設定されること","なし","e=new XmlException(""msg"", null, 10, 5)","LineNumber=10, LinePosition=5","高","XmlException情報の抽出"
"65","UT-RMP-065","src/Avalonia.Remote.Protocol/DesignMessages.cs","StartDesignerSessionMessage","プロパティ","正常系","SessionIdが正しく設定・取得できること","なし","SessionId=""session-123""","プロパティが正しい値を返す","中","デザイナーセッション開始メッセージ"
"66","UT-RMP-066","src/Avalonia.Remote.Protocol/TransportMessages.cs","HtmlTransportStartedMessage","プロパティ","正常系","Uriが正しく設定・取得できること","なし","Uri=""http://localhost:5000""","プロパティが正しい値を返す","中","HTMLトランスポート開始メッセージ"
"67","UT-RMP-067","src/Avalonia.Remote.Protocol/ViewportMessages.cs","PixelFormat","列挙値","正常系","Rgb565の値が正しいこと","なし","PixelFormat.Rgb565","列挙値が0","低","ピクセルフォーマット列挙値確認"
"68","UT-RMP-068","src/Avalonia.Remote.Protocol/ViewportMessages.cs","PixelFormat","列挙値","正常系","MaxValueがBgra8888と等しいこと","なし","PixelFormat.MaxValue","PixelFormat.Bgra8888と等しい","低","MaxValue確認"
"69","UT-RMP-069","src/Avalonia.Remote.Protocol/InputMessages.cs","InputModifiers","列挙値","正常系","フラグ属性が正しく機能すること","なし","InputModifiers.Alt | InputModifiers.Control","組み合わせたフラグ値","中","入力修飾子フラグ"
"70","UT-RMP-070","src/Avalonia.Remote.Protocol/InputMessages.cs","MouseButton","列挙値","正常系","None/Left/Right/Middleの値が正しいこと","なし","各MouseButton値","正しい列挙値","低","マウスボタン列挙値確認"
"1","UT-SKA-001","src/Skia/Avalonia.Skia/GeometryImpl.cs","GeometryImpl","FillContains","正常系","点がパス内に存在する場合にtrueを返すこと","FillPathが有効なパスであること","point=Point(50, 50) (パス内の点)","trueが返却される","高","ジオメトリ内判定の基本機能"
"2","UT-SKA-002","src/Skia/Avalonia.Skia/GeometryImpl.cs","GeometryImpl","FillContains","正常系","点がパス外に存在する場合にfalseを返すこと","FillPathが有効なパスであること","point=Point(1000, 1000) (パス外の点)","falseが返却される","高","ジオメトリ外判定"
"3","UT-SKA-003","src/Skia/Avalonia.Skia/GeometryImpl.cs","GeometryImpl","FillContains","異常系","FillPathがnullの場合にfalseを返すこと","FillPathがnull","point=Point(0, 0)","falseが返却される","高","null安全性の確認"
"4","UT-SKA-004","src/Skia/Avalonia.Skia/GeometryImpl.cs","GeometryImpl","StrokeContains","正常系","ペン指定でストローク上の点が検出されること","StrokePathが有効かつpenが設定されていること","pen=Pen(thickness=5), point=(ストローク上の点)","trueが返却される","高","ストローク判定の基本機能"
"5","UT-SKA-005","src/Skia/Avalonia.Skia/GeometryImpl.cs","GeometryImpl","StrokeContains","異常系","penがnullの場合の処理","StrokePathが有効","pen=null, point=Point(50, 50)","falseが返却される","中","null安全性"
"6","UT-SKA-006","src/Skia/Avalonia.Skia/GeometryImpl.cs","GeometryImpl","ContourLength","正常系","パスの長さが正しく計算されること","StrokePathが有効なパスであること","なし","パスの長さが正の値で返却される","中","パス長計算"
"7","UT-SKA-007","src/Skia/Avalonia.Skia/GeometryImpl.cs","GeometryImpl","ContourLength","異常系","StrokePathがnullの場合に0を返すこと","StrokePathがnull","なし","0が返却される","中","null安全性"
"8","UT-SKA-008","src/Skia/Avalonia.Skia/GeometryImpl.cs","GeometryImpl","Intersect","正常系","2つのジオメトリの交差部分が計算されること","2つの有効なGeometryImpl","geometry=有効なGeometryImpl","CombinedGeometryImplが返却される","中","ジオメトリ演算"
"9","UT-SKA-009","src/Skia/Avalonia.Skia/GeometryImpl.cs","GeometryImpl","Intersect","異常系","異なる型のジオメトリの場合nullを返すこと","geometryがGeometryImplでない","geometry=非GeometryImpl型","nullが返却される","中","型チェック"
"10","UT-SKA-010","src/Skia/Avalonia.Skia/GeometryImpl.cs","GeometryImpl","GetRenderBounds","正常系","レンダリング境界が正しく計算されること","StrokePathが有効","pen=Pen(thickness=2)","正しいRect境界が返却される","高","描画領域計算"
"11","UT-SKA-011","src/Skia/Avalonia.Skia/GeometryImpl.cs","GeometryImpl","GetWidenedGeometry","正常系","ペンでワイド化されたジオメトリが返却されること","StrokePathが有効","pen=Pen(thickness=5)","StreamGeometryImplが返却される","中","ジオメトリ拡張"
"12","UT-SKA-012","src/Skia/Avalonia.Skia/GeometryImpl.cs","GeometryImpl","WithTransform","正常系","変換されたジオメトリが返却されること","有効なGeometryImpl","transform=Matrix.CreateScale(2, 2)","TransformedGeometryImplが返却される","中","変換機能"
"13","UT-SKA-013","src/Skia/Avalonia.Skia/GeometryImpl.cs","GeometryImpl","TryGetPointAtDistance","正常系","指定距離の点が取得できること","StrokePathが有効","distance=10.0","trueが返却され、pointに座標が設定される","中","パス上の点取得"
"14","UT-SKA-014","src/Skia/Avalonia.Skia/GeometryImpl.cs","GeometryImpl","TryGetPointAtDistance","異常系","StrokePathがnullの場合falseを返すこと","StrokePathがnull","distance=10.0","falseが返却される","中","null安全性"
"15","UT-SKA-015","src/Skia/Avalonia.Skia/GeometryImpl.cs","GeometryImpl","TryGetPointAndTangentAtDistance","正常系","指定距離の点と接線が取得できること","StrokePathが有効","distance=10.0","trueが返却され、point/tangentに値が設定される","中","接線計算"
"16","UT-SKA-016","src/Skia/Avalonia.Skia/GeometryImpl.cs","GeometryImpl","TryGetSegment","正常系","パスの一部セグメントが取得できること","StrokePathが有効","startDistance=0, stopDistance=10","trueが返却され、segmentGeometryが設定される","中","セグメント抽出"
"17","UT-SKA-017","src/Skia/Avalonia.Skia/GeometryImpl.cs","GeometryImpl","TryGetSegment","異常系","StrokePathがnullの場合falseを返すこと","StrokePathがnull","startDistance=0, stopDistance=10","falseが返却される","中","null安全性"
"18","UT-SKA-018","src/Skia/Avalonia.Skia/GlyphRunImpl.cs","GlyphRunImpl","コンストラクタ","正常系","有効なパラメータでインスタンスが生成されること","有効なGlyphTypeface","glyphTypeface=有効, fontRenderingEmSize=14, glyphInfos=有効リスト","インスタンスが正常に生成される","高","GlyphRun初期化"
"19","UT-SKA-019","src/Skia/Avalonia.Skia/GlyphRunImpl.cs","GlyphRunImpl","コンストラクタ","異常系","glyphTypefaceがnullの場合例外がスローされること","なし","glyphTypeface=null","ArgumentNullExceptionがスローされる","高","null引数検証"
"20","UT-SKA-020","src/Skia/Avalonia.Skia/GlyphRunImpl.cs","GlyphRunImpl","コンストラクタ","異常系","glyphInfosがnullの場合例外がスローされること","なし","glyphInfos=null","ArgumentNullExceptionがスローされる","高","null引数検証"
"21","UT-SKA-021","src/Skia/Avalonia.Skia/GlyphRunImpl.cs","GlyphRunImpl","GetTextBlob","正常系","TextBlobが正しく生成されること","有効なGlyphRunImpl","textOptions=default, renderOptions=default","SKTextBlobが返却される","高","テキスト描画用Blob生成"
"22","UT-SKA-022","src/Skia/Avalonia.Skia/GlyphRunImpl.cs","GlyphRunImpl","GetTextBlob","正常系","キャッシュからTextBlobが取得されること","同じtextOptionsで2回呼び出し","textOptions=同一値で2回呼び出し","同一のSKTextBlobインスタンスが返却される","中","キャッシュ動作確認"
"23","UT-SKA-023","src/Skia/Avalonia.Skia/GlyphRunImpl.cs","GlyphRunImpl","GetTextBlob","正常系","Alias描画モードでTextBlobが生成されること","EdgeMode=Aliased","textOptions.TextRenderingMode=Unspecified, renderOptions.EdgeMode=Aliased","Alias設定のTextBlobが返却される","中","レンダリングモード"
"24","UT-SKA-024","src/Skia/Avalonia.Skia/GlyphRunImpl.cs","GlyphRunImpl","Dispose","正常系","リソースが正しく解放されること","有効なGlyphRunImpl","なし","キャッシュがクリアされる","中","リソース解放"
"25","UT-SKA-025","src/Skia/Avalonia.Skia/GlyphRunImpl.cs","GlyphRunImpl","GetIntersections","正常系","テキストとの交差が取得できること","有効なGlyphRunImpl","lowerLimit=0, upperLimit=10","交差点のリストが返却される","中","交差計算"
"26","UT-SKA-026","src/Skia/Avalonia.Skia/ImmutableBitmap.cs","ImmutableBitmap","コンストラクタ(Stream)","正常系","ストリームからビットマップが読み込まれること","有効な画像ストリーム","stream=PNG画像ストリーム","インスタンスが生成され、PixelSizeが設定される","高","画像読み込み"
"27","UT-SKA-027","src/Skia/Avalonia.Skia/ImmutableBitmap.cs","ImmutableBitmap","コンストラクタ(Stream)","異常系","無効なストリームで例外がスローされること","不正なデータのストリーム","stream=不正なデータ","ArgumentExceptionがスローされる","高","エラー処理"
"28","UT-SKA-028","src/Skia/Avalonia.Skia/ImmutableBitmap.cs","ImmutableBitmap","コンストラクタ(SKImage)","正常系","SKImageからビットマップが生成されること","有効なSKImage","image=有効なSKImage","インスタンスが生成される","中","SKImage変換"
"29","UT-SKA-029","src/Skia/Avalonia.Skia/ImmutableBitmap.cs","ImmutableBitmap","コンストラクタ(リサイズ)","正常系","リサイズされたビットマップが生成されること","元のImmutableBitmap","src=元画像, destinationSize=PixelSize(100,100)","指定サイズのインスタンスが生成される","中","画像リサイズ"
"30","UT-SKA-030","src/Skia/Avalonia.Skia/ImmutableBitmap.cs","ImmutableBitmap","コンストラクタ(デコードサイズ指定)","正常系","指定サイズでデコードされること","有効な画像ストリーム","stream=画像, decodeSize=256, horizontal=true","指定幅でデコードされたインスタンス","中","サイズ指定デコード"
"31","UT-SKA-031","src/Skia/Avalonia.Skia/ImmutableBitmap.cs","ImmutableBitmap","コンストラクタ(ピクセルデータ)","正常系","ピクセルデータからビットマップが生成されること","有効なピクセルデータ","size, dpi, stride, format, alphaFormat, data","インスタンスが生成される","中","生データ変換"
"32","UT-SKA-032","src/Skia/Avalonia.Skia/ImmutableBitmap.cs","ImmutableBitmap","Save(fileName)","正常系","ファイルに画像が保存されること","有効なImmutableBitmap","fileName=""test.png""","ファイルが作成される","中","ファイル保存"
"33","UT-SKA-033","src/Skia/Avalonia.Skia/ImmutableBitmap.cs","ImmutableBitmap","Save(stream)","正常系","ストリームに画像が保存されること","有効なImmutableBitmap","stream=MemoryStream, quality=80","ストリームにデータが書き込まれる","中","ストリーム保存"
"34","UT-SKA-034","src/Skia/Avalonia.Skia/ImmutableBitmap.cs","ImmutableBitmap","Draw","正常系","DrawingContextに描画されること","有効なImmutableBitmap, DrawingContextImpl","context, sourceRect, destRect, samplingOptions, paint","Canvasに描画される","高","画像描画"
"35","UT-SKA-035","src/Skia/Avalonia.Skia/ImmutableBitmap.cs","ImmutableBitmap","Lock","正常系","LockedFramebufferが取得できること","_bitmapが有効","なし","ILockedFramebufferが返却される","中","フレームバッファロック"
"36","UT-SKA-036","src/Skia/Avalonia.Skia/ImmutableBitmap.cs","ImmutableBitmap","Lock","異常系","_bitmapがnullの場合例外がスローされること","SKImageのみで生成されたImmutableBitmap","なし","NotSupportedExceptionがスローされる","中","例外処理"
"37","UT-SKA-037","src/Skia/Avalonia.Skia/ImmutableBitmap.cs","ImmutableBitmap","Dispose","正常系","リソースが正しく解放されること","有効なImmutableBitmap","なし","_image, _bitmapが解放される","中","リソース解放"
"38","UT-SKA-038","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","コンストラクタ","正常系","有効なCreateInfoでインスタンスが生成されること","有効なCreateInfo(Canvas設定)","createInfo=有効","インスタンスが生成される","高","描画コンテキスト初期化"
"39","UT-SKA-039","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","コンストラクタ","異常系","Canvasがnullの場合例外がスローされること","createInfo.Canvas=null, Surface=null","createInfo=Canvas未設定","ArgumentExceptionがスローされる","高","引数検証"
"40","UT-SKA-040","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","Clear","正常系","指定色でキャンバスがクリアされること","有効なDrawingContextImpl","color=Colors.Red","Canvasが赤でクリアされる","高","キャンバスクリア"
"41","UT-SKA-041","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","Clear","異常系","リース中に呼び出すと例外がスローされること","_leased=true","color=Colors.Red","InvalidOperationExceptionがスローされる","中","リース状態チェック"
"42","UT-SKA-042","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawBitmap","正常系","ビットマップが描画されること","有効なIBitmapImpl","source, opacity=1.0, sourceRect, destRect","ビットマップが描画される","高","ビットマップ描画"
"43","UT-SKA-043","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawBitmap","正常系","不透明度が適用されること","有効なIBitmapImpl","opacity=0.5","50%の不透明度で描画される","中","不透明度適用"
"44","UT-SKA-044","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawLine","正常系","線が描画されること","有効なDrawingContextImpl","pen=SolidColorPen, p1=Point(0,0), p2=Point(100,100)","線が描画される","高","線描画"
"45","UT-SKA-045","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawLine","境界値","penがnullの場合何も描画されないこと","有効なDrawingContextImpl","pen=null","描画されない","中","null処理"
"46","UT-SKA-046","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawGeometry","正常系","ジオメトリが描画されること","有効なGeometryImpl","brush=SolidColorBrush, pen=Pen, geometry=RectangleGeometry","ジオメトリが描画される","高","ジオメトリ描画"
"47","UT-SKA-047","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawGeometry","正常系","ブラシのみで塗りつぶしが描画されること","有効なGeometryImpl","brush=SolidColorBrush, pen=null","塗りつぶしのみ描画される","中","塗りつぶし描画"
"48","UT-SKA-048","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawGeometry","正常系","ペンのみでストロークが描画されること","有効なGeometryImpl","brush=null, pen=Pen","ストロークのみ描画される","中","ストローク描画"
"49","UT-SKA-049","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawRectangle(brush/pen)","正常系","矩形が描画されること","有効なDrawingContextImpl","brush=SolidColorBrush, pen=Pen, rect=RoundedRect","矩形が描画される","高","矩形描画"
"50","UT-SKA-050","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawRectangle(brush/pen)","境界値","高さまたは幅が0以下の場合何も描画されないこと","有効なDrawingContextImpl","rect.Height=0","描画されない","中","境界値チェック"
"51","UT-SKA-051","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawRectangle(brush/pen)","正常系","角丸矩形が描画されること","有効なDrawingContextImpl","rect=IsRounded=true","角丸矩形が描画される","中","角丸描画"
"52","UT-SKA-052","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawRectangle(brush/pen)","正常系","BoxShadowが描画されること","有効なDrawingContextImpl","boxShadows=有効なBoxShadows","影付き矩形が描画される","中","影描画"
"53","UT-SKA-053","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawRectangle(material)","正常系","アクリル素材で矩形が描画されること","有効なDrawingContextImpl","material=ExperimentalAcrylicMaterial","アクリル効果が適用される","中","アクリル効果"
"54","UT-SKA-054","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawEllipse","正常系","楕円が描画されること","有効なDrawingContextImpl","brush, pen, rect=Rect(0,0,100,50)","楕円が描画される","高","楕円描画"
"55","UT-SKA-055","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawEllipse","境界値","高さまたは幅が0以下の場合何も描画されないこと","有効なDrawingContextImpl","rect.Width=0","描画されない","中","境界値チェック"
"56","UT-SKA-056","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawGlyphRun","正常系","グリフが描画されること","有効なGlyphRunImpl","foreground=SolidColorBrush, glyphRun=有効","テキストが描画される","高","テキスト描画"
"57","UT-SKA-057","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawGlyphRun","境界値","foregroundがnullの場合何も描画されないこと","有効なGlyphRunImpl","foreground=null","描画されない","中","null処理"
"58","UT-SKA-058","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawRegion","正常系","リージョンが描画されること","有効なSkiaRegionImpl","brush, pen, region=有効","リージョンが描画される","中","リージョン描画"
"59","UT-SKA-059","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","DrawRegion","境界値","空のリージョンの場合何も描画されないこと","region.IsEmpty=true","空のregion","描画されない","中","空リージョン処理"
"60","UT-SKA-060","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","CreateLayer","正常系","レイヤーが生成されること","有効なDrawingContextImpl","size=PixelSize(100,100)","IDrawingContextLayerImplが返却される","中","レイヤー生成"
"61","UT-SKA-061","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","PushClip(Rect)","正常系","矩形クリップが設定されること","有効なDrawingContextImpl","clip=Rect(10,10,80,80)","クリップ領域が設定される","高","クリップ設定"
"62","UT-SKA-062","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","PushClip(RoundedRect)","正常系","角丸矩形クリップが設定されること","有効なDrawingContextImpl","clip=RoundedRect","角丸クリップ領域が設定される","中","角丸クリップ"
"63","UT-SKA-063","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","PushClip(region)","正常系","リージョンクリップが設定されること","有効なDrawingContextImpl","region=SkiaRegionImpl","リージョンクリップが設定される","中","リージョンクリップ"
"64","UT-SKA-064","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","PopClip","正常系","クリップが解除されること","PushClip後の状態","なし","クリップが解除される","高","クリップ解除"
"65","UT-SKA-065","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","PushLayer","正常系","レイヤーがプッシュされること","有効なDrawingContextImpl","bounds=Rect(0,0,100,100)","レイヤーがプッシュされる","中","レイヤープッシュ"
"66","UT-SKA-066","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","PopLayer","正常系","レイヤーがポップされること","PushLayer後の状態","なし","レイヤーがポップされる","中","レイヤーポップ"
"67","UT-SKA-067","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","PushOpacity","正常系","不透明度がプッシュされること","有効なDrawingContextImpl","opacity=0.5, bounds=null","_currentOpacityが0.5倍される","高","不透明度プッシュ"
"68","UT-SKA-068","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","PushOpacity","正常系","SaveLayerモードで不透明度が適用されること","_useOpacitySaveLayer=true","opacity=0.5, bounds=Rect","レイヤーで不透明度が適用される","中","レイヤー不透明度"
"69","UT-SKA-069","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","PopOpacity","正常系","不透明度がポップされること","PushOpacity後の状態","なし","_currentOpacityが復元される","高","不透明度ポップ"
"70","UT-SKA-070","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","PushRenderOptions","正常系","RenderOptionsがプッシュされること","有効なDrawingContextImpl","renderOptions=新しいオプション","RenderOptionsがマージされる","中","オプションプッシュ"
"71","UT-SKA-071","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","PopRenderOptions","正常系","RenderOptionsがポップされること","PushRenderOptions後の状態","なし","RenderOptionsが復元される","中","オプションポップ"
"72","UT-SKA-072","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","PushTextOptions","正常系","TextOptionsがプッシュされること","有効なDrawingContextImpl","textOptions=新しいオプション","TextOptionsがマージされる","中","テキストオプションプッシュ"
"73","UT-SKA-073","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","PopTextOptions","正常系","TextOptionsがポップされること","PushTextOptions後の状態","なし","TextOptionsが復元される","中","テキストオプションポップ"
"74","UT-SKA-074","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","PushGeometryClip","正常系","ジオメトリクリップが設定されること","有効なGeometryImpl","clip=GeometryImpl","ジオメトリクリップが設定される","中","ジオメトリクリップ"
"75","UT-SKA-075","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","PopGeometryClip","正常系","ジオメトリクリップが解除されること","PushGeometryClip後の状態","なし","クリップが解除される","中","ジオメトリクリップ解除"
"76","UT-SKA-076","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","PushOpacityMask","正常系","不透明度マスクが設定されること","有効なDrawingContextImpl","mask=SolidColorBrush, bounds=Rect","マスクがプッシュされる","中","不透明度マスク"
"77","UT-SKA-077","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","PopOpacityMask","正常系","不透明度マスクが解除されること","PushOpacityMask後の状態","なし","マスクがポップされる","中","マスク解除"
"78","UT-SKA-078","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","Transform(get/set)","正常系","変換行列が取得・設定できること","有効なDrawingContextImpl","Matrix.CreateTranslation(10, 10)","変換が適用される","高","変換行列"
"79","UT-SKA-079","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","GetFeature","正常系","ISkiaSharpApiLeaseFeatureが取得できること","有効なDrawingContextImpl","t=typeof(ISkiaSharpApiLeaseFeature)","SkiaLeaseFeatureが返却される","中","機能取得"
"80","UT-SKA-080","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","GetFeature","正常系","未知の型でnullが返却されること","有効なDrawingContextImpl","t=typeof(object)","nullが返却される","中","未知機能"
"81","UT-SKA-081","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","Dispose","正常系","リソースが正しく解放されること","有効なDrawingContextImpl","なし","ペイントキャッシュが返却される","高","リソース解放"
"82","UT-SKA-082","src/Skia/Avalonia.Skia/DrawingContextImpl.cs","DrawingContextImpl","Dispose","異常系","リース中にDisposeすると例外がスローされること","_leased=true","なし","InvalidOperationExceptionがスローされる","中","リース状態チェック"
"83","UT-SKA-083","src/Skia/Avalonia.Skia/FontManagerImpl.cs","FontManagerImpl","GetDefaultFontFamilyName","正常系","デフォルトフォント名が取得できること","SKTypefaceが利用可能","なし","フォント名文字列が返却される","高","デフォルトフォント取得"
"84","UT-SKA-084","src/Skia/Avalonia.Skia/FontManagerImpl.cs","FontManagerImpl","GetInstalledFontFamilyNames","正常系","インストール済みフォント一覧が取得できること","システムにフォントがインストール済み","checkForUpdates=false","フォント名配列が返却される","高","フォント一覧取得"
"85","UT-SKA-085","src/Skia/Avalonia.Skia/FontManagerImpl.cs","FontManagerImpl","GetInstalledFontFamilyNames","正常系","更新チェック付きでフォント一覧が取得できること","なし","checkForUpdates=true","最新のフォント名配列が返却される","中","更新チェック"
"86","UT-SKA-086","src/Skia/Avalonia.Skia/FontManagerImpl.cs","FontManagerImpl","TryMatchCharacter","正常系","文字にマッチするフォントが取得できること","システムにフォントがインストール済み","codepoint=65('A'), fontStyle=Normal","trueが返却され、platformTypefaceが設定される","高","文字マッチング"
"87","UT-SKA-087","src/Skia/Avalonia.Skia/FontManagerImpl.cs","FontManagerImpl","TryMatchCharacter","異常系","マッチするフォントがない場合falseを返すこと","サポートされない文字","codepoint=未サポート文字","falseが返却される","中","マッチ失敗"
"88","UT-SKA-088","src/Skia/Avalonia.Skia/FontManagerImpl.cs","FontManagerImpl","TryCreateGlyphTypeface(familyName)","正常系","フォント名からGlyphTypefaceが作成されること","有効なフォント名","familyName=""Arial"", style=Normal, weight=Normal, stretch=Normal","trueが返却され、platformTypefaceが設定される","高","Typeface作成"
"89","UT-SKA-089","src/Skia/Avalonia.Skia/FontManagerImpl.cs","FontManagerImpl","TryCreateGlyphTypeface(familyName)","異常系","存在しないフォント名でfalseを返すこと","存在しないフォント名","familyName=""NonExistentFont""","falseが返却される","中","存在しないフォント"
"90","UT-SKA-090","src/Skia/Avalonia.Skia/FontManagerImpl.cs","FontManagerImpl","TryCreateGlyphTypeface(familyName)","正常系","BoldシミュレーションがFontSimulationsに設定されること","非ボールドフォントでweight>=600指定","weight=FontWeight.Bold","FontSimulations.Boldが設定される","中","シミュレーション"
"91","UT-SKA-091","src/Skia/Avalonia.Skia/FontManagerImpl.cs","FontManagerImpl","TryCreateGlyphTypeface(stream)","正常系","ストリームからGlyphTypefaceが作成されること","有効なフォントストリーム","stream=フォントファイルストリーム","trueが返却される","中","ストリームからTypeface"
"92","UT-SKA-092","src/Skia/Avalonia.Skia/FontManagerImpl.cs","FontManagerImpl","TryCreateGlyphTypeface(stream)","異常系","無効なストリームでfalseを返すこと","不正なフォントストリーム","stream=不正データ","falseが返却される","中","不正ストリーム"
"93","UT-SKA-093","src/Skia/Avalonia.Skia/FontManagerImpl.cs","FontManagerImpl","TryGetFamilyTypefaces","正常系","フォントファミリーのTypeface一覧が取得できること","有効なフォントファミリー名","familyName=""Arial""","trueが返却され、familyTypefacesが設定される","中","ファミリーTypeface取得"
"94","UT-SKA-094","src/Skia/Avalonia.Skia/FontManagerImpl.cs","FontManagerImpl","TryGetFamilyTypefaces","異常系","存在しないファミリーでfalseを返すこと","存在しないフォントファミリー名","familyName=""NonExistent""","falseが返却される","中","存在しないファミリー"
"95","UT-SKA-095","src/Skia/Avalonia.Skia/WriteableBitmapImpl.cs","WriteableBitmapImpl","コンストラクタ(Stream)","正常系","ストリームからビットマップが読み込まれること","有効な画像ストリーム","stream=PNG画像","インスタンスが生成される","高","ストリーム読み込み"
"96","UT-SKA-096","src/Skia/Avalonia.Skia/WriteableBitmapImpl.cs","WriteableBitmapImpl","コンストラクタ(Stream)","異常系","無効なストリームで例外がスローされること","不正なデータ","stream=不正データ","ArgumentExceptionがスローされる","高","エラー処理"
"97","UT-SKA-097","src/Skia/Avalonia.Skia/WriteableBitmapImpl.cs","WriteableBitmapImpl","コンストラクタ(PixelSize)","正常系","指定サイズで空のビットマップが生成されること","なし","size=PixelSize(100,100), dpi, format, alphaFormat","空のビットマップが生成される","高","空ビットマップ生成"
"98","UT-SKA-098","src/Skia/Avalonia.Skia/WriteableBitmapImpl.cs","WriteableBitmapImpl","Draw","正常系","DrawingContextに描画されること","有効なWriteableBitmapImpl","context, sourceRect, destRect, samplingOptions, paint","描画される","高","描画"
"99","UT-SKA-099","src/Skia/Avalonia.Skia/WriteableBitmapImpl.cs","WriteableBitmapImpl","Lock","正常系","BitmapFramebufferが取得できること","有効なWriteableBitmapImpl","なし","ILockedFramebufferが返却される","高","ロック取得"
"100","UT-SKA-100","src/Skia/Avalonia.Skia/WriteableBitmapImpl.cs","WriteableBitmapImpl","GetSnapshot","正常系","SKImageスナップショットが取得できること","有効なWriteableBitmapImpl","なし","SKImageが返却される","中","スナップショット"
"101","UT-SKA-101","src/Skia/Avalonia.Skia/WriteableBitmapImpl.cs","WriteableBitmapImpl","Save","正常系","ストリームに保存できること","有効なWriteableBitmapImpl","stream, quality=80","ストリームに書き込まれる","中","保存"
"102","UT-SKA-102","src/Skia/Avalonia.Skia/WriteableBitmapImpl.cs","WriteableBitmapImpl","Dispose","正常系","リソースが解放されること","有効なWriteableBitmapImpl","なし","_image, _bitmapが解放される","中","リソース解放"
"103","UT-SKA-103","src/Skia/Avalonia.Skia/WriteableBitmapImpl.cs","BitmapFramebuffer","Dispose","正常系","Disposeでピクセル変更が通知されること","ロック取得済み","なし","NotifyPixelsChangedが呼ばれ、Versionがインクリメント","中","ロック解放"
"104","UT-SKA-104","src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs","SurfaceRenderTarget","コンストラクタ","正常系","有効なCreateInfoでインスタンスが生成されること","有効なCreateInfo","createInfo","インスタンスが生成される","高","レンダーターゲット初期化"
"105","UT-SKA-105","src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs","SurfaceRenderTarget","コンストラクタ","異常系","サーフェス作成失敗時例外がスローされること","無効なCreateInfo","createInfo(サイズ0)","InvalidOperationExceptionがスローされる","高","エラー処理"
"106","UT-SKA-106","src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs","SurfaceRenderTarget","CreateDrawingContext","正常系","DrawingContextImplが取得できること","有効なSurfaceRenderTarget","useScaledDrawing=true","DrawingContextImplが返却される","高","コンテキスト生成"
"107","UT-SKA-107","src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs","SurfaceRenderTarget","Save(fileName)","正常系","ファイルに保存できること","有効なSurfaceRenderTarget","fileName=""test.png""","ファイルが作成される","中","ファイル保存"
"108","UT-SKA-108","src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs","SurfaceRenderTarget","Save(stream)","正常系","ストリームに保存できること","有効なSurfaceRenderTarget","stream=MemoryStream","ストリームに書き込まれる","中","ストリーム保存"
"109","UT-SKA-109","src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs","SurfaceRenderTarget","Blit","正常系","別のコンテキストにBlitできること","有効なSurfaceRenderTarget","contextImpl=DrawingContextImpl","サーフェスがコピーされる","中","Blit処理"
"110","UT-SKA-110","src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs","SurfaceRenderTarget","Draw","正常系","DrawingContextに描画できること","有効なSurfaceRenderTarget","context, sourceRect, destRect, samplingOptions, paint","描画される","中","描画"
"111","UT-SKA-111","src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs","SurfaceRenderTarget","SnapshotImage","正常系","SKImageスナップショットが取得できること","有効なSurfaceRenderTarget","なし","SKImageが返却される","中","スナップショット"
"112","UT-SKA-112","src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs","SurfaceRenderTarget","Dispose","正常系","リソースが解放されること","有効なSurfaceRenderTarget","なし","_canvas, _surfaceが解放される","中","リソース解放"
"113","UT-SKA-113","src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs","SurfaceRenderTarget","IsCorrupted","正常系","GPU喪失状態が取得できること","_gpu設定済み","なし","_gpu.IsLostの状態が返却される","中","破損状態"
"114","UT-SKA-114","src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs","SurfaceRenderTarget","CreateNonAffinedSnapshot","正常系","非アフィンスナップショットが取得できること","HasRenderContextAffinity=true","なし","ImmutableBitmapが返却される","中","スナップショット"
"115","UT-SKA-115","src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs","SurfaceRenderTarget","CreateNonAffinedSnapshot","異常系","アフィニティがない場合例外がスローされること","HasRenderContextAffinity=false","なし","InvalidOperationExceptionがスローされる","中","例外処理"
"116","UT-SKA-116","src/Skia/Avalonia.Skia/StreamGeometryImpl.cs","StreamGeometryImpl","コンストラクタ","正常系","空のジオメトリが生成されること","なし","なし","空のStreamGeometryImplが生成される","高","初期化"
"117","UT-SKA-117","src/Skia/Avalonia.Skia/StreamGeometryImpl.cs","StreamGeometryImpl","コンストラクタ(path)","正常系","既存パスからジオメトリが生成されること","有効なSKPath","stroke, fill, bounds","指定パスのStreamGeometryImplが生成される","中","パスから生成"
"118","UT-SKA-118","src/Skia/Avalonia.Skia/StreamGeometryImpl.cs","StreamGeometryImpl","Clone","正常系","ジオメトリがクローンされること","有効なStreamGeometryImpl","なし","クローンが返却される","中","クローン"
"119","UT-SKA-119","src/Skia/Avalonia.Skia/StreamGeometryImpl.cs","StreamGeometryImpl","Open","正常系","StreamContextが取得できること","有効なStreamGeometryImpl","なし","IStreamGeometryContextImplが返却される","高","コンテキスト取得"
"120","UT-SKA-120","src/Skia/Avalonia.Skia/StreamGeometryImpl.cs","StreamContext","BeginFigure","正常系","図形の開始点が設定されること","有効なStreamContext","startPoint=Point(10, 10), isFilled=true","MoveToが呼ばれる","高","図形開始"
"121","UT-SKA-121","src/Skia/Avalonia.Skia/StreamGeometryImpl.cs","StreamContext","BeginFigure","正常系","isFilled=falseで別パスが使用されること","有効なStreamContext","startPoint, isFilled=false","別のFillPathが作成される","中","非塗りつぶし"
"122","UT-SKA-122","src/Skia/Avalonia.Skia/StreamGeometryImpl.cs","StreamContext","EndFigure","正常系","図形が閉じられること","BeginFigure後","isClosed=true","Closeが呼ばれる","高","図形終了"
"123","UT-SKA-123","src/Skia/Avalonia.Skia/StreamGeometryImpl.cs","StreamContext","LineTo","正常系","線が追加されること","BeginFigure後","point=Point(100, 100), isStroked=true","LineToが呼ばれる","高","線追加"
"124","UT-SKA-124","src/Skia/Avalonia.Skia/StreamGeometryImpl.cs","StreamContext","LineTo","正常系","isStroked=falseで図形が分断されること","BeginFigure後","point, isStroked=false","MoveToが呼ばれる","中","非ストローク"
"125","UT-SKA-125","src/Skia/Avalonia.Skia/StreamGeometryImpl.cs","StreamContext","ArcTo","正常系","円弧が追加されること","BeginFigure後","point, size, rotationAngle, isLargeArc, sweepDirection","ArcToが呼ばれる","中","円弧追加"
"126","UT-SKA-126","src/Skia/Avalonia.Skia/StreamGeometryImpl.cs","StreamContext","CubicBezierTo","正常系","3次ベジェ曲線が追加されること","BeginFigure後","point1, point2, point3, isStroked=true","CubicToが呼ばれる","中","3次ベジェ"
"127","UT-SKA-127","src/Skia/Avalonia.Skia/StreamGeometryImpl.cs","StreamContext","QuadraticBezierTo","正常系","2次ベジェ曲線が追加されること","BeginFigure後","point1, point2, isStroked=true","QuadToが呼ばれる","中","2次ベジェ"
"128","UT-SKA-128","src/Skia/Avalonia.Skia/StreamGeometryImpl.cs","StreamContext","SetFillRule","正常系","FillRuleが設定されること","有効なStreamContext","fillRule=FillRule.EvenOdd","FillTypeがEvenOddに設定される","中","FillRule設定"
"129","UT-SKA-129","src/Skia/Avalonia.Skia/StreamGeometryImpl.cs","StreamContext","SetFillRule","正常系","Winding FillRuleが設定されること","有効なStreamContext","fillRule=FillRule.Nonzero","FillTypeがWindingに設定される","中","Winding設定"
"130","UT-SKA-130","src/Skia/Avalonia.Skia/StreamGeometryImpl.cs","StreamContext","Dispose","正常系","Disposeでboundsが更新されること","操作後のStreamContext","なし","_boundsが計算される","中","Dispose処理"
"131","UT-SKA-131","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","コンストラクタ","正常系","デフォルト設定でインスタンスが生成されること","なし","maxResourceBytes=null","インスタンスが生成される","高","初期化"
"132","UT-SKA-132","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateBackendContext","正常系","nullコンテキストでSkiaContextが生成されること","なし","graphicsContext=null","SkiaContext(null)が返却される","中","nullコンテキスト"
"133","UT-SKA-133","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateBackendContext","正常系","ISkiaGpuコンテキストでSkiaContextが生成されること","有効なISkiaGpu","graphicsContext=ISkiaGpu","SkiaContextが返却される","中","Skia GPU"
"134","UT-SKA-134","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateBackendContext","正常系","IGlContextでGlSkiaGpuが生成されること","有効なIGlContext","graphicsContext=IGlContext","GlSkiaGpu付きSkiaContextが返却される","中","OpenGL"
"135","UT-SKA-135","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateBackendContext","正常系","IMetalDeviceでSkiaMetalGpuが生成されること","有効なIMetalDevice","graphicsContext=IMetalDevice","SkiaMetalGpu付きSkiaContextが返却される","中","Metal"
"136","UT-SKA-136","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateBackendContext","正常系","VulkanコンテキストでVulkanSkiaGpuが生成されること","有効なVulkanコンテキスト","graphicsContext=IVulkanPlatformGraphicsContext","VulkanSkiaGpuが返却される","中","Vulkan"
"137","UT-SKA-137","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateBackendContext","異常系","未サポートのコンテキストで例外がスローされること","未サポートのコンテキスト","graphicsContext=未サポート型","ArgumentExceptionがスローされる","中","例外処理"
"138","UT-SKA-138","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateEllipseGeometry","正常系","楕円ジオメトリが生成されること","なし","rect=Rect(0,0,100,50)","EllipseGeometryImplが返却される","高","楕円生成"
"139","UT-SKA-139","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateLineGeometry","正常系","線ジオメトリが生成されること","なし","p1=Point(0,0), p2=Point(100,100)","LineGeometryImplが返却される","高","線生成"
"140","UT-SKA-140","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateRectangleGeometry","正常系","矩形ジオメトリが生成されること","なし","rect=Rect(0,0,100,100)","RectangleGeometryImplが返却される","高","矩形生成"
"141","UT-SKA-141","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateStreamGeometry","正常系","ストリームジオメトリが生成されること","なし","なし","StreamGeometryImplが返却される","高","ストリーム生成"
"142","UT-SKA-142","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateGeometryGroup","正常系","ジオメトリグループが生成されること","有効なIGeometryImplリスト","fillRule, children","GeometryGroupImplが返却される","中","グループ生成"
"143","UT-SKA-143","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateCombinedGeometry","正常系","結合ジオメトリが生成されること","有効な2つのIGeometryImpl","combineMode, g1, g2","CombinedGeometryImplが返却される","中","結合生成"
"144","UT-SKA-144","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","BuildGlyphRunGeometry","正常系","グリフランからジオメトリが生成されること","有効なGlyphRun","glyphRun=有効","StreamGeometryImplが返却される","中","グリフジオメトリ"
"145","UT-SKA-145","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","BuildGlyphRunGeometry","異常系","PlatformTypefaceがSkiaTypefaceでない場合例外","無効なPlatformTypeface","非SkiaTypeface","InvalidOperationExceptionがスローされる","中","型チェック"
"146","UT-SKA-146","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","LoadBitmap(fileName)","正常系","ファイルからビットマップが読み込まれること","有効な画像ファイル","fileName=画像パス","ImmutableBitmapが返却される","高","ファイル読み込み"
"147","UT-SKA-147","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","LoadBitmap(stream)","正常系","ストリームからビットマップが読み込まれること","有効な画像ストリーム","stream=画像データ","ImmutableBitmapが返却される","高","ストリーム読み込み"
"148","UT-SKA-148","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","LoadBitmap(ピクセルデータ)","正常系","ピクセルデータからビットマップが生成されること","有効なピクセルデータ","format, alphaFormat, data, size, dpi, stride","ImmutableBitmapが返却される","中","ピクセル読み込み"
"149","UT-SKA-149","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","LoadBitmapToWidth","正常系","指定幅でビットマップが読み込まれること","有効な画像ストリーム","stream, width=200","指定幅のImmutableBitmapが返却される","中","幅指定読み込み"
"150","UT-SKA-150","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","LoadBitmapToHeight","正常系","指定高さでビットマップが読み込まれること","有効な画像ストリーム","stream, height=200","指定高さのImmutableBitmapが返却される","中","高さ指定読み込み"
"151","UT-SKA-151","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","ResizeBitmap","正常系","ビットマップがリサイズされること","ImmutableBitmap","bitmapImpl, destinationSize, interpolationMode","リサイズされたImmutableBitmapが返却される","中","リサイズ"
"152","UT-SKA-152","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","ResizeBitmap","異常系","ImmutableBitmap以外で例外がスローされること","非ImmutableBitmap","非ImmutableBitmap","Exceptionがスローされる","中","型チェック"
"153","UT-SKA-153","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateRenderTargetBitmap","正常系","レンダーターゲットビットマップが生成されること","なし","size=PixelSize(100,100), dpi","RenderTargetBitmapImplが返却される","高","RT生成"
"154","UT-SKA-154","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateRenderTargetBitmap","境界値","幅が1未満で例外がスローされること","なし","size.Width=0","ArgumentExceptionがスローされる","中","境界値"
"155","UT-SKA-155","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateRenderTargetBitmap","境界値","高さが1未満で例外がスローされること","なし","size.Height=0","ArgumentExceptionがスローされる","中","境界値"
"156","UT-SKA-156","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateWriteableBitmap","正常系","書き込み可能ビットマップが生成されること","なし","size, dpi, format, alphaFormat","WriteableBitmapImplが返却される","高","WB生成"
"157","UT-SKA-157","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateGlyphRun","正常系","GlyphRunImplが生成されること","有効なパラメータ","glyphTypeface, fontRenderingEmSize, glyphInfos, baselineOrigin","GlyphRunImplが返却される","高","GlyphRun生成"
"158","UT-SKA-158","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","IsSupportedBitmapPixelFormat","正常系","Rgb565がサポートされること","なし","format=PixelFormats.Rgb565","trueが返却される","中","フォーマットサポート"
"159","UT-SKA-159","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","IsSupportedBitmapPixelFormat","正常系","Bgra8888がサポートされること","なし","format=PixelFormats.Bgra8888","trueが返却される","中","フォーマットサポート"
"160","UT-SKA-160","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","IsSupportedBitmapPixelFormat","正常系","Rgba8888がサポートされること","なし","format=PixelFormats.Rgba8888","trueが返却される","中","フォーマットサポート"
"161","UT-SKA-161","src/Skia/Avalonia.Skia/PlatformRenderInterface.cs","PlatformRenderInterface","CreateRegion","正常系","リージョンが生成されること","なし","なし","SkiaRegionImplが返却される","中","リージョン生成"
"162","UT-SKA-162","src/Skia/Avalonia.Skia/SkiaPlatform.cs","SkiaPlatform","Initialize()","正常系","デフォルト設定で初期化されること","なし","なし","IPlatformRenderInterfaceとIFontManagerImplが登録される","高","プラットフォーム初期化"
"163","UT-SKA-163","src/Skia/Avalonia.Skia/SkiaPlatform.cs","SkiaPlatform","Initialize(SkiaOptions)","正常系","オプション指定で初期化されること","有効なSkiaOptions","options=カスタムオプション","カスタム設定で初期化される","中","オプション初期化"
"164","UT-SKA-164","src/Skia/Avalonia.Skia/SkiaPlatform.cs","SkiaPlatform","DefaultDpi","正常系","デフォルトDPIが96x96であること","なし","なし","Vector(96, 96)が返却される","高","DPI取得"
"165","UT-SKA-165","src/Skia/Avalonia.Skia/SkiaTypeface.cs","SkiaTypeface","コンストラクタ","正常系","有効なSKTypefaceでインスタンスが生成されること","有効なSKTypeface","typeface=有効, fontSimulations=None","インスタンスが生成される","高","Typeface初期化"
"166","UT-SKA-166","src/Skia/Avalonia.Skia/SkiaTypeface.cs","SkiaTypeface","コンストラクタ","異常系","typefaceがnullの場合例外がスローされること","なし","typeface=null","ArgumentNullExceptionがスローされる","高","null検証"
"167","UT-SKA-167","src/Skia/Avalonia.Skia/SkiaTypeface.cs","SkiaTypeface","CreateSKFont","正常系","SKFontが生成されること","有効なSkiaTypeface","size=14.0f","SKFontが返却される","高","フォント生成"
"168","UT-SKA-168","src/Skia/Avalonia.Skia/SkiaTypeface.cs","SkiaTypeface","CreateSKFont","正常系","Obliqueシミュレーションでskewが適用されること","FontSimulations=Oblique","size=14.0f","skewX=-0.3fのSKFontが返却される","中","斜体シミュレーション"
"169","UT-SKA-169","src/Skia/Avalonia.Skia/SkiaTypeface.cs","SkiaTypeface","CreateSKFont","正常系","BoldシミュレーションでEmboldenが有効になること","FontSimulations=Bold","size=14.0f","Embolden=trueのSKFontが返却される","中","太字シミュレーション"
"170","UT-SKA-170","src/Skia/Avalonia.Skia/SkiaTypeface.cs","SkiaTypeface","TryGetTable","正常系","フォントテーブルが取得できること","テーブルが存在するフォント","tag=有効なOpenTypeTag","trueが返却され、tableにデータが設定される","中","テーブル取得"
"171","UT-SKA-171","src/Skia/Avalonia.Skia/SkiaTypeface.cs","SkiaTypeface","TryGetTable","異常系","存在しないテーブルでfalseを返すこと","テーブルが存在しないフォント","tag=存在しないタグ","falseが返却される","中","テーブル未存在"
"172","UT-SKA-172","src/Skia/Avalonia.Skia/SkiaTypeface.cs","SkiaTypeface","TryGetStream","正常系","フォントストリームが取得できること","有効なSkiaTypeface","なし","trueが返却され、streamが設定される","中","ストリーム取得"
"173","UT-SKA-173","src/Skia/Avalonia.Skia/SkiaTypeface.cs","SkiaTypeface","Dispose","正常系","SKTypefaceが解放されること","有効なSkiaTypeface","なし","SKTypefaceが解放される","中","リソース解放"
"174","UT-SKA-174","src/Skia/Avalonia.Skia/TwoLevelCache.cs","TwoLevelCache","コンストラクタ","正常系","有効なパラメータでインスタンスが生成されること","なし","secondarySize=3","インスタンスが生成される","中","キャッシュ初期化"
"175","UT-SKA-175","src/Skia/Avalonia.Skia/TwoLevelCache.cs","TwoLevelCache","コンストラクタ","異常系","secondarySizeが負の場合例外がスローされること","なし","secondarySize=-1","ArgumentOutOfRangeExceptionがスローされる","中","負のサイズ"
"176","UT-SKA-176","src/Skia/Avalonia.Skia/TwoLevelCache.cs","TwoLevelCache","TryGet","正常系","プライマリキャッシュから値が取得できること","プライマリにキャッシュあり","key=キャッシュ済みキー","trueが返却され、valueが設定される","中","プライマリ取得"
"177","UT-SKA-177","src/Skia/Avalonia.Skia/TwoLevelCache.cs","TwoLevelCache","TryGet","正常系","セカンダリキャッシュから値が取得できること","セカンダリにキャッシュあり","key=セカンダリのキー","trueが返却され、valueが設定される","中","セカンダリ取得"
"178","UT-SKA-178","src/Skia/Avalonia.Skia/TwoLevelCache.cs","TwoLevelCache","TryGet","正常系","キャッシュミスでfalseを返すこと","キャッシュなし","key=未キャッシュキー","falseが返却される","中","キャッシュミス"
"179","UT-SKA-179","src/Skia/Avalonia.Skia/TwoLevelCache.cs","TwoLevelCache","GetOrAdd","正常系","新しい値がプライマリに追加されること","空のキャッシュ","key, factory","ファクトリで生成された値が返却される","中","プライマリ追加"
"180","UT-SKA-180","src/Skia/Avalonia.Skia/TwoLevelCache.cs","TwoLevelCache","GetOrAdd","正常系","セカンダリに値が追加されること","プライマリが使用中","key, factory","セカンダリに追加される","中","セカンダリ追加"
"181","UT-SKA-181","src/Skia/Avalonia.Skia/TwoLevelCache.cs","TwoLevelCache","GetOrAdd","正常系","キャッシュがフルの場合古い値がエビクトされること","キャッシュフル","key, factory","最古の値がエビクトされる","中","エビクション"
"182","UT-SKA-182","src/Skia/Avalonia.Skia/TwoLevelCache.cs","TwoLevelCache","ClearAndDispose","正常系","全キャッシュがクリアされること","キャッシュあり","なし","全エントリがエビクトされる","中","クリア"
"183","UT-SKA-183","src/Skia/Avalonia.Skia/SKPaintCache.cs","SKPaintCache","Get","正常系","SKPaintが取得できること","キャッシュあり","なし","SKPaintが返却される","中","取得"
"184","UT-SKA-184","src/Skia/Avalonia.Skia/SKPaintCache.cs","SKPaintCache","Return","正常系","SKPaintがキャッシュに返却されること","有効なSKPaint","paint=使用済みSKPaint","キャッシュに追加される","中","返却"
"185","UT-SKA-185","src/Skia/Avalonia.Skia/SKPaintCache.cs","SKPaintCache","ReturnReset","正常系","SKPaintがリセットされて返却されること","有効なSKPaint","paint=使用済みSKPaint","リセットされてキャッシュに追加される","中","リセット返却"
"186","UT-SKA-186","src/Skia/Avalonia.Skia/CombinedGeometryImpl.cs","CombinedGeometryImpl","コンストラクタ","正常系","stroke/fillパスからインスタンスが生成されること","有効なSKPath","stroke, fill","インスタンスが生成され、Boundsが計算される","中","初期化"
"187","UT-SKA-187","src/Skia/Avalonia.Skia/CombinedGeometryImpl.cs","CombinedGeometryImpl","ForceCreate","正常系","GeometryImplから結合ジオメトリが生成されること","有効な2つのGeometryImpl","combineMode=Union, g1, g2","CombinedGeometryImplが返却される","中","強制生成"
"188","UT-SKA-188","src/Skia/Avalonia.Skia/CombinedGeometryImpl.cs","CombinedGeometryImpl","ForceCreate","正常系","非GeometryImplの場合空のジオメトリが返却されること","非GeometryImpl","combineMode, 非GeometryImpl","stroke/fillがnullのCombinedGeometryImplが返却される","中","非Geometry処理"
"189","UT-SKA-189","src/Skia/Avalonia.Skia/CombinedGeometryImpl.cs","CombinedGeometryImpl","TryCreate","正常系","Intersectモードで交差ジオメトリが生成されること","有効なGeometryImpl","combineMode=Intersect","交差部分のCombinedGeometryImplが返却される","中","Intersect"
"190","UT-SKA-190","src/Skia/Avalonia.Skia/CombinedGeometryImpl.cs","CombinedGeometryImpl","TryCreate","正常系","Xorモードで排他的ジオメトリが生成されること","有効なGeometryImpl","combineMode=Xor","XorのCombinedGeometryImplが返却される","中","Xor"
"191","UT-SKA-191","src/Skia/Avalonia.Skia/CombinedGeometryImpl.cs","CombinedGeometryImpl","TryCreate","正常系","Excludeモードで差分ジオメトリが生成されること","有効なGeometryImpl","combineMode=Exclude","差分のCombinedGeometryImplが返却される","中","Exclude"
"192","UT-SKA-192","src/Skia/Avalonia.Skia/CombinedGeometryImpl.cs","CombinedGeometryImpl","TryCreate","正常系","パスがnullの場合nullが返却されること","StrokePath/FillPathがnull","nullパスのGeometry","nullが返却される","中","nullパス"
"193","UT-SKA-193","src/Skia/Avalonia.Skia/EllipseGeometryImpl.cs","EllipseGeometryImpl","コンストラクタ","正常系","楕円ジオメトリが生成されること","なし","rect=Rect(0,0,100,50)","楕円パスとBoundsが設定される","高","楕円初期化"
"194","UT-SKA-194","src/Skia/Avalonia.Skia/EllipseGeometryImpl.cs","EllipseGeometryImpl","コンストラクタ","境界値","幅0の矩形でも生成されること","なし","rect=Rect(0,0,0,50)","退化した楕円が生成される","中","退化楕円"
"195","UT-SKA-195","src/Skia/Avalonia.Skia/RectangleGeometryImpl.cs","RectangleGeometryImpl","コンストラクタ","正常系","矩形ジオメトリが生成されること","なし","rect=Rect(0,0,100,100)","矩形パスとBoundsが設定される","高","矩形初期化"
"196","UT-SKA-196","src/Skia/Avalonia.Skia/LineGeometryImpl.cs","LineGeometryImpl","コンストラクタ","正常系","線ジオメトリが生成されること","なし","p1=Point(0,0), p2=Point(100,100)","線パスとBoundsが設定される","高","線初期化"
"197","UT-SKA-197","src/Skia/Avalonia.Skia/LineGeometryImpl.cs","LineGeometryImpl","コンストラクタ","境界値","同一点の場合退化した線が生成されること","なし","p1=Point(50,50), p2=Point(50,50)","退化した線が生成される","中","退化線"
"198","UT-SKA-198","src/Skia/Avalonia.Skia/LineGeometryImpl.cs","LineGeometryImpl","FillPath","正常系","FillPathがnullであること","有効なLineGeometryImpl","なし","nullが返却される","中","FillPath確認"
"199","UT-SKA-199","src/Skia/Avalonia.Skia/TransformedGeometryImpl.cs","TransformedGeometryImpl","コンストラクタ","正常系","変換されたジオメトリが生成されること","有効なGeometryImpl","source, transform=Scale(2,2)","変換されたパスとBoundsが設定される","中","変換初期化"
"200","UT-SKA-200","src/Skia/Avalonia.Skia/TransformedGeometryImpl.cs","TransformedGeometryImpl","コンストラクタ","正常系","SourceGeometryとTransformが保存されること","有効なGeometryImpl","source, transform","SourceGeometryとTransformが取得可能","中","プロパティ確認"
"201","UT-SKA-201","src/Skia/Avalonia.Skia/SkiaRegionImpl.cs","SkiaRegionImpl","AddRect","正常系","矩形が追加されること","有効なSkiaRegionImpl","rect=LtrbPixelRect(10,10,100,100)","リージョンに矩形が追加される","中","矩形追加"
"202","UT-SKA-202","src/Skia/Avalonia.Skia/SkiaRegionImpl.cs","SkiaRegionImpl","Reset","正常系","リージョンがリセットされること","矩形が追加済み","なし","IsEmpty=trueになる","中","リセット"
"203","UT-SKA-203","src/Skia/Avalonia.Skia/SkiaRegionImpl.cs","SkiaRegionImpl","IsEmpty","正常系","空のリージョンでtrueを返すこと","空のリージョン","なし","trueが返却される","中","空判定"
"204","UT-SKA-204","src/Skia/Avalonia.Skia/SkiaRegionImpl.cs","SkiaRegionImpl","IsEmpty","正常系","非空のリージョンでfalseを返すこと","矩形追加済み","なし","falseが返却される","中","非空判定"
"205","UT-SKA-205","src/Skia/Avalonia.Skia/SkiaRegionImpl.cs","SkiaRegionImpl","Bounds","正常系","境界が取得できること","矩形追加済み","なし","正しいLtrbPixelRectが返却される","中","境界取得"
"206","UT-SKA-206","src/Skia/Avalonia.Skia/SkiaRegionImpl.cs","SkiaRegionImpl","Rects","正常系","矩形リストが取得できること","複数矩形追加済み","なし","矩形のリストが返却される","中","矩形リスト"
"207","UT-SKA-207","src/Skia/Avalonia.Skia/SkiaRegionImpl.cs","SkiaRegionImpl","Intersects","正常系","リージョンと矩形の交差判定ができること","矩形追加済み","rect=交差する矩形","trueが返却される","中","交差判定"
"208","UT-SKA-208","src/Skia/Avalonia.Skia/SkiaRegionImpl.cs","SkiaRegionImpl","Intersects","正常系","交差しない場合falseを返すこと","矩形追加済み","rect=交差しない矩形","falseが返却される","中","非交差判定"
"209","UT-SKA-209","src/Skia/Avalonia.Skia/SkiaRegionImpl.cs","SkiaRegionImpl","Contains","正常系","点の包含判定ができること","矩形追加済み","pt=リージョン内の点","trueが返却される","中","点包含"
"210","UT-SKA-210","src/Skia/Avalonia.Skia/SkiaRegionImpl.cs","SkiaRegionImpl","Contains","正常系","リージョン外の点でfalseを返すこと","矩形追加済み","pt=リージョン外の点","falseが返却される","中","点非包含"
"211","UT-SKA-211","src/Skia/Avalonia.Skia/SkiaRegionImpl.cs","SkiaRegionImpl","Dispose","正常系","リージョンが解放されること","有効なSkiaRegionImpl","なし","_regionがnullになる","中","リソース解放"
"212","UT-SKA-212","src/Skia/Avalonia.Skia/SkiaRegionImpl.cs","SkiaRegionImpl","Region","異常系","Dispose後にアクセスすると例外がスローされること","Dispose済み","なし","ObjectDisposedExceptionがスローされる","中","Dispose後アクセス"
"213","UT-SKA-213","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToSKSamplingOptions","正常系","BitmapInterpolationMode.NoneがNearest変換されること","なし","interpolationMode=None","FilterMode.Nearest, MipmapMode.Noneが返却される","中","サンプリングオプション"
"214","UT-SKA-214","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToSKSamplingOptions","正常系","LowQualityがLinear変換されること","なし","interpolationMode=LowQuality","FilterMode.Linear, MipmapMode.Noneが返却される","中","低品質サンプリング"
"215","UT-SKA-215","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToSKSamplingOptions","正常系","HighQualityでアップスケール時Mitchell変換されること","なし","interpolationMode=HighQuality, isUpscaling=true","SKCubicResampler.Mitchellが返却される","中","高品質アップスケール"
"216","UT-SKA-216","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToSKBlendMode","正常系","各BitmapBlendingModeが正しく変換されること","なし","blendingMode=SourceOver","SKBlendMode.SrcOverが返却される","中","ブレンドモード変換"
"217","UT-SKA-217","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToSKPoint(Point)","正常系","PointがSKPointに変換されること","なし","p=Point(10.5, 20.5)","SKPoint(10.5f, 20.5f)が返却される","中","Point変換"
"218","UT-SKA-218","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToSKRect","正常系","RectがSKRectに変換されること","なし","r=Rect(0,0,100,50)","対応するSKRectが返却される","中","Rect変換"
"219","UT-SKA-219","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToSKRoundRect","正常系","RoundedRectがSKRoundRectに変換されること","なし","r=角丸RoundedRect","対応するSKRoundRectが返却される","中","RoundedRect変換"
"220","UT-SKA-220","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToAvaloniaRect","正常系","SKRectがRectに変換されること","なし","r=SKRect(0,0,100,50)","対応するRectが返却される","中","逆変換"
"221","UT-SKA-221","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToSKMatrix","正常系","MatrixがSKMatrixに変換されること","なし","m=変換行列","対応するSKMatrixが返却される","中","Matrix変換"
"222","UT-SKA-222","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToSKMatrix44","正常系","MatrixがSKMatrix44に変換されること","なし","m=変換行列","対応するSKMatrix44が返却される","中","Matrix44変換"
"223","UT-SKA-223","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToSKColor","正常系","ColorがSKColorに変換されること","なし","c=Colors.Red","対応するSKColorが返却される","中","Color変換"
"224","UT-SKA-224","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToSkColorType","正常系","PixelFormatがSKColorTypeに変換されること","なし","fmt=PixelFormat.Bgra8888","SKColorType.Bgra8888が返却される","中","ピクセル形式変換"
"225","UT-SKA-225","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToSkColorType","異常系","未知のPixelFormatで例外がスローされること","なし","fmt=未知のフォーマット","ArgumentExceptionがスローされる","中","例外処理"
"226","UT-SKA-226","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToAvalonia(SKColorType)","正常系","SKColorTypeがPixelFormatに変換されること","なし","colorType=SKColorType.Bgra8888","PixelFormats.Bgra8888が返却される","中","逆変換"
"227","UT-SKA-227","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToAvalonia(SKColorType)","正常系","未知のSKColorTypeでnullが返却されること","なし","colorType=未サポート型","nullが返却される","中","未サポート型"
"228","UT-SKA-228","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToSkAlphaType","正常系","AlphaFormatがSKAlphaTypeに変換されること","なし","fmt=AlphaFormat.Premul","SKAlphaType.Premulが返却される","中","アルファ形式変換"
"229","UT-SKA-229","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToAlphaFormat","正常系","SKAlphaTypeがAlphaFormatに変換されること","なし","fmt=SKAlphaType.Premul","AlphaFormat.Premulが返却される","中","逆変換"
"230","UT-SKA-230","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToSKShaderTileMode","正常系","GradientSpreadMethodがSKShaderTileModeに変換されること","なし","m=GradientSpreadMethod.Reflect","SKShaderTileMode.Mirrorが返却される","中","タイルモード変換"
"231","UT-SKA-231","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToSKStrokeCap","正常系","PenLineCapがSKStrokeCapに変換されること","なし","cap=PenLineCap.Round","SKStrokeCap.Roundが返却される","中","ストロークキャップ"
"232","UT-SKA-232","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","ToSKStrokeJoin","正常系","PenLineJoinがSKStrokeJoinに変換されること","なし","join=PenLineJoin.Round","SKStrokeJoin.Roundが返却される","中","ストロークジョイン"
"233","UT-SKA-233","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","Clone(SKPath)","正常系","SKPathがクローンされること","有効なSKPath","src=有効なパス","新しいSKPathインスタンスが返却される","中","パスクローン"
"234","UT-SKA-234","src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs","SkiaSharpExtensions","Clone(SKPath)","境界値","nullの場合nullが返却されること","なし","src=null","nullが返却される","中","nullクローン"
"235","UT-SKA-235","src/Skia/Avalonia.Skia/Helpers/SKPathHelper.cs","SKPathHelper","CreateClosedPath","正常系","閉じたパスが生成されること","有効なSKPath","path=開いたパス","閉じたSKPathが返却される","中","パス閉じ処理"
"236","UT-SKA-236","src/Skia/Avalonia.Skia/Helpers/SKPathHelper.cs","SKPathHelper","CreateStrokedPath","正常系","ストロークパスが生成されること","有効なSKPathとIPen","path, pen=Pen(thickness=5)","ストローク化されたSKPathが返却される","中","ストロークパス"
"237","UT-SKA-237","src/Skia/Avalonia.Skia/Helpers/SKPathHelper.cs","SKPathHelper","CreateStrokedPath","境界値","厚さ0のペンでnullが返却されること","有効なSKPath","pen.Thickness=0","nullが返却される","中","厚さ0"
"238","UT-SKA-238","src/Skia/Avalonia.Skia/Helpers/PixelFormatHelper.cs","PixelFormatHelper","ResolveColorType","正常系","指定フォーマットがSKColorTypeに解決されること","なし","format=PixelFormat.Bgra8888","SKColorType.Bgra8888が返却される","中","フォーマット解決"
"239","UT-SKA-239","src/Skia/Avalonia.Skia/Helpers/PixelFormatHelper.cs","PixelFormatHelper","ResolveColorType","正常系","nullの場合プラットフォームデフォルトが返却されること","なし","format=null","SKImageInfo.PlatformColorTypeが返却される","中","デフォルト解決"
"240","UT-SKA-240","src/Skia/Avalonia.Skia/Helpers/ImageSavingHelper.cs","ImageSavingHelper","SaveImage(fileName)","正常系","ファイルに画像が保存されること","有効なSKImage","image, fileName=""test.png""","ファイルが作成される","中","ファイル保存"
"241","UT-SKA-241","src/Skia/Avalonia.Skia/Helpers/ImageSavingHelper.cs","ImageSavingHelper","SaveImage(fileName)","異常系","imageがnullの場合例外がスローされること","なし","image=null","ArgumentNullExceptionがスローされる","中","null検証"
"242","UT-SKA-242","src/Skia/Avalonia.Skia/Helpers/ImageSavingHelper.cs","ImageSavingHelper","SaveImage(fileName)","異常系","fileNameがnullの場合例外がスローされること","有効なSKImage","fileName=null","ArgumentNullExceptionがスローされる","中","null検証"
"243","UT-SKA-243","src/Skia/Avalonia.Skia/Helpers/ImageSavingHelper.cs","ImageSavingHelper","SaveImage(stream)","正常系","ストリームに画像が保存されること","有効なSKImage","image, stream=MemoryStream","ストリームに書き込まれる","中","ストリーム保存"
"244","UT-SKA-244","src/Skia/Avalonia.Skia/Helpers/ImageSavingHelper.cs","ImageSavingHelper","SaveImage(stream)","正常系","品質指定で保存されること","有効なSKImage","image, stream, quality=80","指定品質で保存される","中","品質指定保存"
"245","UT-SKA-245","src/Skia/Avalonia.Skia/Helpers/ImageSavingHelper.cs","ImageSavingHelper","SaveImage(stream)","異常系","streamがnullの場合例外がスローされること","有効なSKImage","stream=null","ArgumentNullExceptionがスローされる","中","null検証"
"246","UT-SKA-246","src/Skia/Avalonia.Skia/FramebufferRenderTarget.cs","FramebufferRenderTarget","コンストラクタ","正常系","プラットフォームサーフェスからインスタンスが生成されること","有効なIFramebufferPlatformSurface","platformSurface","インスタンスが生成される","高","初期化"
"247","UT-SKA-247","src/Skia/Avalonia.Skia/FramebufferRenderTarget.cs","FramebufferRenderTarget","CreateDrawingContext","正常系","DrawingContextImplが取得できること","有効なFramebufferRenderTarget","scaleDrawingToDpi=true","DrawingContextImplが返却される","高","コンテキスト生成"
"248","UT-SKA-248","src/Skia/Avalonia.Skia/FramebufferRenderTarget.cs","FramebufferRenderTarget","CreateDrawingContext","異常系","Dispose後に呼び出すと例外がスローされること","Dispose済み","なし","ObjectDisposedExceptionがスローされる","中","Dispose後アクセス"
"249","UT-SKA-249","src/Skia/Avalonia.Skia/FramebufferRenderTarget.cs","FramebufferRenderTarget","Dispose","正常系","リソースが解放されること","有効なFramebufferRenderTarget","なし","_renderTargetがnullになる","中","リソース解放"
"250","UT-SKA-250","src/Skia/Avalonia.Skia/FramebufferRenderTarget.cs","FramebufferRenderTarget","Properties","正常系","RenderTargetPropertiesが取得できること","有効なFramebufferRenderTarget","なし","プロパティが返却される","中","プロパティ取得"
"251","UT-SKA-251","src/Skia/Avalonia.Skia/RenderTargetBitmapImpl.cs","RenderTargetBitmapImpl","コンストラクタ","正常系","指定サイズとDPIでインスタンスが生成されること","なし","size=PixelSize(100,100), dpi=Vector(96,96)","インスタンスが生成される","高","初期化"
"252","UT-SKA-252","src/Skia/Avalonia.Skia/RenderTargetBitmapImpl.cs","RenderTargetBitmapImpl","CreateDrawingContext","正常系","DrawingContextが取得できること","有効なRenderTargetBitmapImpl","useScaledDrawing=true","IDrawingContextImplが返却される","高","コンテキスト生成"
"253","UT-SKA-253","src/Skia/Avalonia.Skia/RenderTargetBitmapImpl.cs","RenderTargetBitmapImpl","Dispose","正常系","リソースが解放されること","有効なRenderTargetBitmapImpl","なし","_renderTargetと親が解放される","中","リソース解放"
"254","UT-SKA-254","src/Skia/Avalonia.Skia/RenderTargetBitmapImpl.cs","RenderTargetBitmapImpl","IsCorrupted","正常系","常にfalseを返すこと","有効なRenderTargetBitmapImpl","なし","falseが返却される","中","破損状態"
"255","UT-SKA-255","src/Skia/Avalonia.Skia/RenderTargetBitmapImpl.cs","RenderTargetBitmapImpl","CreateFramebufferRenderTarget","正常系","フレームバッファレンダーターゲットが生成されること","有効なRenderTargetBitmapImpl","なし","IFramebufferRenderTargetが返却される","中","FB生成"
"1","UT-FLU-001","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","HasResources","正常系","アクセントカラーが設定されている場合にtrueを返すこと","ColorPaletteResourcesインスタンスが存在","Accentプロパティに有効な色を設定","HasResourcesがtrueを返す","高","リソース存在確認の基本機能"
"2","UT-FLU-002","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","HasResources","正常系","カラー辞書に色が追加されている場合にtrueを返すこと","ColorPaletteResourcesインスタンスが存在","AltHighなどのカラープロパティに色を設定","HasResourcesがtrueを返す","中","辞書ベースのカラー追加確認"
"3","UT-FLU-003","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","HasResources","境界値","アクセントカラーも辞書も空の場合にfalseを返すこと","ColorPaletteResourcesインスタンスが存在","何も設定しない","HasResourcesがfalseを返す","中","空状態の確認"
"4","UT-FLU-004","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","TryGetResource","正常系","SystemAccentColorキーで正しい色が取得できること","Accentプロパティに色を設定済み","key=""SystemAccentColor"", theme=null","valueにアクセントカラーが設定され、trueを返す","高","アクセントカラー取得の基本機能"
"5","UT-FLU-005","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","TryGetResource","正常系","SystemAccentColorDark1キーで暗い色が取得できること","Accentプロパティに色を設定済み","key=""SystemAccentColorDark1"", theme=null","valueにDark1カラーが設定され、trueを返す","高","暗いシェード取得機能"
"6","UT-FLU-006","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","TryGetResource","正常系","SystemAccentColorDark2キーで暗い色が取得できること","Accentプロパティに色を設定済み","key=""SystemAccentColorDark2"", theme=null","valueにDark2カラーが設定され、trueを返す","中","暗いシェード取得機能"
"7","UT-FLU-007","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","TryGetResource","正常系","SystemAccentColorDark3キーで暗い色が取得できること","Accentプロパティに色を設定済み","key=""SystemAccentColorDark3"", theme=null","valueにDark3カラーが設定され、trueを返す","中","暗いシェード取得機能"
"8","UT-FLU-008","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","TryGetResource","正常系","SystemAccentColorLight1キーで明るい色が取得できること","Accentプロパティに色を設定済み","key=""SystemAccentColorLight1"", theme=null","valueにLight1カラーが設定され、trueを返す","高","明るいシェード取得機能"
"9","UT-FLU-009","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","TryGetResource","正常系","SystemAccentColorLight2キーで明るい色が取得できること","Accentプロパティに色を設定済み","key=""SystemAccentColorLight2"", theme=null","valueにLight2カラーが設定され、trueを返す","中","明るいシェード取得機能"
"10","UT-FLU-010","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","TryGetResource","正常系","SystemAccentColorLight3キーで明るい色が取得できること","Accentプロパティに色を設定済み","key=""SystemAccentColorLight3"", theme=null","valueにLight3カラーが設定され、trueを返す","中","明るいシェード取得機能"
"11","UT-FLU-011","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","TryGetResource","正常系","辞書に登録された色がキーで取得できること","SetColorで色を登録済み","key=""SystemAltHighColor"", theme=null","valueに登録した色が設定され、trueを返す","高","辞書カラー取得機能"
"12","UT-FLU-012","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","TryGetResource","異常系","アクセントカラー未設定時にアクセントキーでfalseを返すこと","Accentプロパティ未設定","key=""SystemAccentColor"", theme=null","falseを返し、valueはnull","中","未設定時の動作確認"
"13","UT-FLU-013","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","TryGetResource","異常系","存在しないキーでfalseを返すこと","ColorPaletteResourcesインスタンスが存在","key=""NonExistentKey"", theme=null","falseを返し、valueはnull","中","存在しないキーの処理"
"14","UT-FLU-014","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","TryGetResource","異常系","キーがstring以外の場合にfalseを返すこと","ColorPaletteResourcesインスタンスが存在","key=123 (int型), theme=null","falseを返し、valueはnull","低","非文字列キーの処理"
"15","UT-FLU-015","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","GetColor","正常系","登録された色が取得できること","SetColorで色を登録済み","key=""SystemAltHighColor""","登録した色が返される","中","内部メソッドの正常動作"
"16","UT-FLU-016","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","GetColor","境界値","未登録キーでdefault(Color)が返されること","何も登録していない","key=""UnknownKey""","default(Color)が返される","中","未登録キーの処理"
"17","UT-FLU-017","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","SetColor","正常系","色が正しく設定されること","ColorPaletteResourcesインスタンスが存在","key=""SystemAltHighColor"", value=Color.Red","辞書に色が追加される","中","色設定の基本機能"
"18","UT-FLU-018","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","SetColor","正常系","既存のキーの色が上書きされること","同じキーに色を設定済み","key=""SystemAltHighColor"", value=Color.Blue","辞書の色が更新される","中","色上書き機能"
"19","UT-FLU-019","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","SetColor","境界値","default(Color)を設定すると辞書から削除されること","色を設定済み","key=""SystemAltHighColor"", value=default(Color)","辞書からキーが削除される","中","デフォルト色での削除動作"
"20","UT-FLU-020","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","OnPropertyChanged","正常系","Accentプロパティ変更時にシェードが計算されること","ColorPaletteResourcesインスタンスが存在","Accentプロパティを変更","_hasAccentColorがtrueになり、6種のシェードが計算される","高","アクセントカラー変更時のシェード自動計算"
"21","UT-FLU-021","src/Avalonia.Themes.Fluent/ColorPaletteResources.cs","ColorPaletteResources","OnPropertyChanged","正常系","Accentプロパティ変更時にRaiseResourcesChangedが呼ばれること","ColorPaletteResourcesインスタンスが存在","Accentプロパティを変更","リソース変更通知が発行される","中","変更通知の発行"
"22","UT-FLU-022","src/Avalonia.Themes.Fluent/ColorPaletteResources.Properties.cs","ColorPaletteResources","Accent (getter)","正常系","設定したアクセントカラーが取得できること","Accentプロパティに色を設定済み","なし","設定した色が返される","高","プロパティgetterの動作"
"23","UT-FLU-023","src/Avalonia.Themes.Fluent/ColorPaletteResources.Properties.cs","ColorPaletteResources","Accent (setter)","正常系","アクセントカラーが設定できること","ColorPaletteResourcesインスタンスが存在","Color.FromRgb(0, 120, 215)","_accentColorフィールドに値が設定される","高","プロパティsetterの動作"
"24","UT-FLU-024","src/Avalonia.Themes.Fluent/ColorPaletteResources.Properties.cs","ColorPaletteResources","AltHigh (getter/setter)","正常系","AltHighカラーが設定・取得できること","ColorPaletteResourcesインスタンスが存在","Color.White","辞書にSystemAltHighColorとして格納・取得される","中","カラープロパティの動作"
"25","UT-FLU-025","src/Avalonia.Themes.Fluent/ColorPaletteResources.Properties.cs","ColorPaletteResources","AltLow (getter/setter)","正常系","AltLowカラーが設定・取得できること","ColorPaletteResourcesインスタンスが存在","Color.Black","辞書にSystemAltLowColorとして格納・取得される","中","カラープロパティの動作"
"26","UT-FLU-026","src/Avalonia.Themes.Fluent/ColorPaletteResources.Properties.cs","ColorPaletteResources","BaseHigh (getter/setter)","正常系","BaseHighカラーが設定・取得できること","ColorPaletteResourcesインスタンスが存在","Color.White","辞書にSystemBaseHighColorとして格納・取得される","中","カラープロパティの動作"
"27","UT-FLU-027","src/Avalonia.Themes.Fluent/ColorPaletteResources.Properties.cs","ColorPaletteResources","ChromeHigh (getter/setter)","正常系","ChromeHighカラーが設定・取得できること","ColorPaletteResourcesインスタンスが存在","Color.Gray","辞書にSystemChromeHighColorとして格納・取得される","中","カラープロパティの動作"
"28","UT-FLU-028","src/Avalonia.Themes.Fluent/ColorPaletteResources.Properties.cs","ColorPaletteResources","ErrorText (getter/setter)","正常系","ErrorTextカラーが設定・取得できること","ColorPaletteResourcesインスタンスが存在","Color.Red","辞書にSystemErrorTextColorとして格納・取得される","高","エラー表示色のプロパティ"
"29","UT-FLU-029","src/Avalonia.Themes.Fluent/ColorPaletteResources.Properties.cs","ColorPaletteResources","RegionColor (getter/setter)","正常系","RegionColorが設定・取得できること","ColorPaletteResourcesインスタンスが存在","Color.White","辞書にSystemRegionColorとして格納・取得される","中","リージョン色のプロパティ"
"30","UT-FLU-030","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","HasResources","正常系","常にtrueを返すこと","SystemAccentColorsインスタンスが存在","なし","trueを返す","中","リソース存在の常時true"
"31","UT-FLU-031","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","TryGetResource","正常系","AccentKeyでシステムアクセントカラーが取得できること","プラットフォーム設定が利用可能","key=""SystemAccentColor"", theme=null","valueにアクセントカラーが設定され、trueを返す","高","システムアクセントカラー取得"
"32","UT-FLU-032","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","TryGetResource","正常系","AccentDark1Keyで暗い色が取得できること","プラットフォーム設定が利用可能","key=""SystemAccentColorDark1"", theme=null","valueにDark1カラーが設定され、trueを返す","中","暗いシェード取得"
"33","UT-FLU-033","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","TryGetResource","正常系","AccentLight1Keyで明るい色が取得できること","プラットフォーム設定が利用可能","key=""SystemAccentColorLight1"", theme=null","valueにLight1カラーが設定され、trueを返す","中","明るいシェード取得"
"34","UT-FLU-034","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","TryGetResource","異常系","存在しないキーでfalseを返すこと","SystemAccentColorsインスタンスが存在","key=""InvalidKey"", theme=null","falseを返し、valueはnull","中","存在しないキーの処理"
"35","UT-FLU-035","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","TryGetResource","異常系","キーがstring以外の場合にfalseを返すこと","SystemAccentColorsインスタンスが存在","key=123 (int型), theme=null","falseを返し、valueはnull","低","非文字列キーの処理"
"36","UT-FLU-036","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","OnAddOwner","正常系","オーナー追加時にColorValuesChangedイベントがサブスクライブされること","プラットフォーム設定が利用可能","owner=Applicationインスタンス","ColorValuesChangedイベントにハンドラが追加される","中","イベントサブスクリプション"
"37","UT-FLU-037","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","OnAddOwner","正常系","オーナー追加時に_invalidateColorsがtrueになること","SystemAccentColorsインスタンスが存在","owner=Applicationインスタンス","_invalidateColorsがtrueになる","中","キャッシュ無効化フラグ"
"38","UT-FLU-038","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","OnRemoveOwner","正常系","オーナー削除時にColorValuesChangedイベントがアンサブスクライブされること","オーナーが追加済み","owner=Applicationインスタンス","ColorValuesChangedイベントからハンドラが削除される","中","イベントアンサブスクリプション"
"39","UT-FLU-039","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","OnRemoveOwner","正常系","オーナー削除時に_invalidateColorsがtrueになること","オーナーが追加済み","owner=Applicationインスタンス","_invalidateColorsがtrueになる","中","キャッシュ無効化フラグ"
"40","UT-FLU-040","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","EnsureColors","正常系","_invalidateColorsがtrueの時にカラーが再計算されること","_invalidateColorsがtrue","なし","_systemAccentColorおよびシェードが計算される","中","遅延初期化"
"41","UT-FLU-041","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","EnsureColors","正常系","プラットフォーム設定がnullの場合デフォルトカラーが使用されること","プラットフォーム設定がnull","なし","s_defaultSystemAccentColor (0, 120, 215) が使用される","中","デフォルト値の適用"
"42","UT-FLU-042","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","EnsureColors","正常系","_invalidateColorsがfalseの時に再計算されないこと","_invalidateColorsがfalse","なし","キャッシュされた値がそのまま使用される","低","キャッシュ動作"
"43","UT-FLU-043","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","GetFromOwner","正常系","Applicationオーナーの場合PlatformSettingsが取得できること","owner=Applicationインスタンス","owner=Application","PlatformSettingsが返される","中","オーナー種別判定"
"44","UT-FLU-044","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","GetFromOwner","正常系","Visualオーナーの場合PlatformSettingsが取得できること","owner=Visualインスタンス","owner=Visual","GetPlatformSettings()の結果が返される","中","オーナー種別判定"
"45","UT-FLU-045","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","GetFromOwner","異常系","その他のオーナーの場合nullが返されること","owner=その他の型","owner=unknownType","nullが返される","低","未サポートオーナー種別"
"46","UT-FLU-046","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","CalculateAccentShades","正常系","アクセントカラーから6種のシェードが正しく計算されること","なし","accentColor=Color.FromRgb(0, 120, 215)","d1, d2, d3, l1, l2, l3の6色タプルが返される","高","シェード計算のコア機能"
"47","UT-FLU-047","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","CalculateAccentShades","境界値","明度0のカラーでも計算できること","なし","accentColor=Color.FromRgb(0, 0, 0)","負の明度でも計算が行われる（クランプ処理は呼び出し側）","中","境界値テスト"
"48","UT-FLU-048","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","CalculateAccentShades","境界値","明度最大のカラーでも計算できること","なし","accentColor=Color.FromRgb(255, 255, 255)","1を超える明度でも計算が行われる","中","境界値テスト"
"49","UT-FLU-049","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","PlatformSettingsOnColorValuesChanged","正常系","カラー値変更時に_invalidateColorsがtrueになること","イベントがサブスクライブ済み","PlatformColorValuesイベント発生","_invalidateColorsがtrueになる","中","イベントハンドラ動作"
"50","UT-FLU-050","src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs","SystemAccentColors","PlatformSettingsOnColorValuesChanged","正常系","カラー値変更時にNotifyHostedResourcesChangedが呼ばれること","Ownerが設定済み","PlatformColorValuesイベント発生","Owner.NotifyHostedResourcesChangedが呼ばれる","中","リソース変更通知"
"51","UT-FLU-051","src/Avalonia.Themes.Fluent/FluentTheme.xaml.cs","FluentTheme","コンストラクタ","正常系","XAMLがロードされPalettesが初期化されること","なし","sp=null","Palettesプロパティが初期化される","高","初期化の基本動作"
"52","UT-FLU-052","src/Avalonia.Themes.Fluent/FluentTheme.xaml.cs","FluentTheme","コンストラクタ","正常系","CompactStylesが正しく取得・削除されること","なし","sp=null","_compactStylesフィールドが設定され、Resourcesから削除される","中","リソース初期化"
"53","UT-FLU-053","src/Avalonia.Themes.Fluent/FluentTheme.xaml.cs","FluentTheme","コンストラクタ","異常系","ColorPaletteResourcesCollectionが存在しない場合に例外がスローされること","XAML内にColorPaletteResourcesCollectionがない","sp=null","InvalidOperationExceptionがスローされる","中","初期化エラー処理"
"54","UT-FLU-054","src/Avalonia.Themes.Fluent/FluentTheme.xaml.cs","FluentTheme","コンストラクタ","異常系","CompactStylesキーが存在しない場合に例外がスローされること","XAML内にCompactStylesがない","sp=null","KeyNotFoundExceptionがスローされる","中","初期化エラー処理"
"55","UT-FLU-055","src/Avalonia.Themes.Fluent/FluentTheme.xaml.cs","FluentTheme","DensityStyle (getter)","正常系","設定したDensityStyleが取得できること","DensityStyleを設定済み","なし","設定した値が返される","中","プロパティgetterの動作"
"56","UT-FLU-056","src/Avalonia.Themes.Fluent/FluentTheme.xaml.cs","FluentTheme","DensityStyle (setter)","正常系","DensityStyleがNormalに設定できること","FluentThemeインスタンスが存在","DensityStyle.Normal","_densityStyleがNormalになる","中","プロパティsetterの動作"
"57","UT-FLU-057","src/Avalonia.Themes.Fluent/FluentTheme.xaml.cs","FluentTheme","DensityStyle (setter)","正常系","DensityStyleがCompactに設定できること","FluentThemeインスタンスが存在","DensityStyle.Compact","_densityStyleがCompactになる","中","プロパティsetterの動作"
"58","UT-FLU-058","src/Avalonia.Themes.Fluent/FluentTheme.xaml.cs","FluentTheme","OnPropertyChanged","正常系","DensityStyle変更時にNotifyHostedResourcesChangedが呼ばれること","Ownerが設定済み","DensityStyleプロパティを変更","Owner.NotifyHostedResourcesChangedが呼ばれる","中","プロパティ変更通知"
"59","UT-FLU-059","src/Avalonia.Themes.Fluent/FluentTheme.xaml.cs","FluentTheme","OnPropertyChanged","正常系","他のプロパティ変更時には何も起きないこと","FluentThemeインスタンスが存在","DensityStyle以外のプロパティを変更","NotifyHostedResourcesChangedが呼ばれない","低","プロパティ変更フィルタ"
"60","UT-FLU-060","src/Avalonia.Themes.Fluent/FluentTheme.xaml.cs","FluentTheme","TryGetResource","正常系","CompactモードでCompactStylesからリソースが取得できること","DensityStyle=Compact, CompactStylesにリソースあり","key=""CompactResource"", theme=null","valueにリソースが設定され、trueを返す","高","Compactリソース優先取得"
"61","UT-FLU-061","src/Avalonia.Themes.Fluent/FluentTheme.xaml.cs","FluentTheme","TryGetResource","正常系","CompactモードでCompactStylesにないリソースはベースから取得されること","DensityStyle=Compact, CompactStylesにリソースなし","key=""BaseResource"", theme=null","ベースのTryGetResourceが呼ばれる","中","フォールバック動作"
"62","UT-FLU-062","src/Avalonia.Themes.Fluent/FluentTheme.xaml.cs","FluentTheme","TryGetResource","正常系","NormalモードではCompactStylesがスキップされること","DensityStyle=Normal","key=""SomeResource"", theme=null","CompactStylesをスキップしてベースのTryGetResourceが呼ばれる","中","Normalモード動作"
"63","UT-FLU-063","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","コンストラクタ","正常系","初期容量2の内部辞書が作成されること","なし","なし","_innerが初期化される","中","初期化の基本動作"
"64","UT-FLU-064","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","HasResources","正常系","要素がある場合にtrueを返すこと","辞書に要素を追加済み","なし","trueを返す","中","リソース存在確認"
"65","UT-FLU-065","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","HasResources","境界値","要素がない場合にfalseを返すこと","辞書が空","なし","falseを返す","中","空辞書の確認"
"66","UT-FLU-066","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","TryGetResource","正常系","Light/Darkテーマで対応するパレットからリソースが取得できること","ThemeVariant.Lightのパレットを追加済み","key=""SomeColor"", theme=ThemeVariant.Light","valueに色が設定され、trueを返す","高","テーマ別リソース取得"
"67","UT-FLU-067","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","TryGetResource","正常系","themeがnullの場合Lightテーマが使用されること","ThemeVariant.Lightのパレットを追加済み","key=""SomeColor"", theme=null","Lightパレットからリソースが取得される","中","デフォルトテーマ動作"
"68","UT-FLU-068","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","TryGetResource","正常系","themeがDefaultの場合Lightテーマが使用されること","ThemeVariant.Lightのパレットを追加済み","key=""SomeColor"", theme=ThemeVariant.Default","Lightパレットからリソースが取得される","中","Defaultテーマの解決"
"69","UT-FLU-069","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","TryGetResource","異常系","対応するテーマのパレットがない場合falseを返すこと","辞書が空","key=""SomeColor"", theme=ThemeVariant.Light","falseを返し、valueはnull","中","パレット未登録時の処理"
"70","UT-FLU-070","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","TryGetResource","異常系","パレットにキーが存在しない場合falseを返すこと","パレットを追加済みだがキーなし","key=""NonExistentKey"", theme=ThemeVariant.Light","falseを返し、valueはnull","中","キー不存在時の処理"
"71","UT-FLU-071","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","OnAddOwner","正常系","オーナー追加時に全パレットにオーナーが追加されること","複数のパレットが登録済み","owner=IResourceHostインスタンス","各パレットのAddOwnerが呼ばれる","中","オーナー伝播"
"72","UT-FLU-072","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","OnRemoveOwner","正常系","オーナー削除時に全パレットからオーナーが削除されること","オーナーが追加済み","owner=IResourceHostインスタンス","各パレットのRemoveOwnerが呼ばれる","中","オーナー伝播"
"73","UT-FLU-073","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","Add (KeyValue)","正常系","Light/Darkバリアントのパレットが追加できること","空のコレクション","key=ThemeVariant.Light, value=ColorPaletteResources","辞書に追加される","中","パレット追加"
"74","UT-FLU-074","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","Add (KeyValue)","異常系","Light/Dark以外のバリアントを追加すると例外がスローされること","空のコレクション","key=ThemeVariant.HighContrast, value=ColorPaletteResources","InvalidOperationExceptionがスローされる","高","サポート外テーマの拒否"
"75","UT-FLU-075","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","Add (KeyValue)","正常系","Ownerがある状態で追加するとパレットにもOwnerが追加されること","Ownerが設定済み","key=ThemeVariant.Light, value=ColorPaletteResources","追加されたパレットにAddOwnerが呼ばれる","中","オーナー自動設定"
"76","UT-FLU-076","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","Clear","正常系","全要素がクリアされること","複数のパレットが登録済み","なし","辞書が空になる","中","クリア機能"
"77","UT-FLU-077","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","Contains","正常系","登録済みの要素に対してtrueを返すこと","パレットを追加済み","KeyValuePair","trueを返す","低","存在確認"
"78","UT-FLU-078","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","Contains","正常系","未登録の要素に対してfalseを返すこと","パレットを追加済み","未登録のKeyValuePair","falseを返す","低","不存在確認"
"79","UT-FLU-079","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","CopyTo","正常系","要素が配列にコピーされること","複数のパレットが登録済み","array, arrayIndex=0","配列に要素がコピーされる","低","コピー機能"
"80","UT-FLU-080","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","Remove (KeyValue)","正常系","要素が削除できること","パレットを追加済み","登録済みのKeyValuePair","trueを返し、要素が削除される","中","削除機能"
"81","UT-FLU-081","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","Remove (KeyValue)","正常系","Ownerがある状態で削除するとパレットからOwnerが削除されること","Ownerが設定済み、パレットを追加済み","登録済みのKeyValuePair","削除されるパレットからRemoveOwnerが呼ばれる","中","オーナー自動削除"
"82","UT-FLU-082","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","Count","正常系","登録要素数が取得できること","複数のパレットが登録済み","なし","正しい要素数が返される","低","要素数確認"
"83","UT-FLU-083","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","IsReadOnly","正常系","読み取り専用フラグが取得できること","なし","なし","_innerのIsReadOnlyが返される","低","フラグ確認"
"84","UT-FLU-084","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","Add (key, value)","正常系","キーと値で要素が追加できること","空のコレクション","key=ThemeVariant.Dark, value=ColorPaletteResources","辞書に追加される","中","キー指定追加"
"85","UT-FLU-085","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","ContainsKey","正常系","登録済みキーに対してtrueを返すこと","パレットを追加済み","key=ThemeVariant.Light","trueを返す","低","キー存在確認"
"86","UT-FLU-086","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","ContainsKey","正常系","未登録キーに対してfalseを返すこと","空のコレクション","key=ThemeVariant.Dark","falseを返す","低","キー不存在確認"
"87","UT-FLU-087","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","Remove (key)","正常系","キー指定で要素が削除できること","パレットを追加済み","key=ThemeVariant.Light","trueを返し、要素が削除される","中","キー指定削除"
"88","UT-FLU-088","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","TryGetValue","正常系","登録済みキーで値が取得できること","パレットを追加済み","key=ThemeVariant.Light","trueを返し、valueにパレットが設定される","中","値取得"
"89","UT-FLU-089","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","TryGetValue","正常系","未登録キーでfalseを返すこと","空のコレクション","key=ThemeVariant.Dark","falseを返し、valueはdefault","中","未登録キー処理"
"90","UT-FLU-090","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","Indexer (getter)","正常系","インデクサで値が取得できること","パレットを追加済み","key=ThemeVariant.Light","登録したパレットが返される","中","インデクサ取得"
"91","UT-FLU-091","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","Indexer (setter)","正常系","インデクサで値が設定できること","空のコレクション","key=ThemeVariant.Light, value=ColorPaletteResources","辞書に設定される","中","インデクサ設定"
"92","UT-FLU-092","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","Keys","正常系","登録済みキーのコレクションが取得できること","複数のパレットが登録済み","なし","キーのコレクションが返される","低","キーコレクション取得"
"93","UT-FLU-093","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","Values","正常系","登録済み値のコレクションが取得できること","複数のパレットが登録済み","なし","値のコレクションが返される","低","値コレクション取得"
"94","UT-FLU-094","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","GetEnumerator (generic)","正常系","ジェネリック列挙子が取得できること","パレットが登録済み","なし","IEnumerator<KeyValuePair>が返される","低","列挙機能"
"95","UT-FLU-095","src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs","ColorPaletteResourcesCollection","GetEnumerator (non-generic)","正常系","非ジェネリック列挙子が取得できること","パレットが登録済み","なし","IEnumeratorが返される","低","列挙機能"
"1","UT-SIM-001","src/Avalonia.Themes.Simple/SimpleTheme.xaml.cs","SimpleTheme","コンストラクタ","正常系","サービスプロバイダがnullの場合にテーマが正常に初期化されること","AvaloniaXamlLoaderが利用可能","sp=null","SimpleThemeインスタンスが正常に生成され、XAMLがロードされる","高","デフォルトコンストラクタの基本動作確認"
"2","UT-SIM-002","src/Avalonia.Themes.Simple/SimpleTheme.xaml.cs","SimpleTheme","コンストラクタ","正常系","有効なサービスプロバイダを渡した場合にテーマが正常に初期化されること","AvaloniaXamlLoaderが利用可能、有効なIServiceProviderが存在","sp=有効なIServiceProviderインスタンス","SimpleThemeインスタンスが正常に生成され、サービスプロバイダを使用してXAMLがロードされる","高","サービスプロバイダ経由でのリソース解決を確認"
"3","UT-SIM-003","src/Avalonia.Themes.Simple/SimpleTheme.xaml.cs","SimpleTheme","コンストラクタ","正常系","Stylesクラスを継承していることの確認","なし","なし","SimpleThemeインスタンスがStyles型として扱える","中","継承関係の確認"
"4","UT-SIM-004","src/Avalonia.Themes.Simple/SimpleTheme.xaml.cs","SimpleTheme","コンストラクタ","正常系","複数のSimpleThemeインスタンスを生成できること","AvaloniaXamlLoaderが利用可能","複数回のコンストラクタ呼び出し","各インスタンスが独立して正常に生成される","中","複数インスタンス生成の確認"
"5","UT-SIM-005","src/Avalonia.Themes.Simple/SimpleTheme.xaml.cs","SimpleTheme","コンストラクタ","異常系","不正なサービスプロバイダを渡した場合の挙動","AvaloniaXamlLoaderが利用可能","sp=不正なサービスを返すIServiceProviderモック","適切な例外がスローされるか、フォールバック動作が行われる","中","エラーハンドリングの確認"
"6","UT-SIM-006","src/Avalonia.Themes.Simple/SimpleTheme.xaml.cs","SimpleTheme","コンストラクタ","異常系","XAMLリソースが見つからない場合の挙動","XAMLリソースが存在しない状態","sp=null","適切な例外（XamlLoadExceptionなど）がスローされる","高","リソース不在時のエラー処理確認"
"7","UT-SIM-007","src/Avalonia.Themes.Simple/SimpleTheme.xaml.cs","SimpleTheme","（Styles継承）","正常系","スタイルコレクションとして機能すること","SimpleThemeインスタンスが生成済み","Stylesプロパティへのアクセス","テーマに含まれるスタイル定義が取得できる","中","Styles基底クラスの機能確認"
"8","UT-SIM-008","src/Avalonia.Themes.Simple/SimpleTheme.xaml.cs","SimpleTheme","（Styles継承）","正常系","Applicationのスタイルとして適用できること","Avaloniaアプリケーションが初期化済み","Application.Current.Styles.Add(new SimpleTheme())","テーマがアプリケーションに正常に適用される","高","実際の使用シナリオ確認"
"9","UT-SIM-009","src/Avalonia.Themes.Simple/SimpleTheme.xaml.cs","SimpleTheme","（Styles継承）","正常系","コントロールにスタイルが適用されること","SimpleThemeが適用されたアプリケーション","Button等の標準コントロールを生成","コントロールにSimpleThemeのスタイルが適用される","高","テーマ適用の動作確認"
"10","UT-SIM-010","src/Avalonia.Themes.Simple/Properties/AssemblyInfo.cs","（アセンブリ属性）","XmlnsDefinition","正常系","XAML名前空間が正しく定義されていること","アセンブリがロード済み","リフレクションでXmlnsDefinition属性を取得","ClrNamespace=""Avalonia.Themes.Simple""、XmlNamespace=""https://github.com/avaloniaui""が設定されている","低","メタデータの確認"
"1","UT-VLK-001","src/Avalonia.Vulkan/VulkanException.cs","VulkanException","VulkanException(string)","正常系","メッセージ付き例外が正常に生成されること","なし","message=""Test error""","Messageプロパティが""Test error""を返すこと","中","基本コンストラクタ"
"2","UT-VLK-002","src/Avalonia.Vulkan/VulkanException.cs","VulkanException","VulkanException(string, int)","正常系","関数名とエラーコード付き例外が正常に生成されること","なし","funcName=""vkCreateInstance"", res=-1","Messageが関数名とVkResult値を含むこと","中","エラーコード付きコンストラクタ"
"3","UT-VLK-003","src/Avalonia.Vulkan/VulkanException.cs","VulkanException","ThrowOnError","正常系","VK_SUCCESS時に例外がスローされないこと","なし","funcName=""test"", res=0 (VK_SUCCESS)","例外がスローされないこと","高","成功時の挙動確認"
"4","UT-VLK-004","src/Avalonia.Vulkan/VulkanException.cs","VulkanException","ThrowOnError","異常系","エラーコード時にVulkanExceptionがスローされること","なし","funcName=""vkTest"", res=-1 (VK_ERROR_OUT_OF_HOST_MEMORY)","VulkanExceptionがスローされること","高","エラー時の挙動確認"
"5","UT-VLK-005","src/Avalonia.Vulkan/VulkanException.cs","VulkanExceptionExtensions","ThrowOnError","正常系","VkResult成功時に例外がスローされないこと","なし","VkResult.VK_SUCCESS, funcName=""test""","例外がスローされないこと","高","拡張メソッドの成功ケース"
"6","UT-VLK-006","src/Avalonia.Vulkan/VulkanException.cs","VulkanExceptionExtensions","ThrowOnError","異常系","VkResultエラー時に例外がスローされること","なし","VkResult.VK_ERROR_DEVICE_LOST, funcName=""vkTest""","VulkanExceptionがスローされること","高","拡張メソッドのエラーケース"
"7","UT-VLK-007","src/Avalonia.Vulkan/VulkanOptions.cs","VulkanOptions","プロパティ初期化","正常系","デフォルト値が正しく設定されること","なし","new VulkanOptions()","VulkanInstanceCreationOptionsとVulkanDeviceCreationOptionsが初期化されていること","中","デフォルトコンストラクタ"
"8","UT-VLK-008","src/Avalonia.Vulkan/VulkanOptions.cs","VulkanInstanceCreationOptions","VulkanVersion","正常系","デフォルトバージョンが1.1.0であること","なし","new VulkanInstanceCreationOptions()","VulkanVersion==new Version(1, 1, 0)","中","デフォルトバージョン確認"
"9","UT-VLK-009","src/Avalonia.Vulkan/VulkanOptions.cs","VulkanInstanceCreationOptions","InstanceExtensions","正常系","拡張機能リストが空リストで初期化されること","なし","new VulkanInstanceCreationOptions()","InstanceExtensions.Count==0","低","コレクション初期化確認"
"10","UT-VLK-010","src/Avalonia.Vulkan/VulkanOptions.cs","VulkanInstanceCreationOptions","EnabledLayers","正常系","レイヤーリストが空リストで初期化されること","なし","new VulkanInstanceCreationOptions()","EnabledLayers.Count==0","低","コレクション初期化確認"
"11","UT-VLK-011","src/Avalonia.Vulkan/VulkanOptions.cs","VulkanDeviceCreationOptions","DeviceExtensions","正常系","デバイス拡張リストが空リストで初期化されること","なし","new VulkanDeviceCreationOptions()","DeviceExtensions.Count==0","低","コレクション初期化確認"
"12","UT-VLK-012","src/Avalonia.Vulkan/VulkanOptions.cs","VulkanDeviceCreationOptions","PreferDiscreteGpu","正常系","デフォルトでfalseであること","なし","new VulkanDeviceCreationOptions()","PreferDiscreteGpu==false","低","デフォルト値確認"
"13","UT-VLK-013","src/Avalonia.Vulkan/VulkanOptions.cs","VulkanPlatformSpecificOptions","RequiredInstanceExtensions","正常系","必須拡張リストが空リストで初期化されること","なし","new VulkanPlatformSpecificOptions()","RequiredInstanceExtensions.Count==0","低","コレクション初期化確認"
"14","UT-VLK-014","src/Avalonia.Vulkan/VulkanBindings.cs","VulkanHelpers","MakeVersion(Version)","正常系","Version型からVulkanバージョン番号が正しく生成されること","なし","new Version(1, 2, 3)","(1 << 22) | (2 << 12) | 3 が返却されること","高","バージョン変換"
"15","UT-VLK-015","src/Avalonia.Vulkan/VulkanBindings.cs","VulkanHelpers","MakeVersion(int, int, int)","正常系","個別の引数からVulkanバージョン番号が正しく生成されること","なし","major=1, minor=1, patch=0","(1 << 22) | (1 << 12) | 0 が返却されること","高","バージョン変換"
"16","UT-VLK-016","src/Avalonia.Vulkan/VulkanBindings.cs","VulkanHelpers","MakeVersion(int, int, int)","境界値","メジャーバージョン0の場合","なし","major=0, minor=0, patch=0","0が返却されること","中","最小値テスト"
"17","UT-VLK-017","src/Avalonia.Vulkan/VulkanBindings.cs","VulkanHelpers","QueueFamilyIgnored","正常系","定数値が正しいこと","なし","VulkanHelpers.QueueFamilyIgnored","4294967295 (uint.MaxValue)が返却されること","低","定数確認"
"18","UT-VLK-018","src/Avalonia.Vulkan/VulkanImageInfo.cs","VulkanImageInfo","プロパティ設定","正常系","すべてのプロパティが正しく設定・取得できること","なし","各プロパティに値を設定","設定した値が取得できること","中","レコード構造体のプロパティ"
"19","UT-VLK-019","src/Avalonia.Vulkan/VulkanImageInfo.cs","VulkanImageInfo","PixelSize","正常系","PixelSizeプロパティが正しく設定されること","なし","PixelSize=new PixelSize(100, 200)","Width=100, Height=200が取得できること","中","ピクセルサイズ設定"
"20","UT-VLK-020","src/Avalonia.Vulkan/VulkanContext.cs","VulkanContext","コンストラクタ","正常系","VulkanContextが正しく初期化されること","有効なIVulkanDeviceとplatformFeatures","device=mockDevice, platformFeatures=new Dictionary<Type, object>()","Device, Instanceプロパティが正しく設定されること","高","コンテキスト初期化"
"21","UT-VLK-021","src/Avalonia.Vulkan/VulkanContext.cs","VulkanContext","TryGetFeature","正常系","IVulkanContextExternalObjectsFeature型でfeatureが取得できること","外部オブジェクト機能が有効","featureType=typeof(IVulkanContextExternalObjectsFeature)","VulkanExternalObjectsFeatureインスタンスが返却されること","中","機能取得"
"22","UT-VLK-022","src/Avalonia.Vulkan/VulkanContext.cs","VulkanContext","TryGetFeature","異常系","未対応の型でnullが返却されること","なし","featureType=typeof(string)","nullが返却されること","中","未対応型の処理"
"23","UT-VLK-023","src/Avalonia.Vulkan/VulkanContext.cs","VulkanContext","IsLost","正常系","デバイスのIsLost状態が正しく返却されること","なし","Device.IsLost=false","falseが返却されること","中","状態確認"
"24","UT-VLK-024","src/Avalonia.Vulkan/VulkanContext.cs","VulkanContext","EnsureCurrent","正常系","デバイスロックが取得できること","有効なデバイス","EnsureCurrent()呼び出し","IDisposableが返却されること","高","ロック取得"
"25","UT-VLK-025","src/Avalonia.Vulkan/VulkanContext.cs","VulkanContext","CreateRenderTarget","正常系","IVulkanKhrSurfacePlatformSurface型からレンダーターゲットが作成されること","有効なsurface","surfaces=[mockKhrSurface]","VulkanKhrRenderTargetが返却されること","高","レンダーターゲット作成"
"26","UT-VLK-026","src/Avalonia.Vulkan/VulkanContext.cs","VulkanContext","CreateRenderTarget","異常系","適切なsurfaceがない場合VulkanExceptionがスローされること","なし","surfaces=[]","VulkanExceptionがスローされること","高","エラーハンドリング"
"27","UT-VLK-027","src/Avalonia.Vulkan/VulkanPlatformGraphics.cs","VulkanPlatformGraphics","CreateContext","正常系","新しいVulkanContextが作成されること","有効なfactoryとplatformOptions","CreateContext()呼び出し","IPlatformGraphicsContextが返却されること","高","コンテキスト生成"
"28","UT-VLK-028","src/Avalonia.Vulkan/VulkanPlatformGraphics.cs","VulkanPlatformGraphics","GetSharedContext","正常系","共有コンテキストが取得できること","有効なfactory","GetSharedContext()呼び出し","IPlatformGraphicsContextが返却されること","高","共有コンテキスト取得"
"29","UT-VLK-029","src/Avalonia.Vulkan/VulkanPlatformGraphics.cs","VulkanPlatformGraphics","GetSharedContext","正常系","既存コンテキストがLostの場合に新規作成されること","_currentSharedContext.IsLost=true","GetSharedContext()呼び出し","新しいコンテキストが返却されること","高","Lost状態のリカバリ"
"30","UT-VLK-030","src/Avalonia.Vulkan/VulkanPlatformGraphics.cs","VulkanPlatformGraphics","UsesSharedContext","正常系","factoryのUsesShadedDevice値が返却されること","factory.UsesShadedDevice=true","UsesSharedContext","trueが返却されること","低","プロパティ確認"
"31","UT-VLK-031","src/Avalonia.Vulkan/VulkanPlatformGraphics.cs","VulkanPlatformGraphics","TryCreate","正常系","CustomSharedDevice指定時に正しく初期化されること","options.CustomSharedDevice!=null","TryCreate(options, platformOptions)","VulkanPlatformGraphicsインスタンスが返却されること","高","カスタムデバイス使用"
"32","UT-VLK-032","src/Avalonia.Vulkan/VulkanPlatformGraphics.cs","VulkanPlatformGraphics","TryCreate","異常系","初期化失敗時にnullが返却されること","不正なoptions","TryCreate(invalidOptions, platformOptions)","nullが返却されること","高","初期化エラー処理"
"33","UT-VLK-033","src/Avalonia.Vulkan/VulkanPlatformGraphics.cs","DefaultDeviceFactory","CreateDevice","正常系","新しいデバイスが作成されること","有効なinstance","CreateDevice(platformOptions)","IVulkanDeviceが返却されること","高","デバイス生成"
"34","UT-VLK-034","src/Avalonia.Vulkan/VulkanPlatformGraphics.cs","DefaultDeviceFactory","GetSharedDevice","異常系","NotSupportedExceptionがスローされること","なし","GetSharedDevice(platformOptions)","NotSupportedExceptionがスローされること","中","未サポート操作"
"35","UT-VLK-035","src/Avalonia.Vulkan/VulkanPlatformGraphics.cs","CustomSharedDeviceFactory","GetSharedDevice","正常系","設定されたデバイスが返却されること","_device設定済み","GetSharedDevice(platformOptions)","コンストラクタで渡したdeviceが返却されること","中","共有デバイス取得"
"36","UT-VLK-036","src/Avalonia.Vulkan/VulkanPlatformGraphics.cs","CustomSharedDeviceFactory","CreateDevice","異常系","NotSupportedExceptionがスローされること","なし","CreateDevice(platformOptions)","NotSupportedExceptionがスローされること","中","未サポート操作"
"37","UT-VLK-037","src/Avalonia.Vulkan/VulkanKhrSurfaceRenderTarget.cs","VulkanKhrRenderTarget","コンストラクタ","正常系","RenderTargetが正しく初期化されること","有効なsurfaceとcontext","new VulkanKhrRenderTarget(surface, context)","Format, IsRgbaプロパティが設定されること","高","初期化"
"38","UT-VLK-038","src/Avalonia.Vulkan/VulkanKhrSurfaceRenderTarget.cs","VulkanKhrRenderTarget","IsRgba","正常系","RGBA形式の場合trueが返却されること","SurfaceFormat.format=VK_FORMAT_R8G8B8A8_UNORM","IsRgba","trueが返却されること","中","形式判定"
"39","UT-VLK-039","src/Avalonia.Vulkan/VulkanKhrSurfaceRenderTarget.cs","VulkanKhrRenderTarget","IsRgba","正常系","BGRA形式の場合falseが返却されること","SurfaceFormat.format=VK_FORMAT_B8G8R8A8_UNORM","IsRgba","falseが返却されること","中","形式判定"
"40","UT-VLK-040","src/Avalonia.Vulkan/VulkanKhrSurfaceRenderTarget.cs","VulkanKhrRenderTarget","BeginDraw","正常系","RenderSessionが返却されること","有効なdisplay","BeginDraw()","IVulkanRenderSessionが返却されること","高","描画開始"
"41","UT-VLK-041","src/Avalonia.Vulkan/VulkanKhrSurfaceRenderTarget.cs","VulkanKhrRenderTarget","Dispose","正常系","リソースが正しく解放されること","初期化済みRenderTarget","Dispose()","例外なく完了すること","高","リソース解放"
"42","UT-VLK-042","src/Avalonia.Vulkan/VulkanKhrSurfaceRenderTarget.cs","RenderingSession","Size","正常系","イメージサイズが正しく返却されること","有効なimage","Size","image.Sizeと同じ値が返却されること","中","サイズ取得"
"43","UT-VLK-043","src/Avalonia.Vulkan/VulkanKhrSurfaceRenderTarget.cs","RenderingSession","IsYFlipped","正常系","常にtrueが返却されること","なし","IsYFlipped","trueが返却されること","低","Y反転フラグ"
"44","UT-VLK-044","src/Avalonia.Vulkan/VulkanKhrSurfaceRenderTarget.cs","RenderingSession","ImageInfo","正常系","VulkanImageInfoが正しく返却されること","有効なimage","ImageInfo","image.ImageInfoと同じ値が返却されること","中","イメージ情報取得"
"45","UT-VLK-045","src/Avalonia.Vulkan/VulkanKhrSurfaceRenderTarget.cs","RenderingSession","Dispose","正常系","プレゼンテーション処理が実行されること","有効なDisplay","Dispose()","Display.StartPresentation、BlitImageToCurrentImage、EndPresentationが呼ばれること","高","描画完了処理"
"46","UT-VLK-046","src/Avalonia.Vulkan/Interop/VulkanDevice.cs","VulkanDevice","Lock","正常系","モニターロックが取得できること","なし","Lock()","IDisposableが返却されること","高","スレッドロック"
"47","UT-VLK-047","src/Avalonia.Vulkan/Interop/VulkanDevice.cs","VulkanDevice","Lock","正常系","ロック解放後にスレッドがnullになること","ロック取得済み","lockDisposable.Dispose()","_lockedByThreadがnullになること","高","ロック解放"
"48","UT-VLK-048","src/Avalonia.Vulkan/Interop/VulkanDevice.cs","VulkanDevice","Lock","正常系","入れ子ロックが正しく動作すること","なし","Lock()を2回呼び出し","lockCount=2、外側のDispose後もスレッドが維持されること","高","入れ子ロック"
"49","UT-VLK-049","src/Avalonia.Vulkan/Interop/VulkanDevice.cs","VulkanDevice","MainQueueHandle","異常系","ロック未取得時にInvalidOperationExceptionがスローされること","ロック未取得","MainQueueHandle","InvalidOperationExceptionがスローされること","高","アクセス制御"
"50","UT-VLK-050","src/Avalonia.Vulkan/Interop/VulkanDevice.cs","VulkanDevice","EnabledExtensions","正常系","有効な拡張のリストが返却されること","拡張有効化済み","EnabledExtensions","コンストラクタで渡した拡張リストが返却されること","中","拡張取得"
"51","UT-VLK-051","src/Avalonia.Vulkan/Interop/VulkanDevice.cs","VulkanDevice","IsLost","正常系","常にfalseが返却されること","なし","IsLost","falseが返却されること","低","Lost状態確認"
"52","UT-VLK-052","src/Avalonia.Vulkan/Interop/VulkanDevice.cs","VulkanDevice","Dispose","正常系","デバイスハンドルが正しく破棄されること","有効なハンドル","Dispose()","_handle.HandleがIntPtr.Zeroになること","高","リソース解放"
"53","UT-VLK-053","src/Avalonia.Vulkan/Interop/VulkanDevice.cs","VulkanDevice","Dispose","正常系","二重Disposeでも例外が発生しないこと","Dispose済み","Dispose()","例外なく完了すること","中","二重解放対策"
"54","UT-VLK-054","src/Avalonia.Vulkan/Interop/VulkanDevice.cs","VulkanDevice","TryGetFeature","正常系","常にnullが返却されること","なし","TryGetFeature(typeof(object))","nullが返却されること","低","機能未サポート"
"55","UT-VLK-055","src/Avalonia.Vulkan/Interop/VulkanDevice.Create.cs","VulkanDevice","Create","正常系","デバイスが正常に作成されること","有効なinstance、options、platformOptions","Create(instance, options, platformOptions)","IVulkanDeviceが返却されること","高","デバイス生成"
"56","UT-VLK-056","src/Avalonia.Vulkan/Interop/VulkanDevice.Create.cs","VulkanDevice","Create","異常系","デバイスが見つからない場合VulkanExceptionがスローされること","deviceCount=0","Create(instance, options, platformOptions)","VulkanException(""No devices found"")がスローされること","高","デバイス未検出エラー"
"57","UT-VLK-057","src/Avalonia.Vulkan/Interop/VulkanDevice.Create.cs","VulkanDevice","Create","異常系","互換デバイスがない場合VulkanExceptionがスローされること","互換デバイスなし","Create(instance, options, platformOptions)","VulkanException(""No compatible devices found"")がスローされること","高","互換性エラー"
"58","UT-VLK-058","src/Avalonia.Vulkan/Interop/VulkanDevice.Create.cs","VulkanDevice","Create","正常系","PreferDiscreteGpu=true時にディスクリートGPUが優先されること","ディスクリートGPUと統合GPU存在","options.PreferDiscreteGpu=true","ディスクリートGPUのデバイスが返却されること","中","GPU選択優先度"
"59","UT-VLK-059","src/Avalonia.Vulkan/Interop/VulkanDevice.Create.cs","VulkanDevice","GetDeviceExtensions","正常系","サポートされている拡張のリストが取得できること","有効なphysicalDevice","GetDeviceExtensions(instance, physicalDevice)","拡張名のリストが返却されること","中","拡張列挙"
"60","UT-VLK-060","src/Avalonia.Vulkan/Interop/VulkanDevice.Create.cs","VulkanDevice","CheckDevice","正常系","互換デバイスの場合DeviceInfoが返却されること","互換デバイス","CheckDevice(instance, physicalDevice, options, null)","DeviceInfo?が返却されること","高","デバイス検証"
"61","UT-VLK-061","src/Avalonia.Vulkan/Interop/VulkanDevice.Create.cs","VulkanDevice","CheckDevice","正常系","VK_KHR_swapchain未サポート時にnullが返却されること","swapchain非サポートデバイス","CheckDevice(instance, physicalDevice, options, null)","nullが返却されること","高","swapchain要件"
"62","UT-VLK-062","src/Avalonia.Vulkan/Interop/VulkanInstance.cs","VulkanInstance","Create","正常系","Vulkanインスタンスが正常に作成されること","有効なoptions","Create(options, platformOptions)","IVulkanInstanceが返却されること","高","インスタンス生成"
"63","UT-VLK-063","src/Avalonia.Vulkan/Interop/VulkanInstance.cs","VulkanInstance","Create","異常系","getProcAddressがない場合ArgumentExceptionがスローされること","getProcAddress=null","Create(options, platformOptions)","ArgumentException(""No VkGetInstanceProcAddr provided"")がスローされること","高","引数検証"
"64","UT-VLK-064","src/Avalonia.Vulkan/Interop/VulkanInstance.cs","VulkanInstance","Create","正常系","UseDebug=true時にデバッグ拡張が有効化されること","options.UseDebug=true","Create(options, platformOptions)","VK_EXT_debug_utilsが有効化されること","中","デバッグ機能"
"65","UT-VLK-065","src/Avalonia.Vulkan/Interop/VulkanInstance.cs","VulkanInstance","GetInstanceProcAddress","正常系","関数ポインタが取得できること","有効なインスタンス","GetInstanceProcAddress(instance, ""vkGetDeviceProcAddr"")","IntPtr.Zero以外が返却されること","高","関数取得"
"66","UT-VLK-066","src/Avalonia.Vulkan/Interop/VulkanInstance.cs","VulkanInstance","GetDeviceProcAddress","正常系","デバイス関数ポインタが取得できること","有効なデバイス","GetDeviceProcAddress(device, ""vkDestroyDevice"")","IntPtr.Zero以外が返却されること","高","デバイス関数取得"
"67","UT-VLK-067","src/Avalonia.Vulkan/Interop/VulkanInstance.cs","VulkanInstance","EnabledExtensions","正常系","有効な拡張のリストが返却されること","拡張有効化済み","EnabledExtensions","コンストラクタで渡した拡張が含まれること","中","拡張確認"
"68","UT-VLK-068","src/Avalonia.Vulkan/Interop/VulkanInstance.cs","VulkanInstance","IsLayerAvailable","正常系","存在するレイヤーでtrueが返却されること","VK_LAYER_KHRONOS_validation存在","IsLayerAvailable(api, ""VK_LAYER_KHRONOS_validation"")","trueが返却されること","中","レイヤー確認"
"69","UT-VLK-069","src/Avalonia.Vulkan/Interop/VulkanInstance.cs","VulkanInstance","IsLayerAvailable","正常系","存在しないレイヤーでfalseが返却されること","なし","IsLayerAvailable(api, ""NONEXISTENT_LAYER"")","falseが返却されること","中","レイヤー未検出"
"70","UT-VLK-070","src/Avalonia.Vulkan/Interop/VulkanImage.cs","VulkanImageBase","コンストラクタ","正常系","イメージベースが正しく初期化されること","有効なcontext","new VulkanImageBase(context, pool, format, size)","Format, Sizeプロパティが設定されること","高","初期化"
"71","UT-VLK-071","src/Avalonia.Vulkan/Interop/VulkanImage.cs","VulkanImageBase","Initialize","正常系","イメージとビューが作成されること","未初期化状態","Initialize(null)","_handle, _imageView, _imageMemoryが設定されること","高","イメージ作成"
"72","UT-VLK-072","src/Avalonia.Vulkan/Interop/VulkanImage.cs","VulkanImageBase","Initialize","正常系","二重初期化時に何もしないこと","初期化済み","Initialize(null)","既存の値が維持されること","中","二重初期化対策"
"73","UT-VLK-073","src/Avalonia.Vulkan/Interop/VulkanImage.cs","VulkanImageBase","TransitionLayout","正常系","レイアウト遷移が正しく実行されること","初期化済みイメージ","TransitionLayout(VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, VK_ACCESS_TRANSFER_READ_BIT)","CurrentLayoutが更新されること","高","レイアウト遷移"
"74","UT-VLK-074","src/Avalonia.Vulkan/Interop/VulkanImage.cs","VulkanImageBase","TransitionLayout(uint, uint)","正常系","uint型パラメータでレイアウト遷移できること","初期化済みイメージ","TransitionLayout(destinationLayout, destinationAccessFlags)","内部のTransitionLayoutが呼ばれること","中","オーバーロード"
"75","UT-VLK-075","src/Avalonia.Vulkan/Interop/VulkanImage.cs","VulkanImageBase","ImageInfo","正常系","正しいVulkanImageInfoが返却されること","初期化済みイメージ","ImageInfo","Handle, Size, Format等が正しく設定されたVulkanImageInfoが返却されること","中","情報取得"
"76","UT-VLK-076","src/Avalonia.Vulkan/Interop/VulkanImage.cs","VulkanImageBase","Dispose","正常系","すべてのリソースが解放されること","初期化済みイメージ","Dispose()","_imageView, _handle, _imageMemoryがdefaultになること","高","リソース解放"
"77","UT-VLK-077","src/Avalonia.Vulkan/Interop/VulkanImage.cs","VulkanImage","コンストラクタ","正常系","イメージが初期化され、レイアウト遷移が実行されること","有効なcontext","new VulkanImage(context, pool, format, size)","CurrentLayout==VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMALになること","高","完全初期化"
"78","UT-VLK-078","src/Avalonia.Vulkan/Interop/VulkanCommandBuffer.cs","VulkanCommandBuffer","コンストラクタ","正常系","コマンドバッファが正しく初期化されること","有効なpool","new VulkanCommandBuffer(pool, handle, context)","Handle, _fenceが設定されること","高","初期化"
"79","UT-VLK-079","src/Avalonia.Vulkan/Interop/VulkanCommandBuffer.cs","VulkanCommandBuffer","BeginRecording","正常系","コマンド記録が開始されること","未開始状態","BeginRecording()","_hasStarted==trueになること","高","記録開始"
"80","UT-VLK-080","src/Avalonia.Vulkan/Interop/VulkanCommandBuffer.cs","VulkanCommandBuffer","BeginRecording","正常系","二重呼び出しで何もしないこと","記録開始済み","BeginRecording()","エラーなく完了すること","中","二重開始対策"
"81","UT-VLK-081","src/Avalonia.Vulkan/Interop/VulkanCommandBuffer.cs","VulkanCommandBuffer","EndRecording","正常系","コマンド記録が終了すること","記録中","EndRecording()","_hasEnded==trueになること","高","記録終了"
"82","UT-VLK-082","src/Avalonia.Vulkan/Interop/VulkanCommandBuffer.cs","VulkanCommandBuffer","EndRecording","正常系","未開始時は何もしないこと","未開始","EndRecording()","_hasEnded==falseのままであること","中","未開始時の処理"
"83","UT-VLK-083","src/Avalonia.Vulkan/Interop/VulkanCommandBuffer.cs","VulkanCommandBuffer","Submit()","正常系","コマンドバッファがサブミットされること","記録済み","Submit()","poolにaddされること","高","サブミット"
"84","UT-VLK-084","src/Avalonia.Vulkan/Interop/VulkanCommandBuffer.cs","VulkanCommandBuffer","Submit(セマフォ付き)","正常系","セマフォ付きでサブミットされること","記録済み","Submit(waitSemaphores, waitDstStageMask, signalSemaphores)","セマフォが正しく設定されること","高","セマフォ付きサブミット"
"85","UT-VLK-085","src/Avalonia.Vulkan/Interop/VulkanCommandBuffer.cs","VulkanCommandBuffer","IsFinished","正常系","フェンスがシグナル状態の場合trueが返却されること","フェンスシグナル済み","IsFinished","trueが返却されること","中","完了確認"
"86","UT-VLK-086","src/Avalonia.Vulkan/Interop/VulkanCommandBuffer.cs","VulkanCommandBuffer","Dispose","正常系","リソースが正しく解放されること","有効なハンドル","Dispose()","_handle==defaultになること","高","リソース解放"
"87","UT-VLK-087","src/Avalonia.Vulkan/Interop/VulkanCommandBufferPool.cs","VulkanCommandBufferPool","コンストラクタ","正常系","コマンドプールが正しく作成されること","有効なcontext","new VulkanCommandBufferPool(context)","Handle!=0であること","高","初期化"
"88","UT-VLK-088","src/Avalonia.Vulkan/Interop/VulkanCommandBufferPool.cs","VulkanCommandBufferPool","CreateCommandBuffer","正常系","新しいコマンドバッファが作成されること","有効なpool","CreateCommandBuffer()","VulkanCommandBufferが返却されること","高","コマンドバッファ生成"
"89","UT-VLK-089","src/Avalonia.Vulkan/Interop/VulkanCommandBufferPool.cs","VulkanCommandBufferPool","CreateCommandBuffer","正常系","autoFree=true時に完了済みバッファが解放されること","autoFree=true、完了済みバッファあり","CreateCommandBuffer()","完了済みバッファがDisposeされること","中","自動解放"
"90","UT-VLK-090","src/Avalonia.Vulkan/Interop/VulkanCommandBufferPool.cs","VulkanCommandBufferPool","FreeUsedCommandBuffers","正常系","すべてのバッファが解放されること","複数バッファ登録済み","FreeUsedCommandBuffers()","_commandBuffers.Count==0になること","高","全解放"
"91","UT-VLK-091","src/Avalonia.Vulkan/Interop/VulkanCommandBufferPool.cs","VulkanCommandBufferPool","FreeFinishedCommandBuffers","正常系","完了済みバッファのみ解放されること","完了済みと未完了バッファあり","FreeFinishedCommandBuffers()","完了済みのみ解放されること","中","選択的解放"
"92","UT-VLK-092","src/Avalonia.Vulkan/Interop/VulkanCommandBufferPool.cs","VulkanCommandBufferPool","AddSubmittedCommandBuffer","正常系","バッファがキューに追加されること","なし","AddSubmittedCommandBuffer(buffer)","_commandBuffers.Count増加","中","キュー追加"
"93","UT-VLK-093","src/Avalonia.Vulkan/Interop/VulkanCommandBufferPool.cs","VulkanCommandBufferPool","Dispose","正常系","プールとバッファが解放されること","有効なpool","Dispose()","Handle==defaultになること","高","リソース解放"
"94","UT-VLK-094","src/Avalonia.Vulkan/Interop/VulkanDisplay.cs","VulkanDisplay","CreateDisplay","正常系","ディスプレイが正しく作成されること","有効なcontextとsurface","CreateDisplay(context, surface)","VulkanDisplayが返却されること","高","ディスプレイ生成"
"95","UT-VLK-095","src/Avalonia.Vulkan/Interop/VulkanDisplay.cs","VulkanDisplay","SurfaceFormat","正常系","サーフェスフォーマットが取得できること","有効なsurface","SurfaceFormat","VkSurfaceFormatKHRが返却されること","中","フォーマット取得"
"96","UT-VLK-096","src/Avalonia.Vulkan/Interop/VulkanDisplay.cs","VulkanDisplay","EnsureSwapchainAvailable","正常系","サイズ変更時にスワップチェーンが再作成されること","Size!=surface.Size","EnsureSwapchainAvailable()","trueが返却されること","高","スワップチェーン更新"
"97","UT-VLK-097","src/Avalonia.Vulkan/Interop/VulkanDisplay.cs","VulkanDisplay","EnsureSwapchainAvailable","正常系","サイズ変更なしの場合falseが返却されること","Size==surface.Size","EnsureSwapchainAvailable()","falseが返却されること","中","スワップチェーン維持"
"98","UT-VLK-098","src/Avalonia.Vulkan/Interop/VulkanDisplay.cs","VulkanDisplay","StartPresentation","正常系","コマンドバッファが取得でき、次のイメージが準備されること","有効なswapchain","StartPresentation()","VulkanCommandBufferが返却されること","高","プレゼンテーション開始"
"99","UT-VLK-099","src/Avalonia.Vulkan/Interop/VulkanDisplay.cs","VulkanDisplay","BlitImageToCurrentImage","正常系","イメージが現在のスワップチェーンイメージにブリットされること","有効なcommandBufferとimage","BlitImageToCurrentImage(commandBuffer, image)","CmdBlitImageが呼ばれること","高","イメージ転送"
"100","UT-VLK-100","src/Avalonia.Vulkan/Interop/VulkanDisplay.cs","VulkanDisplay","EndPresentation","正常系","プレゼンテーションが完了しキューに提出されること","StartPresentation済み","EndPresentation(commandBuffer)","vkQueuePresentKHRが呼ばれること","高","プレゼンテーション完了"
"101","UT-VLK-101","src/Avalonia.Vulkan/Interop/VulkanDisplay.cs","VulkanDisplay","Dispose","正常系","すべてのリソースが解放されること","初期化済みdisplay","Dispose()","swapchain, surface, poolが解放されること","高","リソース解放"
"102","UT-VLK-102","src/Avalonia.Vulkan/Interop/VulkanFence.cs","VulkanFence","コンストラクタ","正常系","フェンスが正しく作成されること","有効なcontext","new VulkanFence(context, flags)","Handle!=0であること","高","初期化"
"103","UT-VLK-103","src/Avalonia.Vulkan/Interop/VulkanFence.cs","VulkanFence","IsSignaled","正常系","シグナル状態の場合trueが返却されること","フェンスシグナル済み","IsSignaled","trueが返却されること","中","状態確認"
"104","UT-VLK-104","src/Avalonia.Vulkan/Interop/VulkanFence.cs","VulkanFence","IsSignaled","正常系","未シグナル状態の場合falseが返却されること","フェンス未シグナル","IsSignaled","falseが返却されること","中","状態確認"
"105","UT-VLK-105","src/Avalonia.Vulkan/Interop/VulkanFence.cs","VulkanFence","Wait","正常系","フェンスがシグナルされるまで待機すること","有効なフェンス","Wait()","例外なく完了すること","高","待機処理"
"106","UT-VLK-106","src/Avalonia.Vulkan/Interop/VulkanFence.cs","VulkanFence","Wait","正常系","タイムアウト指定で待機できること","有効なフェンス","Wait(1000)","タイムアウト後に完了すること","中","タイムアウト待機"
"107","UT-VLK-107","src/Avalonia.Vulkan/Interop/VulkanFence.cs","VulkanFence","Dispose","正常系","フェンスが解放されること","有効なフェンス","Dispose()","Handle==defaultになること","高","リソース解放"
"108","UT-VLK-108","src/Avalonia.Vulkan/Interop/VulkanSemaphore.cs","VulkanSemaphore","コンストラクタ(context)","正常系","セマフォが正しく作成されること","有効なcontext","new VulkanSemaphore(context)","Handle!=0であること","高","初期化"
"109","UT-VLK-109","src/Avalonia.Vulkan/Interop/VulkanSemaphore.cs","VulkanSemaphore","コンストラクタ(context, handle)","正常系","既存ハンドルでセマフォが初期化されること","有効なhandle","new VulkanSemaphore(context, handle)","Handle==handleであること","中","ハンドル初期化"
"110","UT-VLK-110","src/Avalonia.Vulkan/Interop/VulkanSemaphore.cs","VulkanSemaphore","Dispose","正常系","セマフォが解放されること","有効なセマフォ","Dispose()","Handle==defaultになること","高","リソース解放"
"111","UT-VLK-111","src/Avalonia.Vulkan/Interop/VulkanSemaphore.cs","VulkanSemaphore","Dispose","正常系","二重Disposeでも例外が発生しないこと","Dispose済み","Dispose()","例外なく完了すること","中","二重解放対策"
"112","UT-VLK-112","src/Avalonia.Vulkan/Interop/VulkanSemaphore.cs","VulkanSemaphorePair","コンストラクタ","正常系","2つのセマフォが作成されること","有効なcontext","new VulkanSemaphorePair(context)","ImageAvailableSemaphore, RenderFinishedSemaphoreが作成されること","高","ペア初期化"
"113","UT-VLK-113","src/Avalonia.Vulkan/Interop/VulkanSemaphore.cs","VulkanSemaphorePair","Dispose","正常系","両方のセマフォが解放されること","有効なペア","Dispose()","両セマフォがDisposeされること","高","リソース解放"
"114","UT-VLK-114","src/Avalonia.Vulkan/Interop/VulkanMemoryHelper.cs","VulkanMemoryHelper","FindSuitableMemoryTypeIndex","正常系","適切なメモリタイプインデックスが見つかること","有効なproperties","FindSuitableMemoryTypeIndex(context, memoryTypeBits, flags)","0以上の値が返却されること","高","メモリタイプ検索"
"115","UT-VLK-115","src/Avalonia.Vulkan/Interop/VulkanMemoryHelper.cs","VulkanMemoryHelper","FindSuitableMemoryTypeIndex","異常系","適切なメモリタイプがない場合-1が返却されること","該当メモリタイプなし","FindSuitableMemoryTypeIndex(context, 0, flags)","-1が返却されること","高","メモリタイプ未検出"
"116","UT-VLK-116","src/Avalonia.Vulkan/Interop/VulkanMemoryHelper.cs","VulkanMemoryHelper","TransitionLayout","正常系","イメージレイアウト遷移が実行されること","有効なcommandBuffer","TransitionLayout(context, commandBuffer, image, srcLayout, srcAccess, dstLayout, dstAccess, mipLevels)","CmdPipelineBarrierが呼ばれること","高","レイアウト遷移"
"117","UT-VLK-117","src/Avalonia.Vulkan/Interop/VulkanKhrSurface.cs","VulkanKhrSurface","コンストラクタ","正常系","サーフェスが正しく作成されること","有効なcontextとsurfaceInfo","new VulkanKhrSurface(context, surfaceInfo)","Handle!=0であること","高","初期化"
"118","UT-VLK-118","src/Avalonia.Vulkan/Interop/VulkanKhrSurface.cs","VulkanKhrSurface","CanSurfacePresent","正常系","プレゼント可能な場合trueが返却されること","プレゼント対応サーフェス","CanSurfacePresent()","trueが返却されること","高","プレゼント確認"
"119","UT-VLK-119","src/Avalonia.Vulkan/Interop/VulkanKhrSurface.cs","VulkanKhrSurface","CanSurfacePresent","正常系","プレゼント不可の場合falseが返却されること","プレゼント非対応サーフェス","CanSurfacePresent()","falseが返却されること","中","プレゼント不可確認"
"120","UT-VLK-120","src/Avalonia.Vulkan/Interop/VulkanKhrSurface.cs","VulkanKhrSurface","GetSurfaceFormat","正常系","サーフェスフォーマットが取得できること","有効なサーフェス","GetSurfaceFormat()","VkSurfaceFormatKHRが返却されること","高","フォーマット取得"
"121","UT-VLK-121","src/Avalonia.Vulkan/Interop/VulkanKhrSurface.cs","VulkanKhrSurface","GetSurfaceFormat","異常系","フォーマットがない場合VulkanExceptionがスローされること","フォーマットカウント=0","GetSurfaceFormat()","VulkanExceptionがスローされること","高","フォーマット未検出エラー"
"122","UT-VLK-122","src/Avalonia.Vulkan/Interop/VulkanKhrSurface.cs","VulkanKhrSurface","GetSurfaceFormat","正常系","UNDEFINED形式時にB8G8R8A8_UNORMが返却されること","format==VK_FORMAT_UNDEFINED","GetSurfaceFormat()","VK_FORMAT_B8G8R8A8_UNORMが返却されること","中","デフォルトフォーマット"
"123","UT-VLK-123","src/Avalonia.Vulkan/Interop/VulkanKhrSurface.cs","VulkanKhrSurface","Size","正常系","surfaceInfoのサイズが返却されること","有効なsurfaceInfo","Size","surfaceInfo.Sizeと同じ値が返却されること","低","サイズ取得"
"124","UT-VLK-124","src/Avalonia.Vulkan/Interop/VulkanKhrSurface.cs","VulkanKhrSurface","Dispose","正常系","サーフェスが解放されること","有効なサーフェス","Dispose()","Handle==defaultになること","高","リソース解放"
"125","UT-VLK-125","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","VulkanExternalObjectsFeature","コンストラクタ","正常系","外部オブジェクト機能が正しく初期化されること","有効なcontext","new VulkanExternalObjectsFeature(context)","SupportedImageHandleTypes, SupportedSemaphoreTypesが設定されること","高","初期化"
"126","UT-VLK-126","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","VulkanExternalObjectsFeature","SupportedImageHandleTypes","正常系","Windows環境でNtHandle/KmtHandleがサポートされること","Windows環境","SupportedImageHandleTypes","VulkanOpaqueNtHandle, VulkanOpaqueKmtHandleを含むこと","中","プラットフォーム依存"
"127","UT-VLK-127","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","VulkanExternalObjectsFeature","SupportedImageHandleTypes","正常系","Linux環境でPosixFileDescriptorがサポートされること","Linux環境","SupportedImageHandleTypes","VulkanOpaquePosixFileDescriptorを含むこと","中","プラットフォーム依存"
"128","UT-VLK-128","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","VulkanExternalObjectsFeature","GetSynchronizationCapabilities","正常系","サポートされているhandleTypeでSemaphoresが返却されること","サポートされているhandleType","GetSynchronizationCapabilities(handleType)","CompositionGpuImportedImageSynchronizationCapabilities.Semaphoresが返却されること","高","同期機能確認"
"129","UT-VLK-129","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","VulkanExternalObjectsFeature","GetSynchronizationCapabilities","異常系","未サポートhandleTypeでArgumentExceptionがスローされること","未サポートhandleType","GetSynchronizationCapabilities(""unsupported"")","ArgumentExceptionがスローされること","高","引数検証"
"130","UT-VLK-130","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","VulkanExternalObjectsFeature","ImportImage","正常系","外部イメージがインポートできること","サポートされているhandleType","ImportImage(handle, properties)","IVulkanExternalImageが返却されること","高","イメージインポート"
"131","UT-VLK-131","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","VulkanExternalObjectsFeature","ImportImage","異常系","未サポートhandleTypeでNotSupportedExceptionがスローされること","未サポートhandleType","ImportImage(unsupportedHandle, properties)","NotSupportedExceptionがスローされること","高","未サポートハンドル"
"132","UT-VLK-132","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","VulkanExternalObjectsFeature","ImportSemaphore","正常系","外部セマフォがインポートできること","サポートされているhandleType","ImportSemaphore(handle)","IVulkanExternalSemaphoreが返却されること","高","セマフォインポート"
"133","UT-VLK-133","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","VulkanExternalObjectsFeature","ImportSemaphore","異常系","未サポートhandleTypeでNotSupportedExceptionがスローされること","未サポートhandleType","ImportSemaphore(unsupportedHandle)","NotSupportedExceptionがスローされること","高","未サポートハンドル"
"134","UT-VLK-134","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","ImportedSemaphore","Handle","正常系","セマフォハンドルが取得できること","有効なsemaphore","Handle","ulong値が返却されること","中","ハンドル取得"
"135","UT-VLK-135","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","ImportedSemaphore","Handle","異常系","Dispose後にObjectDisposedExceptionがスローされること","Dispose済み","Handle","ObjectDisposedExceptionがスローされること","高","解放後アクセス"
"136","UT-VLK-136","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","ImportedSemaphore","SubmitWaitSemaphore","正常系","待機セマフォがサブミットされること","有効なsemaphore","SubmitWaitSemaphore()","コマンドバッファがサブミットされること","高","待機サブミット"
"137","UT-VLK-137","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","ImportedSemaphore","SubmitSignalSemaphore","正常系","シグナルセマフォがサブミットされること","有効なsemaphore","SubmitSignalSemaphore()","コマンドバッファがサブミットされること","高","シグナルサブミット"
"138","UT-VLK-138","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","ImportedSemaphore","Dispose","正常系","セマフォが解放されること","有効なsemaphore","Dispose()","_sem==nullになること","高","リソース解放"
"139","UT-VLK-139","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","ImportedImage","Info","正常系","VulkanImageInfoが取得できること","有効なimage","Info","ImageInfoが返却されること","中","情報取得"
"140","UT-VLK-140","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","ImportedImage","コンストラクタ","正常系","B8G8R8A8UNorm形式でイメージが作成されること","format=B8G8R8A8UNorm","new ImportedImage(context, pool, handle, properties)","Format==VK_FORMAT_B8G8R8A8_UNORMであること","高","フォーマット変換"
"141","UT-VLK-141","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","ImportedImage","コンストラクタ","正常系","R8G8B8A8UNorm形式でイメージが作成されること","format=R8G8B8A8UNorm","new ImportedImage(context, pool, handle, properties)","Format==VK_FORMAT_R8G8B8A8_UNORMであること","高","フォーマット変換"
"142","UT-VLK-142","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","ImportedImage","コンストラクタ","異常系","未サポートフォーマットでArgumentExceptionがスローされること","format=未サポート","new ImportedImage(context, pool, handle, properties)","ArgumentExceptionがスローされること","高","フォーマット検証"
"143","UT-VLK-143","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","ImportedImage","CreateMemory","正常系","外部メモリがインポートされること","有効なhandle","CreateMemory(image, size, memoryTypeBits)","VkDeviceMemoryが返却されること","高","メモリインポート"
"144","UT-VLK-144","src/Avalonia.Vulkan/VulkanExternalObjectsFeature.cs","ImportedImage","CreateMemory","異常系","メモリサイズ不一致でExceptionがスローされること","MemorySize!=size","CreateMemory(image, wrongSize, memoryTypeBits)","Exception(""Invalid memory size"")がスローされること","高","サイズ検証"
"145","UT-VLK-145","src/Avalonia.Vulkan/Interop/Utf8BufferArray.cs","Utf8BufferArray","コンストラクタ","正常系","文字列配列からバッファ配列が作成されること","有効なstrings","new Utf8BufferArray([""test1"", ""test2""])","Count==2であること","中","初期化"
"146","UT-VLK-146","src/Avalonia.Vulkan/Interop/Utf8BufferArray.cs","Utf8BufferArray","コンストラクタ","境界値","空配列から作成できること","空配列","new Utf8BufferArray([])","Count==0であること","中","空配列"
"147","UT-VLK-147","src/Avalonia.Vulkan/Interop/Utf8BufferArray.cs","Utf8BufferArray","Count","正常系","正しいカウントが返却されること","3要素のリスト","Count","3が返却されること","低","カウント確認"
"148","UT-VLK-148","src/Avalonia.Vulkan/Interop/Utf8BufferArray.cs","Utf8BufferArray","UCount","正常系","uint型でカウントが返却されること","3要素のリスト","UCount","3u が返却されること","低","unsignedカウント"
"149","UT-VLK-149","src/Avalonia.Vulkan/Interop/Utf8BufferArray.cs","Utf8BufferArray","Dispose","正常系","すべてのバッファとポインタが解放されること","有効なバッファ配列","Dispose()","_bufferArray==null, _buffers.Count==0になること","高","リソース解放"
"150","UT-VLK-150","src/Avalonia.Vulkan/Interop/Utf8BufferArray.cs","Utf8BufferArray","暗黙変換","正常系","byte**への暗黙変換が正しく動作すること","有効なバッファ配列","byte** ptr = array","null以外のポインタが返却されること","中","型変換"
"151","UT-VLK-151","src/Avalonia.Vulkan/Interop/VulkanDebugLogger.cs","VulkanDebugLogger","WriteLogEvent","正常系","エラーレベルのログが出力されること","有効なコールバックデータ","messageSeverity=ERROR","LogEventLevel.Errorでログが出力されること","中","エラーログ"
"152","UT-VLK-152","src/Avalonia.Vulkan/Interop/VulkanDebugLogger.cs","VulkanDebugLogger","WriteLogEvent","正常系","警告レベルのログが出力されること","有効なコールバックデータ","messageSeverity=WARNING","LogEventLevel.Warningでログが出力されること","中","警告ログ"
"153","UT-VLK-153","src/Avalonia.Vulkan/Interop/VulkanDebugLogger.cs","VulkanDebugLogger","WriteLogEvent","正常系","常に0が返却されること","なし","WriteLogEvent(...)","0が返却されること","低","戻り値確認"
"154","UT-VLK-154","src/Avalonia.Vulkan/Interop/VulkanDebugLogger.cs","VulkanDebugLogger","CallbackPtr","正常系","有効な関数ポインタが返却されること","なし","CallbackPtr","IntPtr.Zero以外が返却されること","中","ポインタ取得"
"1","UT-WAU-001","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","コンストラクタ","正常系","AutomationPeerを渡してAutomationNodeが正しく初期化されること","なし","有効なAutomationPeerインスタンス","AutomationNodeが生成され、Peerプロパティが設定される","高","ノード初期化の基本機能"
"2","UT-WAU-002","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","コンストラクタ","正常系","RuntimeIdが正しく生成されること","なし","有効なAutomationPeerインスタンス","_runtimeIdが[3, GetHashCode()]形式で生成される","中","UIA要件"
"3","UT-WAU-003","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","コンストラクタ","正常系","ChildrenChangedイベントが登録されること","なし","有効なAutomationPeerインスタンス","peer.ChildrenChangedにハンドラが登録される","中","イベント連携"
"4","UT-WAU-004","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","コンストラクタ","正常系","PropertyChangedイベントが登録されること","なし","有効なAutomationPeerインスタンス","peer.PropertyChangedにハンドラが登録される","中","イベント連携"
"5","UT-WAU-005","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","コンストラクタ","正常系","IEmbeddedRootProvider実装時にFocusChangedイベントが登録されること","PeerがIEmbeddedRootProviderを実装","有効なAutomationPeerインスタンス","embeddedRoot.FocusChangedにハンドラが登録される","中","埋め込みルート対応"
"6","UT-WAU-006","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetBoundingRectangle","正常系","ルートが存在する場合にスクリーン座標で境界矩形が返却されること","RootAutomationNodeが存在","なし","スクリーン座標に変換されたRect値","高","位置情報取得"
"7","UT-WAU-007","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetBoundingRectangle","異常系","ルートが存在しない場合にデフォルト値が返却されること","RootAutomationNodeが存在しない","なし","default(Rect)が返却される","中","エッジケース"
"8","UT-WAU-008","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetFragmentRoot","正常系","ルートAutomationNodeが返却されること","ルートが存在","なし","RootAutomationNodeインスタンス","中","フラグメントルート取得"
"9","UT-WAU-009","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetHostRawElementProvider","正常系","nullが返却されること","なし","なし","null","低","基底実装"
"10","UT-WAU-010","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetProviderOptions","正常系","ServerSideProviderが返却されること","なし","なし","ProviderOptions.ServerSideProvider","中","プロバイダオプション"
"11","UT-WAU-011","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPatternProvider","正常系","ExpandCollapseパターンでIExpandCollapseProvider実装時にthisが返却されること","PeerがIExpandCollapseProviderを実装","patternId=UiaPatternId.ExpandCollapse","thisインスタンス","高","パターンプロバイダ取得"
"12","UT-WAU-012","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPatternProvider","正常系","Invokeパターンでthisが返却されること","PeerがIInvokeProviderを実装","patternId=UiaPatternId.Invoke","thisインスタンス","高","パターンプロバイダ取得"
"13","UT-WAU-013","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPatternProvider","正常系","RangeValueパターンでthisが返却されること","PeerがIRangeValueProviderを実装","patternId=UiaPatternId.RangeValue","thisインスタンス","高","パターンプロバイダ取得"
"14","UT-WAU-014","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPatternProvider","正常系","Scrollパターンでthisが返却されること","PeerがIScrollProviderを実装","patternId=UiaPatternId.Scroll","thisインスタンス","高","パターンプロバイダ取得"
"15","UT-WAU-015","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPatternProvider","正常系","ScrollItemパターンで常にthisが返却されること","なし","patternId=UiaPatternId.ScrollItem","thisインスタンス","中","パターンプロバイダ取得"
"16","UT-WAU-016","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPatternProvider","正常系","Selectionパターンでthisが返却されること","PeerがISelectionProviderを実装","patternId=UiaPatternId.Selection","thisインスタンス","高","パターンプロバイダ取得"
"17","UT-WAU-017","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPatternProvider","正常系","SelectionItemパターンでthisが返却されること","PeerがISelectionItemProviderを実装","patternId=UiaPatternId.SelectionItem","thisインスタンス","高","パターンプロバイダ取得"
"18","UT-WAU-018","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPatternProvider","正常系","Toggleパターンでthisが返却されること","PeerがIToggleProviderを実装","patternId=UiaPatternId.Toggle","thisインスタンス","高","パターンプロバイダ取得"
"19","UT-WAU-019","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPatternProvider","正常系","Valueパターンでthisが返却されること","PeerがIValueProviderを実装","patternId=UiaPatternId.Value","thisインスタンス","高","パターンプロバイダ取得"
"20","UT-WAU-020","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPatternProvider","異常系","未対応パターンでnullが返却されること","なし","patternId=不明な値","null","中","エッジケース"
"21","UT-WAU-021","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPropertyValue","正常系","AcceleratorKeyプロパティが返却されること","Peer.GetAcceleratorKey()が値を返す","propertyId=UiaPropertyId.AcceleratorKey","Peerのアクセラレータキー値","中","プロパティ取得"
"22","UT-WAU-022","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPropertyValue","正常系","AccessKeyプロパティが返却されること","Peer.GetAccessKey()が値を返す","propertyId=UiaPropertyId.AccessKey","Peerのアクセスキー値","中","プロパティ取得"
"23","UT-WAU-023","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPropertyValue","正常系","AutomationIdプロパティが返却されること","Peer.GetAutomationId()が値を返す","propertyId=UiaPropertyId.AutomationId","PeerのAutomationId値","高","プロパティ取得"
"24","UT-WAU-024","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPropertyValue","正常系","ClassNameプロパティが返却されること","Peer.GetClassName()が値を返す","propertyId=UiaPropertyId.ClassName","Peerのクラス名","中","プロパティ取得"
"25","UT-WAU-025","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPropertyValue","正常系","ControlTypeプロパティがUiaControlTypeIdに変換されて返却されること","Peer.GetAutomationControlType()が値を返す","propertyId=UiaPropertyId.ControlType","変換されたUiaControlTypeId","高","プロパティ取得"
"26","UT-WAU-026","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPropertyValue","正常系","FrameworkIdプロパティが""Avalonia""を返却すること","なし","propertyId=UiaPropertyId.FrameworkId","文字列""Avalonia""","中","フレームワーク識別"
"27","UT-WAU-027","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPropertyValue","正常系","HasKeyboardFocusプロパティが返却されること","なし","propertyId=UiaPropertyId.HasKeyboardFocus","Peer.HasKeyboardFocus()の値","高","フォーカス状態"
"28","UT-WAU-028","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPropertyValue","正常系","IsEnabledプロパティが返却されること","なし","propertyId=UiaPropertyId.IsEnabled","Peer.IsEnabled()の値","高","有効状態"
"29","UT-WAU-029","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPropertyValue","正常系","Nameプロパティが返却されること","Peer.GetName()が値を返す","propertyId=UiaPropertyId.Name","Peerの名前","高","プロパティ取得"
"30","UT-WAU-030","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPropertyValue","正常系","RuntimeIdプロパティが返却されること","なし","propertyId=UiaPropertyId.RuntimeId","_runtimeId配列","高","プロパティ取得"
"31","UT-WAU-031","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPropertyValue","正常系","ProcessIdプロパティが返却されること","なし","propertyId=UiaPropertyId.ProcessId","現在のプロセスID","中","プロパティ取得"
"32","UT-WAU-032","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPropertyValue","正常系","Enum型の値がintに変換されること","プロパティ値がEnum型","任意のプロパティID","intに変換された値","中","型変換"
"33","UT-WAU-033","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetPropertyValue","異常系","未対応プロパティでnullが返却されること","なし","未定義のpropertyId","null","低","エッジケース"
"34","UT-WAU-034","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetRuntimeId","正常系","RuntimeIdが正しく返却されること","なし","なし","[3, GetHashCode()]形式の配列","高","識別子取得"
"35","UT-WAU-035","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","Navigate","正常系","Parent方向でGetOrCreate(Peer.GetParent())が返却されること","親Peerが存在","direction=NavigateDirection.Parent","親のAutomationNode","高","ナビゲーション"
"36","UT-WAU-036","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","Navigate","正常系","NextSibling方向で次の兄弟が返却されること","次の兄弟Peerが存在","direction=NavigateDirection.NextSibling","次の兄弟のAutomationNode","高","ナビゲーション"
"37","UT-WAU-037","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","Navigate","正常系","PreviousSibling方向で前の兄弟が返却されること","前の兄弟Peerが存在","direction=NavigateDirection.PreviousSibling","前の兄弟のAutomationNode","高","ナビゲーション"
"38","UT-WAU-038","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","Navigate","正常系","FirstChild方向で最初の子が返却されること","子Peerが存在","direction=NavigateDirection.FirstChild","最初の子のAutomationNode","高","ナビゲーション"
"39","UT-WAU-039","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","Navigate","正常系","LastChild方向で最後の子が返却されること","子Peerが存在","direction=NavigateDirection.LastChild","最後の子のAutomationNode","高","ナビゲーション"
"40","UT-WAU-040","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","Navigate","境界値","子が存在しない場合にFirstChildでnullが返却されること","子Peerが存在しない","direction=NavigateDirection.FirstChild","null","中","エッジケース"
"41","UT-WAU-041","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","Navigate","境界値","兄弟が存在しない場合にNextSiblingでnullが返却されること","次の兄弟が存在しない","direction=NavigateDirection.NextSibling","null","中","エッジケース"
"42","UT-WAU-042","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","Navigate","異常系","不明な方向でnullが返却されること","なし","direction=不明な値","null","低","エッジケース"
"43","UT-WAU-043","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","SetFocus","正常系","Peer.SetFocus()が呼び出されること","なし","なし","Peer.SetFocus()が実行される","高","フォーカス設定"
"44","UT-WAU-044","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetOrCreate","正常系","nullを渡すとnullが返却されること","なし","peer=null","null","中","静的メソッド"
"45","UT-WAU-045","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetOrCreate","正常系","同じPeerで呼び出すと同じノードが返却されること","AutomationNodeが既に作成済み","既存のPeer","同一のAutomationNodeインスタンス","高","キャッシュ動作"
"46","UT-WAU-046","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetOrCreate","正常系","InteropAutomationPeerの場合にInteropAutomationNodeが生成されること","なし","InteropAutomationPeerインスタンス","InteropAutomationNode","中","型判定"
"47","UT-WAU-047","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","GetOrCreate","正常系","IRootProvider実装Peerの場合にRootAutomationNodeが生成されること","PeerがIRootProviderを実装","IRootProvider実装のPeer","RootAutomationNode","中","型判定"
"48","UT-WAU-048","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","Release","正常系","ノードキャッシュからPeerが削除されること","Peerがキャッシュに存在","有効なPeer","キャッシュから削除される","中","リソース解放"
"49","UT-WAU-049","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","InvokeSync(Action)","正常系","UIスレッド上で直接実行されること","UIスレッドからの呼び出し","アクション","アクションが同期実行される","高","スレッド同期"
"50","UT-WAU-050","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","InvokeSync(Action)","正常系","非UIスレッドからDispatcher経由で実行されること","非UIスレッドからの呼び出し","アクション","Dispatcherで同期実行される","高","スレッド同期"
"51","UT-WAU-051","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","InvokeSync<T>(Func<T>)","正常系","UIスレッド上で結果が返却されること","UIスレッドからの呼び出し","関数","関数の戻り値","高","スレッド同期"
"52","UT-WAU-052","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","InvokeSync<TInterface>(Action<TInterface>)","正常系","プロバイダインターフェース経由でアクションが実行されること","PeerがTInterfaceを実装","アクション","アクションが実行される","高","プロバイダ呼び出し"
"53","UT-WAU-053","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","InvokeSync<TInterface>(Action<TInterface>)","異常系","プロバイダが未実装の場合にNotSupportedExceptionがスローされること","PeerがTInterfaceを未実装","アクション","NotSupportedException","高","例外処理"
"54","UT-WAU-054","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","InvokeSync<TInterface>(Action<TInterface>)","異常系","ElementNotEnabledExceptionがCOMExceptionに変換されること","要素が無効","アクションがElementNotEnabledExceptionをスロー","COMException (UIA_E_ELEMENTNOTENABLED)","高","例外変換"
"55","UT-WAU-055","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","RaiseChildrenChanged","正常系","UiaRaiseStructureChangedEventが呼び出されること","なし","なし","StructureChangeType.ChildrenInvalidatedでイベント発火","中","イベント発火"
"56","UT-WAU-056","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","RaiseFocusChanged","正常系","UiaRaiseAutomationEventが呼び出されること","なし","フォーカスされたノード","AutomationFocusChangedイベント発火","高","イベント発火"
"57","UT-WAU-057","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","RaiseLiveRegionChanged","正常系","UiaRaiseAutomationEventが呼び出されること","なし","なし","LiveRegionChangedイベント発火","中","イベント発火"
"58","UT-WAU-058","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","ToUiaControlType","正常系","AutomationControlType.ButtonがUiaControlTypeId.Buttonに変換されること","なし","AutomationControlType.Button","UiaControlTypeId.Button","中","型変換"
"59","UT-WAU-059","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","ToUiaControlType","正常系","AutomationControlType.NoneがUiaControlTypeId.Groupに変換されること","なし","AutomationControlType.None","UiaControlTypeId.Group","中","型変換"
"60","UT-WAU-060","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","ToUiaControlType","境界値","未知の値がUiaControlTypeId.Customに変換されること","なし","未定義のAutomationControlType","UiaControlTypeId.Custom","低","フォールバック"
"61","UT-WAU-061","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","ToUiaLandmarkType","正常系","AutomationLandmarkType.FormがUiaLandmarkType.Formに変換されること","なし","AutomationLandmarkType.Form","UiaLandmarkType.Form","中","型変換"
"62","UT-WAU-062","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","ToUiaLandmarkType","正常系","カスタムランドマークタイプがUiaLandmarkType.Customに変換されること","なし","AutomationLandmarkType.Banner","UiaLandmarkType.Custom","中","型変換"
"63","UT-WAU-063","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","ToUiaLandmarkType","境界値","nullが返却されること","なし","null","null","低","null処理"
"64","UT-WAU-064","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","ToUiaHeadingLevel","正常系","レベル1がUiaHeadingLevel.Level1に変換されること","なし","level=1","UiaHeadingLevel.Level1","中","型変換"
"65","UT-WAU-065","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","ToUiaHeadingLevel","境界値","範囲外の値がUiaHeadingLevel.Noneに変換されること","なし","level=0 または level>9","UiaHeadingLevel.None","中","境界値"
"66","UT-WAU-066","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","IInvokeProvider.Invoke","正常系","Peer経由でInvokeが呼び出されること","PeerがIInvokeProviderを実装","なし","Peer.Invoke()が実行される","高","Invokeパターン"
"67","UT-WAU-067","src/Windows/Avalonia.Win32.Automation/AutomationNode.cs","AutomationNode","IRawElementProviderSimple2.ShowContextMenu","正常系","Peer.ShowContextMenu()が呼び出されること","なし","なし","コンテキストメニュー表示","中","コンテキストメニュー"
"68","UT-WAU-068","src/Windows/Avalonia.Win32.Automation/AutomationNode.Value.cs","AutomationNode","IValueProvider.GetIsReadOnly","正常系","読み取り専用状態が返却されること","PeerがIValueProviderを実装","なし","IsReadOnlyの値","高","Valueパターン"
"69","UT-WAU-069","src/Windows/Avalonia.Win32.Automation/AutomationNode.Value.cs","AutomationNode","IValueProvider.GetValue","正常系","値が返却されること","PeerがIValueProviderを実装","なし","Valueの文字列値","高","Valueパターン"
"70","UT-WAU-070","src/Windows/Avalonia.Win32.Automation/AutomationNode.Value.cs","AutomationNode","IValueProvider.SetValue","正常系","値が設定されること","PeerがIValueProviderを実装","value=""test""","Peer.SetValue()が呼び出される","高","Valueパターン"
"71","UT-WAU-071","src/Windows/Avalonia.Win32.Automation/AutomationNode.Value.cs","AutomationNode","IValueProvider.SetValue","境界値","nullが設定できること","PeerがIValueProviderを実装","value=null","Peer.SetValue(null)が呼び出される","中","null処理"
"72","UT-WAU-072","src/Windows/Avalonia.Win32.Automation/AutomationNode.Selection.cs","AutomationNode","ISelectionProvider.CanSelectMultiple","正常系","複数選択可能フラグが返却されること","PeerがISelectionProviderを実装","なし","CanSelectMultipleの値","高","Selectionパターン"
"73","UT-WAU-073","src/Windows/Avalonia.Win32.Automation/AutomationNode.Selection.cs","AutomationNode","ISelectionProvider.IsSelectionRequired","正常系","選択必須フラグが返却されること","PeerがISelectionProviderを実装","なし","IsSelectionRequiredの値","高","Selectionパターン"
"74","UT-WAU-074","src/Windows/Avalonia.Win32.Automation/AutomationNode.Selection.cs","AutomationNode","ISelectionProvider.GetSelection","正常系","選択されたアイテムの配列が返却されること","PeerがISelectionProviderを実装","なし","IRawElementProviderSimple配列","高","Selectionパターン"
"75","UT-WAU-075","src/Windows/Avalonia.Win32.Automation/AutomationNode.Selection.cs","AutomationNode","ISelectionProvider.GetSelection","境界値","選択なしの場合に空配列が返却されること","選択アイテムなし","なし","空のIRawElementProviderSimple配列","中","境界値"
"76","UT-WAU-076","src/Windows/Avalonia.Win32.Automation/AutomationNode.Selection.cs","AutomationNode","ISelectionItemProvider.GetIsSelected","正常系","選択状態が返却されること","PeerがISelectionItemProviderを実装","なし","IsSelectedの値","高","SelectionItemパターン"
"77","UT-WAU-077","src/Windows/Avalonia.Win32.Automation/AutomationNode.Selection.cs","AutomationNode","ISelectionItemProvider.GetSelectionContainer","正常系","選択コンテナが返却されること","PeerがISelectionItemProviderを実装","なし","コンテナのIRawElementProviderSimple","高","SelectionItemパターン"
"78","UT-WAU-078","src/Windows/Avalonia.Win32.Automation/AutomationNode.Selection.cs","AutomationNode","ISelectionItemProvider.GetSelectionContainer","異常系","コンテナがない場合にnullが返却されること","SelectionContainerがnull","なし","null","中","null処理"
"79","UT-WAU-079","src/Windows/Avalonia.Win32.Automation/AutomationNode.Selection.cs","AutomationNode","ISelectionItemProvider.AddToSelection","正常系","選択に追加されること","PeerがISelectionItemProviderを実装","なし","AddToSelection()が呼び出される","高","SelectionItemパターン"
"80","UT-WAU-080","src/Windows/Avalonia.Win32.Automation/AutomationNode.Selection.cs","AutomationNode","ISelectionItemProvider.RemoveFromSelection","正常系","選択から削除されること","PeerがISelectionItemProviderを実装","なし","RemoveFromSelection()が呼び出される","高","SelectionItemパターン"
"81","UT-WAU-081","src/Windows/Avalonia.Win32.Automation/AutomationNode.Selection.cs","AutomationNode","ISelectionItemProvider.Select","正常系","選択されること","PeerがISelectionItemProviderを実装","なし","Select()が呼び出される","高","SelectionItemパターン"
"82","UT-WAU-082","src/Windows/Avalonia.Win32.Automation/AutomationNode.RangeValue.cs","AutomationNode","IRangeValueProvider.GetValue","正常系","現在値が返却されること","PeerがIRangeValueProviderを実装","なし","Valueの値","高","RangeValueパターン"
"83","UT-WAU-083","src/Windows/Avalonia.Win32.Automation/AutomationNode.RangeValue.cs","AutomationNode","IRangeValueProvider.GetIsReadOnly","正常系","読み取り専用状態が返却されること","PeerがIRangeValueProviderを実装","なし","IsReadOnlyの値","高","RangeValueパターン"
"84","UT-WAU-084","src/Windows/Avalonia.Win32.Automation/AutomationNode.RangeValue.cs","AutomationNode","IRangeValueProvider.GetMaximum","正常系","最大値が返却されること","PeerがIRangeValueProviderを実装","なし","Maximumの値","高","RangeValueパターン"
"85","UT-WAU-085","src/Windows/Avalonia.Win32.Automation/AutomationNode.RangeValue.cs","AutomationNode","IRangeValueProvider.GetMinimum","正常系","最小値が返却されること","PeerがIRangeValueProviderを実装","なし","Minimumの値","高","RangeValueパターン"
"86","UT-WAU-086","src/Windows/Avalonia.Win32.Automation/AutomationNode.RangeValue.cs","AutomationNode","IRangeValueProvider.GetLargeChange","正常系","固定値1が返却されること","なし","なし","1.0","低","固定値"
"87","UT-WAU-087","src/Windows/Avalonia.Win32.Automation/AutomationNode.RangeValue.cs","AutomationNode","IRangeValueProvider.GetSmallChange","正常系","固定値1が返却されること","なし","なし","1.0","低","固定値"
"88","UT-WAU-088","src/Windows/Avalonia.Win32.Automation/AutomationNode.RangeValue.cs","AutomationNode","IRangeValueProvider.SetValue","正常系","値が設定されること","PeerがIRangeValueProviderを実装","value=50.0","Peer.SetValue(50.0)が呼び出される","高","RangeValueパターン"
"89","UT-WAU-089","src/Windows/Avalonia.Win32.Automation/AutomationNode.ExpandCollapse.cs","AutomationNode","IExpandCollapseProvider.GetExpandCollapseState","正常系","展開/折りたたみ状態が返却されること","PeerがIExpandCollapseProviderを実装","なし","ExpandCollapseStateの値","高","ExpandCollapseパターン"
"90","UT-WAU-090","src/Windows/Avalonia.Win32.Automation/AutomationNode.ExpandCollapse.cs","AutomationNode","IExpandCollapseProvider.Expand","正常系","展開されること","PeerがIExpandCollapseProviderを実装","なし","Expand()が呼び出される","高","ExpandCollapseパターン"
"91","UT-WAU-091","src/Windows/Avalonia.Win32.Automation/AutomationNode.ExpandCollapse.cs","AutomationNode","IExpandCollapseProvider.Collapse","正常系","折りたたまれること","PeerがIExpandCollapseProviderを実装","なし","Collapse()が呼び出される","高","ExpandCollapseパターン"
"92","UT-WAU-092","src/Windows/Avalonia.Win32.Automation/AutomationNode.Scroll.cs","AutomationNode","IScrollProvider.GetHorizontallyScrollable","正常系","水平スクロール可能フラグが返却されること","PeerがIScrollProviderを実装","なし","HorizontallyScrollableの値","高","Scrollパターン"
"93","UT-WAU-093","src/Windows/Avalonia.Win32.Automation/AutomationNode.Scroll.cs","AutomationNode","IScrollProvider.GetHorizontalScrollPercent","正常系","水平スクロール位置が返却されること","PeerがIScrollProviderを実装","なし","HorizontalScrollPercentの値","高","Scrollパターン"
"94","UT-WAU-094","src/Windows/Avalonia.Win32.Automation/AutomationNode.Scroll.cs","AutomationNode","IScrollProvider.GetHorizontalViewSize","正常系","水平ビューサイズが返却されること","PeerがIScrollProviderを実装","なし","HorizontalViewSizeの値","中","Scrollパターン"
"95","UT-WAU-095","src/Windows/Avalonia.Win32.Automation/AutomationNode.Scroll.cs","AutomationNode","IScrollProvider.GetVerticallyScrollable","正常系","垂直スクロール可能フラグが返却されること","PeerがIScrollProviderを実装","なし","VerticallyScrollableの値","高","Scrollパターン"
"96","UT-WAU-096","src/Windows/Avalonia.Win32.Automation/AutomationNode.Scroll.cs","AutomationNode","IScrollProvider.GetVerticalScrollPercent","正常系","垂直スクロール位置が返却されること","PeerがIScrollProviderを実装","なし","VerticalScrollPercentの値","高","Scrollパターン"
"97","UT-WAU-097","src/Windows/Avalonia.Win32.Automation/AutomationNode.Scroll.cs","AutomationNode","IScrollProvider.GetVerticalViewSize","正常系","垂直ビューサイズが返却されること","PeerがIScrollProviderを実装","なし","VerticalViewSizeの値","中","Scrollパターン"
"98","UT-WAU-098","src/Windows/Avalonia.Win32.Automation/AutomationNode.Scroll.cs","AutomationNode","IScrollProvider.Scroll","正常系","スクロールが実行されること","PeerがIScrollProviderを実装","horizontalAmount=SmallIncrement, verticalAmount=SmallIncrement","Scroll()が呼び出される","高","Scrollパターン"
"99","UT-WAU-099","src/Windows/Avalonia.Win32.Automation/AutomationNode.Scroll.cs","AutomationNode","IScrollProvider.SetScrollPercent","正常系","スクロール位置が設定されること","PeerがIScrollProviderを実装","horizontalPercent=50.0, verticalPercent=50.0","SetScrollPercent()が呼び出される","高","Scrollパターン"
"100","UT-WAU-100","src/Windows/Avalonia.Win32.Automation/AutomationNode.Scroll.cs","AutomationNode","IScrollItemProvider.ScrollIntoView","正常系","要素が表示領域にスクロールされること","なし","なし","Peer.BringIntoView()が呼び出される","高","ScrollItemパターン"
"101","UT-WAU-101","src/Windows/Avalonia.Win32.Automation/AutomationNode.Toggle.cs","AutomationNode","IToggleProvider.GetToggleState","正常系","トグル状態が返却されること","PeerがIToggleProviderを実装","なし","ToggleStateの値","高","Toggleパターン"
"102","UT-WAU-102","src/Windows/Avalonia.Win32.Automation/AutomationNode.Toggle.cs","AutomationNode","IToggleProvider.Toggle","正常系","トグルが実行されること","PeerがIToggleProviderを実装","なし","Toggle()が呼び出される","高","Toggleパターン"
"103","UT-WAU-103","src/Windows/Avalonia.Win32.Automation/RootAutomationNode.cs","RootAutomationNode","コンストラクタ","正常系","IRootProvider実装PeerでRootAutomationNodeが初期化されること","PeerがIRootProviderを実装","有効なAutomationPeerインスタンス","RootAutomationNodeが生成される","高","ルートノード初期化"
"104","UT-WAU-104","src/Windows/Avalonia.Win32.Automation/RootAutomationNode.cs","RootAutomationNode","コンストラクタ","異常系","IRootProvider未実装PeerでAvaloniaInternalExceptionがスローされること","PeerがIRootProviderを未実装","IRootProvider未実装のPeer","AvaloniaInternalException","高","例外処理"
"105","UT-WAU-105","src/Windows/Avalonia.Win32.Automation/RootAutomationNode.cs","RootAutomationNode","コンストラクタ","正常系","FocusChangedイベントが登録されること","なし","有効なAutomationPeerインスタンス","Peer.FocusChangedにハンドラが登録される","中","イベント連携"
"106","UT-WAU-106","src/Windows/Avalonia.Win32.Automation/RootAutomationNode.cs","RootAutomationNode","GetFragmentRoot","正常系","自身(this)が返却されること","なし","なし","thisインスタンス","中","フラグメントルート"
"107","UT-WAU-107","src/Windows/Avalonia.Win32.Automation/RootAutomationNode.cs","RootAutomationNode","WindowImpl","正常系","PlatformImplがIWindowBaseImplの場合に返却されること","PeerがIWindowBaseImplを持つ","なし","IWindowBaseImplインスタンス","中","プラットフォーム実装"
"108","UT-WAU-108","src/Windows/Avalonia.Win32.Automation/RootAutomationNode.cs","RootAutomationNode","ElementProviderFromPoint","正常系","指定座標の要素が返却されること","WindowImplが存在","x=100, y=100","座標にある要素のIRawElementProviderFragment","高","ポイントからの要素取得"
"109","UT-WAU-109","src/Windows/Avalonia.Win32.Automation/RootAutomationNode.cs","RootAutomationNode","ElementProviderFromPoint","異常系","WindowImplがnullの場合にnullが返却されること","WindowImplがnull","x=100, y=100","null","中","null処理"
"110","UT-WAU-110","src/Windows/Avalonia.Win32.Automation/RootAutomationNode.cs","RootAutomationNode","GetFocus","正常系","フォーカスされた要素が返却されること","フォーカスされた要素が存在","なし","フォーカス要素のIRawElementProviderFragment","高","フォーカス取得"
"111","UT-WAU-111","src/Windows/Avalonia.Win32.Automation/RootAutomationNode.cs","RootAutomationNode","GetFocus","境界値","フォーカスがない場合にnullが返却されること","フォーカスされた要素がない","なし","null","中","null処理"
"112","UT-WAU-112","src/Windows/Avalonia.Win32.Automation/RootAutomationNode.cs","RootAutomationNode","ToScreen","正常系","ローカル座標がスクリーン座標に変換されること","WindowImplが存在","Rect(0, 0, 100, 100)","スクリーン座標のRect","高","座標変換"
"113","UT-WAU-113","src/Windows/Avalonia.Win32.Automation/RootAutomationNode.cs","RootAutomationNode","ToScreen","異常系","WindowImplがnullの場合にdefaultが返却されること","WindowImplがnull","任意のRect","default(Rect)","中","null処理"
"114","UT-WAU-114","src/Windows/Avalonia.Win32.Automation/RootAutomationNode.cs","RootAutomationNode","GetHostRawElementProvider","正常系","ウィンドウハンドルからホストプロバイダが取得されること","有効なウィンドウハンドルが存在","なし","IRawElementProviderSimpleインスタンス","高","ホストプロバイダ"
"115","UT-WAU-115","src/Windows/Avalonia.Win32.Automation/RootAutomationNode.cs","RootAutomationNode","GetHostRawElementProvider","異常系","ハンドルがIntPtr.Zeroの場合にnullが返却されること","ウィンドウハンドルが無効","なし","null","中","null処理"
"116","UT-WAU-116","src/Windows/Avalonia.Win32.Automation/InteropAutomationNode.cs","InteropAutomationNode","コンストラクタ","正常系","InteropAutomationPeerでノードが初期化されること","なし","InteropAutomationPeerインスタンス","InteropAutomationNodeが生成される","高","Interopノード初期化"
"117","UT-WAU-117","src/Windows/Avalonia.Win32.Automation/InteropAutomationNode.cs","InteropAutomationNode","コンストラクタ","正常系","ネイティブコントロールハンドルが保存されること","なし","有効なハンドルを持つInteropAutomationPeer","_handleフィールドが設定される","中","ハンドル保存"
"118","UT-WAU-118","src/Windows/Avalonia.Win32.Automation/InteropAutomationNode.cs","InteropAutomationNode","GetBoundingRectangle","正常系","default(Rect)が返却されること","なし","なし","default(Rect)","低","固定値"
"119","UT-WAU-119","src/Windows/Avalonia.Win32.Automation/InteropAutomationNode.cs","InteropAutomationNode","GetFragmentRoot","正常系","nullが返却されること","なし","なし","null","低","固定値"
"120","UT-WAU-120","src/Windows/Avalonia.Win32.Automation/InteropAutomationNode.cs","InteropAutomationNode","GetProviderOptions","正常系","ServerSideProviderとOverrideProviderが返却されること","なし","なし","ProviderOptions.ServerSideProvider | ProviderOptions.OverrideProvider","中","プロバイダオプション"
"121","UT-WAU-121","src/Windows/Avalonia.Win32.Automation/InteropAutomationNode.cs","InteropAutomationNode","GetPatternProvider","正常系","nullが返却されること","なし","任意のpatternId","null","低","パターン未サポート"
"122","UT-WAU-122","src/Windows/Avalonia.Win32.Automation/InteropAutomationNode.cs","InteropAutomationNode","GetPropertyValue","正常系","nullが返却されること","なし","任意のpropertyId","null","低","プロパティ未サポート"
"123","UT-WAU-123","src/Windows/Avalonia.Win32.Automation/InteropAutomationNode.cs","InteropAutomationNode","GetHostRawElementProvider","正常系","ネイティブハンドルからホストプロバイダが取得されること","有効なネイティブハンドル","なし","IRawElementProviderSimpleインスタンス","高","ホストプロバイダ"
"124","UT-WAU-124","src/Windows/Avalonia.Win32.Automation/InteropAutomationNode.cs","InteropAutomationNode","Navigate","正常系","Parent方向で親ノードが返却されること","親が存在","direction=NavigateDirection.Parent","親のIRawElementProviderFragment","高","ナビゲーション"
"125","UT-WAU-125","src/Windows/Avalonia.Win32.Automation/InteropAutomationNode.cs","InteropAutomationNode","Navigate","正常系","Parent以外の方向でnullが返却されること","なし","direction=NavigateDirection.FirstChild","null","中","ナビゲーション制限"
"126","UT-WAU-126","src/Windows/Avalonia.Win32.Automation/InteropAutomationNode.cs","InteropAutomationNode","ElementProviderFromPoint","正常系","nullが返却されること","なし","任意の座標","null","低","未サポート"
"127","UT-WAU-127","src/Windows/Avalonia.Win32.Automation/InteropAutomationNode.cs","InteropAutomationNode","IRawElementProviderFragmentRoot.GetFocus","正常系","nullが返却されること","なし","なし","null","低","未サポート"
"128","UT-WAU-128","src/Windows/Avalonia.Win32.Automation/InteropAutomationNode.cs","InteropAutomationNode","GetEmbeddedFragmentRoots","正常系","nullが返却されること","なし","なし","null","低","未サポート"
"129","UT-WAU-129","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Dispose","正常系","VT_BSTRの場合にFreeBSTRが呼び出されること","VarType=VT_BSTR","なし","BSTRメモリが解放される","高","リソース解放"
"130","UT-WAU-130","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Dispose","正常系","VT_ARRAYフラグがある場合にDestroyが呼び出されること","VarTypeにVT_ARRAYフラグ","なし","SafeArrayが破棄される","高","リソース解放"
"131","UT-WAU-131","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Dispose","正常系","VT_UNKNOWNの場合にReleaseが呼び出されること","VarType=VT_UNKNOWN","なし","COMオブジェクトが解放される","高","リソース解放"
"132","UT-WAU-132","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Dispose","正常系","Dispose後にdefault状態になること","任意のComVariant","なし","ComVariantがdefault状態","中","状態リセット"
"133","UT-WAU-133","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Create","正常系","nullを渡すとNullバリアントが返却されること","なし","value=null","VarType=VT_NULLのComVariant","中","null処理"
"134","UT-WAU-134","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Create","正常系","short型がVT_I2として作成されること","なし","value=(short)123","VarType=VT_I2のComVariant","中","型変換"
"135","UT-WAU-135","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Create","正常系","int型がVT_I4として作成されること","なし","value=123","VarType=VT_I4のComVariant","中","型変換"
"136","UT-WAU-136","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Create","正常系","float型がVT_R4として作成されること","なし","value=1.5f","VarType=VT_R4のComVariant","中","型変換"
"137","UT-WAU-137","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Create","正常系","double型がVT_R8として作成されること","なし","value=1.5d","VarType=VT_R8のComVariant","中","型変換"
"138","UT-WAU-138","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Create","正常系","DateTime型がVT_DATEとして作成されること","なし","value=DateTime.Now","VarType=VT_DATEのComVariant","中","型変換"
"139","UT-WAU-139","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Create","正常系","string型がVT_BSTRとして作成されること","なし","value=""test""","VarType=VT_BSTRのComVariant","高","型変換"
"140","UT-WAU-140","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Create","正常系","bool型がVT_BOOLとして作成されること","なし","value=true","VarType=VT_BOOLのComVariant","中","型変換"
"141","UT-WAU-141","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Create","正常系","trueがVARIANT_TRUEに変換されること","なし","value=true","_bool=-1","中","VARIANT_BOOL変換"
"142","UT-WAU-142","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Create","正常系","falseがVARIANT_FALSEに変換されること","なし","value=false","_bool=0","中","VARIANT_BOOL変換"
"143","UT-WAU-143","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Create","正常系","long型がVT_I8として作成されること","なし","value=123L","VarType=VT_I8のComVariant","中","型変換"
"144","UT-WAU-144","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Create","正常系","Enum型が基底型に変換されること","なし","value=SomeEnum.Value","基底型として格納される","中","Enum変換"
"145","UT-WAU-145","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Create","正常系","IEnumerableがSafeArrayとして作成されること","SafeArrayRef.TryCreateが成功","value=new int[]{1,2,3}","VarType=VT_ARRAY|VT_I4のComVariant","高","配列変換"
"146","UT-WAU-146","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Create","正常系","COMオブジェクトがVT_UNKNOWNとして作成されること","ComWrappers.TryGetComInstanceが成功","COMラップオブジェクト","VarType=VT_UNKNOWNのComVariant","高","COM変換"
"147","UT-WAU-147","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","Create","異常系","未対応型でArgumentExceptionがスローされること","なし","未対応のオブジェクト型","ArgumentException","高","例外処理"
"148","UT-WAU-148","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","AsObject","正常系","VT_EMPTYでnullが返却されること","VarType=VT_EMPTY","なし","null","中","型変換"
"149","UT-WAU-149","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","AsObject","正常系","VT_NULLでnullが返却されること","VarType=VT_NULL","なし","null","中","型変換"
"150","UT-WAU-150","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","AsObject","正常系","VT_I4で整数値が返却されること","VarType=VT_I4, _i4=123","なし","123","中","型変換"
"151","UT-WAU-151","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","AsObject","正常系","VT_BSTRで文字列が返却されること","VarType=VT_BSTR","なし","対応する文字列","中","型変換"
"152","UT-WAU-152","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","AsObject","正常系","VT_BOOLでbool値が返却されること","VarType=VT_BOOL, _bool=VARIANT_TRUE","なし","true","中","型変換"
"153","UT-WAU-153","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","AsObject","正常系","VT_DATEでDateTimeが返却されること","VarType=VT_DATE","なし","対応するDateTime","中","型変換"
"154","UT-WAU-154","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","AsObject","正常系","VT_ARRAY|VT_I4でint配列が返却されること","VarType=VT_ARRAY|VT_I4","なし","int[]","高","配列変換"
"155","UT-WAU-155","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariant.cs","ComVariant","AsObject","異常系","未対応のVarTypeでArgumentExceptionがスローされること","未対応のVarType","なし","ArgumentException","中","例外処理"
"156","UT-WAU-156","src/Windows/Avalonia.Win32.Automation/Marshalling/SafeArrayRef.cs","SafeArrayRef","Destroy","正常系","ポインタが有効な場合にSafeArrayDestroyが呼び出されること","_ptrがnull以外","なし","SafeArrayが破棄される","高","リソース解放"
"157","UT-WAU-157","src/Windows/Avalonia.Win32.Automation/Marshalling/SafeArrayRef.cs","SafeArrayRef","Destroy","境界値","ポインタがdefaultの場合に何もしないこと","_ptr=default","なし","例外が発生しない","中","null安全"
"158","UT-WAU-158","src/Windows/Avalonia.Win32.Automation/Marshalling/SafeArrayRef.cs","SafeArrayRef","ToArray<int>","正常系","int配列が正しく取得されること","有効なSafeArrayRef","なし","対応するint[]","高","配列取得"
"159","UT-WAU-159","src/Windows/Avalonia.Win32.Automation/Marshalling/SafeArrayRef.cs","SafeArrayRef","ToArray<string>","正常系","string配列が正しく取得されること","BSTRを含むSafeArrayRef","なし","対応するstring[]","高","配列取得"
"160","UT-WAU-160","src/Windows/Avalonia.Win32.Automation/Marshalling/SafeArrayRef.cs","SafeArrayRef","ToArray<T>","境界値","nullが渡された場合にnullが返却されること","なし","safearray=null","null","中","null処理"
"161","UT-WAU-161","src/Windows/Avalonia.Win32.Automation/Marshalling/SafeArrayRef.cs","SafeArrayRef","ToArray<T>","異常系","未対応の型でNotImplementedExceptionがスローされること","未対応の型T","なし","NotImplementedException","中","例外処理"
"162","UT-WAU-162","src/Windows/Avalonia.Win32.Automation/Marshalling/SafeArrayRef.cs","SafeArrayRef","TryCreate","正常系","int配列からSafeArrayが作成されること","なし","managed=new int[]{1,2,3}","safearray!=null, varEnum=VT_I4, return true","高","配列作成"
"163","UT-WAU-163","src/Windows/Avalonia.Win32.Automation/Marshalling/SafeArrayRef.cs","SafeArrayRef","TryCreate","正常系","string配列からSafeArrayが作成されること","なし","managed=new string[]{""a"",""b""}","safearray!=null, varEnum=VT_BSTR, return true","高","配列作成"
"164","UT-WAU-164","src/Windows/Avalonia.Win32.Automation/Marshalling/SafeArrayRef.cs","SafeArrayRef","TryCreate","正常系","bool配列からSafeArrayが作成されること","なし","managed=new bool[]{true,false}","safearray!=null, varEnum=VT_BOOL, return true","中","配列作成"
"165","UT-WAU-165","src/Windows/Avalonia.Win32.Automation/Marshalling/SafeArrayRef.cs","SafeArrayRef","TryCreate","境界値","空配列でSafeArrayが作成されること","なし","managed=new int[]{}","空のSafeArrayが作成される","中","空配列"
"166","UT-WAU-166","src/Windows/Avalonia.Win32.Automation/Marshalling/SafeArrayRef.cs","SafeArrayRef","TryCreate","境界値","nullが渡された場合にfalseが返却されること","なし","managed=null","return false","中","null処理"
"167","UT-WAU-167","src/Windows/Avalonia.Win32.Automation/Marshalling/SafeArrayRef.cs","SafeArrayRef","TryCreate","異常系","未対応の型でfalseが返却されること","なし","未対応のIEnumerable型","return false","中","型チェック"
"168","UT-WAU-168","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariantMarshaller.cs","ComVariantMarshaller","ConvertToUnmanaged","正常系","オブジェクトがComVariantに変換されること","なし","任意のオブジェクト","ComVariantインスタンス","高","マーシャリング"
"169","UT-WAU-169","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariantMarshaller.cs","ComVariantMarshaller","ConvertToManaged","正常系","ComVariantがオブジェクトに変換されること","なし","有効なComVariant","対応するオブジェクト","高","マーシャリング"
"170","UT-WAU-170","src/Windows/Avalonia.Win32.Automation/Marshalling/ComVariantMarshaller.cs","ComVariantMarshaller","Free","正常系","ComVariantが解放されること","なし","ComVariantインスタンス","Disposeが呼び出される","高","リソース解放"
"171","UT-WAU-171","src/Windows/Avalonia.Win32.Automation/Marshalling/SafeArrayMarshaller.cs","SafeArrayMarshaller<T>","ConvertToUnmanaged","正常系","配列がSafeArrayRefに変換されること","なし","有効なT配列","SafeArrayRefインスタンス","高","マーシャリング"
"172","UT-WAU-172","src/Windows/Avalonia.Win32.Automation/Marshalling/SafeArrayMarshaller.cs","SafeArrayMarshaller<T>","ConvertToUnmanaged","境界値","nullが渡された場合に空のSafeArrayRefが返却されること","なし","managed=null","空のSafeArrayRef","中","null処理"
"173","UT-WAU-173","src/Windows/Avalonia.Win32.Automation/Marshalling/SafeArrayMarshaller.cs","SafeArrayMarshaller<T>","ConvertToUnmanaged","異常系","未対応の型でNotImplementedExceptionがスローされること","SafeArrayRef.TryCreateが失敗","未対応の型の配列","NotImplementedException","中","例外処理"
"174","UT-WAU-174","src/Windows/Avalonia.Win32.Automation/Marshalling/SafeArrayMarshaller.cs","SafeArrayMarshaller<T>","ConvertToManaged","正常系","SafeArrayRefが配列に変換されること","なし","有効なSafeArrayRef","T配列","高","マーシャリング"
"175","UT-WAU-175","src/Windows/Avalonia.Win32.Automation/Marshalling/SafeArrayMarshaller.cs","SafeArrayMarshaller<T>","Free","正常系","SafeArrayRefが解放されること","なし","SafeArrayRefインスタンス","Destroyが呼び出される","高","リソース解放"
"176","UT-WAU-176","src/Windows/Avalonia.Win32.Automation/Interop/UiaCoreTypesApi.cs","UiaCoreTypesApi","IsNetComInteropAvailable","正常系","NET8以上で常にtrueが返却されること","NET8_0_OR_GREATER","なし","true","中","COM互換性チェック"
"177","UT-WAU-177","src/Windows/Avalonia.Win32.Automation/Interop/UiaCoreTypesApi.cs","UiaCoreTypesApi","UiaLookupId","正常系","GUIDからUIAutomation IDが取得されること","なし","type=Property, guid=有効なGUID","対応するID","高","ID検索"
"1","UT-WFI-001","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","コンストラクタ","正常系","インスタンスが正常に生成されること","AvaloniaLocatorが利用可能","なし","WinFormsAvaloniaControlHostインスタンスが生成される","高","コントロールホストの基本初期化"
"2","UT-WFI-002","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","コンストラクタ","正常系","ControlStylesが正しく設定されること","なし","なし","AllPaintingInWmPaintスタイルがtrueに設定される","中","描画スタイルの初期設定"
"3","UT-WFI-003","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","コンストラクタ","正常系","IInputManagerがnullでない場合、PostProcessがサブスクライブされること","IInputManagerが利用可能","なし","_postProcessInputDisposableがnullでないこと","中","入力マネージャとの連携"
"4","UT-WFI-004","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","コンストラクタ","異常系","IInputManagerがnullの場合でもインスタンスが生成されること","IInputManagerが利用不可","なし","例外がスローされずインスタンスが生成される","中","nullセーフな初期化"
"5","UT-WFI-005","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Content","正常系","Contentプロパティでコントロールが設定できること","インスタンス生成済み","有効なAvaloniaコントロール","Contentプロパティに値が設定される","高","コントロール設定の基本機能"
"6","UT-WFI-006","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Content","正常系","Contentプロパティでコントロールが取得できること","Contentが設定済み","なし","設定したコントロールが返却される","高","コントロール取得の基本機能"
"7","UT-WFI-007","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Content","正常系","Contentにnullが設定できること","インスタンス生成済み","null","Contentがnullに設定される","中","null許容の確認"
"8","UT-WFI-008","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Content","正常系","Content設定時に_rootがnullでなければ_root.Contentも更新されること","_rootが初期化済み","有効なAvaloniaコントロール","_root.Contentも同じ値に設定される","高","ルートとの同期"
"9","UT-WFI-009","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Content","正常系","同じ値を再設定した場合は更新処理がスキップされること","Contentが既に設定済み","同じコントロール","_root.Contentの更新が呼ばれないこと","低","不要な更新の回避"
"10","UT-WFI-010","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PostProcessInput","正常系","キーボードフォーカスがある状態でテキスト入力が処理されること","_root.IsKeyboardFocusWithinがtrue","RawTextInputEventArgs(text=""a"")","ProcessDialogCharが呼ばれHandledがtrueになる","高","テキスト入力処理"
"11","UT-WFI-011","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PostProcessInput","正常系","キーボードフォーカスがない場合は早期リターンすること","_root.IsKeyboardFocusWithinがfalse","RawTextInputEventArgs","ProcessDialogCharが呼ばれないこと","中","フォーカス状態の確認"
"12","UT-WFI-012","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PostProcessInput","正常系","既に処理済みのイベントはスキップされること","args.Handledがtrue","RawTextInputEventArgs","ProcessDialogCharが呼ばれないこと","中","処理済みイベントのスキップ"
"13","UT-WFI-013","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PostProcessInput","異常系","空文字列のテキストは処理されないこと","キーボードフォーカスあり","RawTextInputEventArgs(text="""")","ProcessDialogCharが呼ばれないこと","中","空文字列のハンドリング"
"14","UT-WFI-014","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PostProcessInput","異常系","nullテキストは処理されないこと","キーボードフォーカスあり","RawTextInputEventArgs(text=null)","ProcessDialogCharが呼ばれないこと","中","nullテキストのハンドリング"
"15","UT-WFI-015","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PostProcessInput","正常系","RawTextInputEventArgs以外のイベントは処理されないこと","キーボードフォーカスあり","RawKeyEventArgs","ProcessDialogCharが呼ばれないこと","中","イベント型の判別"
"16","UT-WFI-016","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleCreated","正常系","DesignModeでない場合、EmbeddableControlRootが初期化されること","DesignModeがfalse","EventArgs","_rootがnullでないこと","高","ランタイムでの初期化"
"17","UT-WFI-017","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleCreated","正常系","DesignModeでない場合、_root.Contentに_contentが設定されること","DesignModeがfalse、_contentが設定済み","EventArgs","_root.Contentが_contentと同じ値","高","コンテンツの同期"
"18","UT-WFI-018","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleCreated","正常系","DesignModeでない場合、レンダリングが開始されること","DesignModeがfalse","EventArgs","_root.StartRenderingが呼ばれること","高","レンダリング開始"
"19","UT-WFI-019","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleCreated","正常系","DesignModeでない場合、GotFocusイベントがサブスクライブされること","DesignModeがfalse","EventArgs","GotFocusハンドラが登録されること","中","イベントハンドラの登録"
"20","UT-WFI-020","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleCreated","正常系","DesignModeでない場合、SetParentが呼ばれること","DesignModeがfalse","EventArgs","UnmanagedMethods.SetParentが正しいハンドルで呼ばれる","高","親ウィンドウの設定"
"21","UT-WFI-021","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleCreated","正常系","MessageFilterが追加されること","なし","EventArgs","Application.AddMessageFilterが呼ばれること","中","メッセージフィルタの登録"
"22","UT-WFI-022","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleCreated","正常系","DesignModeの場合、_rootが初期化されないこと","DesignModeがtrue","EventArgs","_rootがnullのままであること","中","デザインモードでの動作"
"23","UT-WFI-023","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleDestroyed","正常系","MessageFilterが削除されること","MessageFilterが登録済み","EventArgs","Application.RemoveMessageFilterが呼ばれること","中","メッセージフィルタの解除"
"24","UT-WFI-024","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleDestroyed","正常系","_rootのレンダリングが停止されること","_rootが初期化済み","EventArgs","_root.StopRenderingが呼ばれること","高","レンダリング停止"
"25","UT-WFI-025","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleDestroyed","正常系","_rootがDisposeされること","_rootが初期化済み","EventArgs","_root.Disposeが呼ばれること","高","リソース解放"
"26","UT-WFI-026","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleDestroyed","正常系","_rootがnullに設定されること","_rootが初期化済み","EventArgs","_rootがnullになること","中","参照のクリア"
"27","UT-WFI-027","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleDestroyed","異常系","_rootがnullの場合でもエラーにならないこと","_rootがnull","EventArgs","例外がスローされないこと","中","nullセーフな破棄処理"
"28","UT-WFI-028","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Dispose","正常系","disposing=trueの場合、_rootがDisposeされること","_rootが初期化済み","disposing=true","_root.Disposeが呼ばれること","高","マネージドリソースの解放"
"29","UT-WFI-029","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Dispose","正常系","disposing=trueの場合、_rootがnullに設定されること","_rootが初期化済み","disposing=true","_rootがnullになること","中","参照のクリア"
"30","UT-WFI-030","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Dispose","正常系","_postProcessInputDisposableがDisposeされること","サブスクリプションが有効","disposing=true/false","_postProcessInputDisposable.Disposeが呼ばれること","高","サブスクリプションの解除"
"31","UT-WFI-031","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Dispose","正常系","_postProcessInputDisposableがnullに設定されること","サブスクリプションが有効","disposing=true/false","_postProcessInputDisposableがnullになること","中","参照のクリア"
"32","UT-WFI-032","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Dispose","正常系","disposing=falseの場合、_rootがDisposeされないこと","_rootが初期化済み","disposing=false","_root.Disposeが呼ばれないこと","中","ファイナライザからの呼び出し"
"33","UT-WFI-033","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Dispose","異常系","_rootがnullの場合でもエラーにならないこと","_rootがnull","disposing=true","例外がスローされないこと","中","nullセーフなDispose"
"34","UT-WFI-034","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Dispose","異常系","_postProcessInputDisposableがnullの場合でもエラーにならないこと","_postProcessInputDisposableがnull","disposing=true","例外がスローされないこと","中","nullセーフなDispose"
"35","UT-WFI-035","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","RootGotFocus","正常系","SetFocusが呼ばれること","WindowHandleが有効","RoutedEventArgs","UnmanagedMethods.SetFocusが正しいハンドルで呼ばれる","中","フォーカス転送"
"36","UT-WFI-036","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnGotFocus","正常系","WindowHandleが有効な場合、SetFocusが呼ばれること","WindowHandleがIntPtr.Zero以外","EventArgs","UnmanagedMethods.SetFocusが呼ばれること","中","フォーカスイベント処理"
"37","UT-WFI-037","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnGotFocus","正常系","WindowHandleがdefaultの場合、SetFocusが呼ばれないこと","WindowHandleがIntPtr.Zero","EventArgs","UnmanagedMethods.SetFocusが呼ばれないこと","中","無効なハンドルの処理"
"38","UT-WFI-038","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","FixPosition","正常系","有効なハンドルとサイズでMoveWindowが呼ばれること","WindowHandleが有効、Width>0、Height>0","なし","MoveWindowが(0,0,Width,Height,true)で呼ばれる","高","ウィンドウ位置調整"
"39","UT-WFI-039","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","FixPosition","境界値","Widthが0の場合、MoveWindowが呼ばれないこと","WindowHandleが有効、Width=0","なし","MoveWindowが呼ばれないこと","中","ゼロ幅の処理"
"40","UT-WFI-040","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","FixPosition","境界値","Heightが0の場合、MoveWindowが呼ばれないこと","WindowHandleが有効、Height=0","なし","MoveWindowが呼ばれないこと","中","ゼロ高さの処理"
"41","UT-WFI-041","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","FixPosition","正常系","WindowHandleがdefaultの場合、MoveWindowが呼ばれないこと","WindowHandleがIntPtr.Zero","なし","MoveWindowが呼ばれないこと","中","無効なハンドルの処理"
"42","UT-WFI-042","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnResize","正常系","リサイズ時にFixPositionが呼ばれること","コントロールが初期化済み","EventArgs","FixPositionが呼ばれること","高","リサイズ時の位置調整"
"43","UT-WFI-043","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnResize","正常系","base.OnResizeが呼ばれること","コントロールが初期化済み","EventArgs","基底クラスのOnResizeが呼ばれること","低","基底クラスの呼び出し"
"44","UT-WFI-044","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnPaint","正常系","DesignModeでメッセージと枠線が描画されること","DesignModeがtrue","PaintEventArgs","Graphics.DrawRectangleとDrawStringが呼ばれること","中","デザインモードでの描画"
"45","UT-WFI-045","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnPaint","正常系","DesignModeで対角線が描画されること","DesignModeがtrue","PaintEventArgs","Graphics.DrawLineが2回呼ばれること","低","デザインモードの視覚表示"
"46","UT-WFI-046","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnPaint","正常系","DesignModeでない場合は何も描画されないこと","DesignModeがfalse","PaintEventArgs","描画メソッドが呼ばれないこと","中","ランタイムでの描画スキップ"
"47","UT-WFI-047","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","IsInputChar","正常系","任意の文字でtrueが返却されること","なし","任意のchar","trueが返却される","中","入力文字の受け入れ"
"48","UT-WFI-048","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","IsInputChar","境界値","null文字でtrueが返却されること","なし","'\0'","trueが返却される","低","特殊文字の処理"
"49","UT-WFI-049","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","WM_LBUTTONDOWNで別ウィンドウの場合、Deactivatedが呼ばれること","_root.PlatformImplがWindowImpl、IsOurWindowがfalse","Message(WM_LBUTTONDOWN)","Deactivatedが呼ばれること","高","マウスクリックでの非アクティブ化"
"50","UT-WFI-050","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","WM_MBUTTONDOWNで別ウィンドウの場合、Deactivatedが呼ばれること","_root.PlatformImplがWindowImpl、IsOurWindowがfalse","Message(WM_MBUTTONDOWN)","Deactivatedが呼ばれること","中","中ボタンクリックでの非アクティブ化"
"51","UT-WFI-051","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","WM_RBUTTONDOWNで別ウィンドウの場合、Deactivatedが呼ばれること","_root.PlatformImplがWindowImpl、IsOurWindowがfalse","Message(WM_RBUTTONDOWN)","Deactivatedが呼ばれること","中","右ボタンクリックでの非アクティブ化"
"52","UT-WFI-052","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","WM_NCLBUTTONDOWNで別ウィンドウの場合、Deactivatedが呼ばれること","_root.PlatformImplがWindowImpl、IsOurWindowがfalse","Message(WM_NCLBUTTONDOWN)","Deactivatedが呼ばれること","中","非クライアント領域左クリックでの非アクティブ化"
"53","UT-WFI-053","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","WM_NCMBUTTONDOWNで別ウィンドウの場合、Deactivatedが呼ばれること","_root.PlatformImplがWindowImpl、IsOurWindowがfalse","Message(WM_NCMBUTTONDOWN)","Deactivatedが呼ばれること","低","非クライアント領域中クリックでの非アクティブ化"
"54","UT-WFI-054","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","WM_NCRBUTTONDOWNで別ウィンドウの場合、Deactivatedが呼ばれること","_root.PlatformImplがWindowImpl、IsOurWindowがfalse","Message(WM_NCRBUTTONDOWN)","Deactivatedが呼ばれること","低","非クライアント領域右クリックでの非アクティブ化"
"55","UT-WFI-055","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","IsOurWindowがtrueの場合、Deactivatedが呼ばれないこと","_root.PlatformImplがWindowImpl、IsOurWindowがtrue","Message(WM_LBUTTONDOWN)","Deactivatedが呼ばれないこと","高","自ウィンドウクリック時の動作"
"56","UT-WFI-056","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","PlatformImplがWindowImplでない場合、Deactivatedが呼ばれないこと","_root.PlatformImplがWindowImplでない","Message(WM_LBUTTONDOWN)","Deactivatedが呼ばれないこと","中","異なるプラットフォーム実装時の動作"
"57","UT-WFI-057","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","常にfalseが返却されること","なし","任意のMessage","falseが返却される","高","メッセージの通過"
"58","UT-WFI-058","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","マウスダウン以外のメッセージでは何も処理されないこと","なし","Message(WM_MOUSEMOVE)","Deactivatedが呼ばれないこと","中","無関係なメッセージの無視"
"59","UT-WFI-059","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","WindowHandle","正常系","_rootが有効な場合、正しいハンドルが返却されること","_rootが初期化済みでハンドルが有効","なし","有効なIntPtrが返却される","中","ハンドル取得"
"60","UT-WFI-060","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","WindowHandle","正常系","_rootがnullの場合、IntPtr.Zeroが返却されること","_rootがnull","なし","IntPtr.Zeroが返却される","中","nullセーフなハンドル取得"
"61","UT-WFI-061","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","WindowHandle","正常系","TryGetPlatformHandleがnullの場合、IntPtr.Zeroが返却されること","_rootは有効だがハンドルがnull","なし","IntPtr.Zeroが返却される","中","ハンドル未取得時の動作"
"1","UT-W32-001","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","コンストラクタ","正常系","WindowImplが正常に初期化されること","Win32環境が有効","なし","WindowImplインスタンスが生成される","高","ウィンドウ実装の基本初期化"
"2","UT-W32-002","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","ClientSize","正常系","クライアントサイズが正しく取得されること","ウィンドウが作成済み","なし","正のSize値が返却される","高","ウィンドウサイズ取得"
"3","UT-W32-003","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","ClientSize","境界値","ウィンドウが最小サイズの場合","ウィンドウが作成済み","最小サイズウィンドウ","正のSize値（最小）が返却される","中","境界値テスト"
"4","UT-W32-004","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","FrameSize","正常系","フレームサイズが正しく取得されること","ウィンドウが作成済み","なし","ClientSizeより大きいSize値が返却される","中","フレームサイズ取得"
"5","UT-W32-005","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","Position","正常系","ウィンドウ位置が正しく取得されること","ウィンドウが作成済み","なし","有効なPixelPoint値が返却される","中","位置取得"
"6","UT-W32-006","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","Position","正常系","ウィンドウ位置が正しく設定されること","ウィンドウが作成済み","Position=(100, 100)","ウィンドウが指定位置に移動する","中","位置設定"
"7","UT-W32-007","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","WindowState","正常系","ウィンドウ状態がNormalで取得されること","ウィンドウが通常表示","なし","WindowState.Normalが返却される","高","状態取得"
"8","UT-W32-008","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","WindowState","正常系","ウィンドウ状態がMaximizedで取得されること","ウィンドウが最大化","なし","WindowState.Maximizedが返却される","高","状態取得"
"9","UT-W32-009","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","WindowState","正常系","ウィンドウ状態がMinimizedで取得されること","ウィンドウが最小化","なし","WindowState.Minimizedが返却される","高","状態取得"
"10","UT-W32-010","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","WindowState","正常系","ウィンドウ状態がFullScreenで取得されること","ウィンドウがフルスクリーン","なし","WindowState.FullScreenが返却される","高","状態取得"
"11","UT-W32-011","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","RenderScaling","正常系","レンダリングスケールが取得されること","ウィンドウが作成済み","なし","正の倍精度浮動小数点が返却される","中","DPIスケーリング"
"12","UT-W32-012","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","Resize","正常系","ウィンドウがリサイズされること","ウィンドウが作成済み","Size(800, 600)","ウィンドウが指定サイズに変更される","高","リサイズ処理"
"13","UT-W32-013","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","Resize","境界値","最小サイズにリサイズされること","ウィンドウが作成済み","Size(1, 1)","ウィンドウが最小サイズに変更される","中","境界値"
"14","UT-W32-014","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","Resize","異常系","フルスクリーン時はリサイズが無視されること","ウィンドウがフルスクリーン","Size(800, 600)","リサイズが無視され警告ログが出力される","中","フルスクリーン時の制限"
"15","UT-W32-015","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","Activate","正常系","ウィンドウがアクティブになること","ウィンドウが作成済み","なし","ウィンドウがフォアグラウンドになる","中","アクティベーション"
"16","UT-W32-016","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","Show","正常系","ウィンドウが表示されること","ウィンドウが作成済み","activate=true","ウィンドウが可視状態になる","高","表示処理"
"17","UT-W32-017","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","Show","正常系","ウィンドウが非アクティブで表示されること","ウィンドウが作成済み","activate=false","ウィンドウが可視状態になるがフォーカスされない","中","非アクティブ表示"
"18","UT-W32-018","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","Hide","正常系","ウィンドウが非表示になること","ウィンドウが表示中","なし","ウィンドウが非可視状態になる","高","非表示処理"
"19","UT-W32-019","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","Dispose","正常系","ウィンドウが破棄されること","ウィンドウが作成済み","なし","ウィンドウハンドルがIntPtr.Zeroになる","高","リソース解放"
"20","UT-W32-020","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","SetTitle","正常系","ウィンドウタイトルが設定されること","ウィンドウが作成済み","title=""Test Window""","ウィンドウタイトルが更新される","中","タイトル設定"
"21","UT-W32-021","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","SetTitle","異常系","nullタイトルが設定できること","ウィンドウが作成済み","title=null","タイトルが空になる","低","null許容"
"22","UT-W32-022","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","SetIcon","正常系","ウィンドウアイコンが設定されること","ウィンドウが作成済み","icon=IconImpl","アイコンが更新される","中","アイコン設定"
"23","UT-W32-023","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","SetIcon","異常系","nullアイコンが設定できること","ウィンドウが作成済み","icon=null","デフォルトアイコンが使用される","低","null許容"
"24","UT-W32-024","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","SetCursor","正常系","カーソルが設定されること","ウィンドウが作成済み","cursor=CursorImpl","カーソルが変更される","中","カーソル設定"
"25","UT-W32-025","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","SetCursor","異常系","nullカーソルでデフォルトカーソルになること","ウィンドウが作成済み","cursor=null","デフォルトカーソルが使用される","低","null許容"
"26","UT-W32-026","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","SetTopmost","正常系","最前面設定が有効になること","ウィンドウが作成済み","value=true","ウィンドウが最前面になる","中","最前面設定"
"27","UT-W32-027","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","SetTopmost","正常系","最前面設定が解除されること","ウィンドウが最前面","value=false","ウィンドウが通常のZ順序になる","中","最前面解除"
"28","UT-W32-028","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","SetMinMaxSize","正常系","最小最大サイズが設定されること","ウィンドウが作成済み","minSize=(100,100), maxSize=(1000,1000)","サイズ制限が適用される","中","サイズ制限"
"29","UT-W32-029","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","PointToClient","正常系","スクリーン座標がクライアント座標に変換されること","ウィンドウが作成済み","PixelPoint(100, 100)","クライアント座標のPointが返却される","中","座標変換"
"30","UT-W32-030","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","PointToScreen","正常系","クライアント座標がスクリーン座標に変換されること","ウィンドウが作成済み","Point(50, 50)","スクリーン座標のPixelPointが返却される","中","座標変換"
"31","UT-W32-031","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","SetTransparencyLevelHint","正常系","透明レベルがTransparentに設定されること","ウィンドウが作成済み","[Transparent]","TransparencyLevelがTransparentになる","中","透明度設定"
"32","UT-W32-032","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","SetTransparencyLevelHint","正常系","透明レベルがMicaに設定されること","Windows 11環境","[Mica]","TransparencyLevelがMicaになる","中","Mica効果"
"33","UT-W32-033","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","SetSystemDecorations","正常系","システムデコレーションがFullに設定されること","ウィンドウが作成済み","SystemDecorations.Full","フルデコレーションが適用される","中","デコレーション"
"34","UT-W32-034","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","SetSystemDecorations","正常系","システムデコレーションがNoneに設定されること","ウィンドウが作成済み","SystemDecorations.None","デコレーションが非表示になる","中","デコレーション"
"35","UT-W32-035","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","CanResize","正常系","リサイズ可能設定が反映されること","ウィンドウが作成済み","value=true","ウィンドウがリサイズ可能になる","中","リサイズ設定"
"36","UT-W32-036","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","CanResize","正常系","リサイズ不可設定が反映されること","ウィンドウが作成済み","value=false","ウィンドウがリサイズ不可になる","中","リサイズ設定"
"37","UT-W32-037","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","TryGetFeature","正常系","IScreenImplが取得できること","ウィンドウが作成済み","featureType=typeof(IScreenImpl)","ScreenImplインスタンスが返却される","中","機能取得"
"38","UT-W32-038","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","TryGetFeature","正常系","IStorageProviderが取得できること","ウィンドウが作成済み","featureType=typeof(IStorageProvider)","Win32StorageProviderインスタンスが返却される","中","機能取得"
"39","UT-W32-039","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","TryGetFeature","異常系","不明な機能型でnullが返却されること","ウィンドウが作成済み","featureType=typeof(UnknownType)","nullが返却される","低","機能取得"
"40","UT-W32-040","src/Windows/Avalonia.Win32/WindowImpl.cs","WindowImpl","CreatePopup","正常系","ポップアップが作成されること","ウィンドウが作成済み","なし","PopupImplインスタンスが返却される","中","ポップアップ作成"
"41","UT-W32-041","src/Windows/Avalonia.Win32/ClipboardImpl.cs","ClipboardImpl","ClearAsync","正常系","クリップボードがクリアされること","OLE初期化済み","なし","クリップボードが空になる","高","クリップボード操作"
"42","UT-W32-042","src/Windows/Avalonia.Win32/ClipboardImpl.cs","ClipboardImpl","SetDataAsync","正常系","データがクリップボードに設定されること","OLE初期化済み","IAsyncDataTransfer","クリップボードにデータが格納される","高","クリップボード操作"
"43","UT-W32-043","src/Windows/Avalonia.Win32/ClipboardImpl.cs","ClipboardImpl","TryGetDataAsync","正常系","クリップボードからデータが取得されること","クリップボードにデータあり","なし","IAsyncDataTransferが返却される","高","クリップボード操作"
"44","UT-W32-044","src/Windows/Avalonia.Win32/ClipboardImpl.cs","ClipboardImpl","TryGetDataAsync","境界値","クリップボードが空の場合nullが返却されること","クリップボードが空","なし","nullが返却される","中","空クリップボード"
"45","UT-W32-045","src/Windows/Avalonia.Win32/ClipboardImpl.cs","ClipboardImpl","IsCurrentOwnerAsync","正常系","現在のオーナーかどうか判定されること","クリップボードにデータ設定済み","なし","trueが返却される","中","オーナー判定"
"46","UT-W32-046","src/Windows/Avalonia.Win32/ClipboardImpl.cs","ClipboardImpl","IsCurrentOwnerAsync","正常系","他プロセスがオーナーの場合falseが返却されること","他プロセスがクリップボード設定","なし","falseが返却される","中","オーナー判定"
"47","UT-W32-047","src/Windows/Avalonia.Win32/ClipboardImpl.cs","ClipboardImpl","FlushAsync","正常系","クリップボードがフラッシュされること","クリップボードにデータあり","なし","正常終了する","中","フラッシュ処理"
"48","UT-W32-048","src/Windows/Avalonia.Win32/CursorFactory.cs","CursorFactory","GetCursor","正常系","標準カーソルが取得できること","CursorFactoryが初期化済み","StandardCursorType.Arrow","有効なCursorImplが返却される","中","カーソル取得"
"49","UT-W32-049","src/Windows/Avalonia.Win32/CursorFactory.cs","CursorFactory","GetCursor","正常系","Handカーソルが取得できること","CursorFactoryが初期化済み","StandardCursorType.Hand","有効なCursorImplが返却される","中","カーソル取得"
"50","UT-W32-050","src/Windows/Avalonia.Win32/CursorFactory.cs","CursorFactory","GetCursor","正常系","Noneカーソルが取得できること","CursorFactoryが初期化済み","StandardCursorType.None","ハンドルが0のCursorImplが返却される","中","非表示カーソル"
"51","UT-W32-051","src/Windows/Avalonia.Win32/CursorFactory.cs","CursorFactory","CreateCursor","正常系","カスタムカーソルが作成されること","CursorFactoryが初期化済み","IBitmapImpl, hotSpot","カスタムCursorImplが返却される","中","カスタムカーソル"
"52","UT-W32-052","src/Windows/Avalonia.Win32/CursorFactory.cs","CursorImpl","Dispose","正常系","カーソルリソースが解放されること","CursorImplが作成済み","なし","Handleが0になる","中","リソース解放"
"53","UT-W32-053","src/Windows/Avalonia.Win32/TrayIconImpl.cs","TrayIconImpl","コンストラクタ","正常系","TrayIconImplが正常に初期化されること","Win32環境","なし","TrayIconImplインスタンスが生成される","高","トレイアイコン初期化"
"54","UT-W32-054","src/Windows/Avalonia.Win32/TrayIconImpl.cs","TrayIconImpl","SetIcon","正常系","トレイアイコンが設定されること","TrayIconImplが初期化済み","IWindowIconImpl","アイコンが更新される","中","アイコン設定"
"55","UT-W32-055","src/Windows/Avalonia.Win32/TrayIconImpl.cs","TrayIconImpl","SetIcon","異常系","nullアイコンで空アイコンが設定されること","TrayIconImplが初期化済み","null","空アイコンが設定される","低","null許容"
"56","UT-W32-056","src/Windows/Avalonia.Win32/TrayIconImpl.cs","TrayIconImpl","SetIsVisible","正常系","トレイアイコンが表示されること","TrayIconImplが初期化済み","visible=true","アイコンがシステムトレイに表示される","中","表示設定"
"57","UT-W32-057","src/Windows/Avalonia.Win32/TrayIconImpl.cs","TrayIconImpl","SetIsVisible","正常系","トレイアイコンが非表示になること","TrayIconImplが表示中","visible=false","アイコンがシステムトレイから削除される","中","非表示設定"
"58","UT-W32-058","src/Windows/Avalonia.Win32/TrayIconImpl.cs","TrayIconImpl","SetToolTipText","正常系","ツールチップが設定されること","TrayIconImplが初期化済み","text=""Tooltip""","ツールチップテキストが更新される","低","ツールチップ"
"59","UT-W32-059","src/Windows/Avalonia.Win32/TrayIconImpl.cs","TrayIconImpl","SetToolTipText","異常系","nullツールチップが設定できること","TrayIconImplが初期化済み","text=null","ツールチップが空になる","低","null許容"
"60","UT-W32-060","src/Windows/Avalonia.Win32/TrayIconImpl.cs","TrayIconImpl","Dispose","正常系","トレイアイコンが破棄されること","TrayIconImplが初期化済み","なし","アイコンがシステムトレイから削除される","高","リソース解放"
"61","UT-W32-061","src/Windows/Avalonia.Win32/ScreenImpl.cs","ScreenImpl","GetScreenCount","正常系","モニター数が取得されること","マルチモニター環境","なし","正の整数が返却される","中","モニター数取得"
"62","UT-W32-062","src/Windows/Avalonia.Win32/ScreenImpl.cs","ScreenImpl","GetScreenCount","境界値","シングルモニター環境で1が返却されること","シングルモニター環境","なし","1が返却される","中","シングルモニター"
"63","UT-W32-063","src/Windows/Avalonia.Win32/ScreenImpl.cs","ScreenImpl","ScreenFromPoint","正常系","指定座標のスクリーンが取得されること","マルチモニター環境","PixelPoint(0, 0)","有効なScreenが返却される","中","座標からスクリーン取得"
"64","UT-W32-064","src/Windows/Avalonia.Win32/ScreenImpl.cs","ScreenImpl","ScreenFromPoint","異常系","無効な座標でnullが返却されること","マルチモニター環境","画面外のPixelPoint","nullが返却される","中","画面外座標"
"65","UT-W32-065","src/Windows/Avalonia.Win32/ScreenImpl.cs","ScreenImpl","ScreenFromRect","正常系","指定矩形のスクリーンが取得されること","マルチモニター環境","PixelRect(0, 0, 100, 100)","有効なScreenが返却される","中","矩形からスクリーン取得"
"66","UT-W32-066","src/Windows/Avalonia.Win32/WinScreen.cs","WinScreen","Refresh","正常系","スクリーン情報が更新されること","WinScreenが初期化済み","なし","Bounds/WorkingArea/Scalingが更新される","中","情報更新"
"67","UT-W32-067","src/Windows/Avalonia.Win32/WinScreen.cs","WinScreen","GetScaling","正常系","DPIスケーリングが取得されること","WinScreenが初期化済み","なし","正の倍精度浮動小数点が返却される","中","DPIスケーリング"
"68","UT-W32-068","src/Windows/Avalonia.Win32/WinScreen.cs","WinScreen","GetScaling","境界値","96DPIで1.0が返却されること","96DPI環境","なし","1.0が返却される","中","標準DPI"
"69","UT-W32-069","src/Windows/Avalonia.Win32/Input/KeyInterop.cs","KeyInterop","KeyFromVirtualKey","正常系","仮想キーからKeyに変換されること","なし","virtualKey=65, keyData=0","Key.Aが返却される","高","キー変換"
"70","UT-W32-070","src/Windows/Avalonia.Win32/Input/KeyInterop.cs","KeyInterop","KeyFromVirtualKey","正常系","Shift+キーの組み合わせが変換されること","なし","virtualKey=VK_SHIFT, keyData with scancode","Key.LeftShiftまたはKey.RightShiftが返却される","高","修飾キー判定"
"71","UT-W32-071","src/Windows/Avalonia.Win32/Input/KeyInterop.cs","KeyInterop","KeyFromVirtualKey","異常系","不明な仮想キーでKey.Noneが返却されること","なし","virtualKey=999, keyData=0","Key.Noneが返却される","中","不明キー"
"72","UT-W32-072","src/Windows/Avalonia.Win32/Input/KeyInterop.cs","KeyInterop","VirtualKeyFromKey","正常系","KeyからWindowsの仮想キーに変換されること","なし","Key.A","65が返却される","高","逆変換"
"73","UT-W32-073","src/Windows/Avalonia.Win32/Input/KeyInterop.cs","KeyInterop","VirtualKeyFromKey","異常系","Key.Noneで0が返却されること","なし","Key.None","0が返却される","中","なしキー"
"74","UT-W32-074","src/Windows/Avalonia.Win32/Input/KeyInterop.cs","KeyInterop","PhysicalKeyFromVirtualKey","正常系","物理キーが取得されること","なし","virtualKey, keyData with scancode","有効なPhysicalKeyが返却される","中","物理キー取得"
"75","UT-W32-075","src/Windows/Avalonia.Win32/Input/KeyInterop.cs","KeyInterop","PhysicalKeyFromVirtualKey","異常系","不明なスキャンコードでPhysicalKey.Noneが返却されること","なし","不明なスキャンコード","PhysicalKey.Noneが返却される","中","不明物理キー"
"76","UT-W32-076","src/Windows/Avalonia.Win32/Input/KeyInterop.cs","KeyInterop","GetKeySymbol","正常系","キーシンボルが取得されること","なし","virtualKey=65, keyData=0","""a""または""A""が返却される","中","キーシンボル取得"
"77","UT-W32-077","src/Windows/Avalonia.Win32/Input/KeyInterop.cs","KeyInterop","GetKeySymbol","異常系","非文字キーでnullが返却されること","なし","virtualKey=VK_SHIFT, keyData=0","nullが返却される","中","非文字キー"
"78","UT-W32-078","src/Windows/Avalonia.Win32/IconImpl.cs","IconImpl","コンストラクタ","正常系","IconImplがStreamから初期化されること","有効なアイコンStream","Stream icon","IconImplインスタンスが生成される","中","アイコン読み込み"
"79","UT-W32-079","src/Windows/Avalonia.Win32/IconImpl.cs","IconImpl","コンストラクタ","正常系","IconImplが大小アイコンStreamから初期化されること","有効なアイコンStream","Stream smallIcon, Stream bigIcon","IconImplインスタンスが生成される","中","大小アイコン"
"80","UT-W32-080","src/Windows/Avalonia.Win32/IconImpl.cs","IconImpl","LoadSmallIcon","正常系","小アイコンが読み込まれること","IconImplが初期化済み","scaleFactor=1.0","16x16のWin32Iconが返却される","中","小アイコン読み込み"
"81","UT-W32-081","src/Windows/Avalonia.Win32/IconImpl.cs","IconImpl","LoadSmallIcon","正常系","スケーリングされた小アイコンが読み込まれること","IconImplが初期化済み","scaleFactor=2.0","32x32のWin32Iconが返却される","中","DPIスケーリング"
"82","UT-W32-082","src/Windows/Avalonia.Win32/IconImpl.cs","IconImpl","LoadBigIcon","正常系","大アイコンが読み込まれること","IconImplが初期化済み","scaleFactor=1.0","24x24または32x32のWin32Iconが返却される","中","大アイコン読み込み"
"83","UT-W32-083","src/Windows/Avalonia.Win32/IconImpl.cs","IconImpl","Save","正常系","アイコンがStreamに保存されること","IconImplが初期化済み","MemoryStream","アイコンデータが書き込まれる","低","保存処理"
"84","UT-W32-084","src/Windows/Avalonia.Win32/IconImpl.cs","IconImpl","Dispose","正常系","アイコンリソースが解放されること","IconImplが初期化済み","なし","内部Win32Iconが解放される","中","リソース解放"
"85","UT-W32-085","src/Windows/Avalonia.Win32/PopupImpl.cs","PopupImpl","コンストラクタ","正常系","PopupImplが初期化されること","親ウィンドウが存在","IWindowBaseImpl parent","PopupImplインスタンスが生成される","高","ポップアップ初期化"
"86","UT-W32-086","src/Windows/Avalonia.Win32/PopupImpl.cs","PopupImpl","Show","正常系","ポップアップが非アクティブで表示されること","PopupImplが初期化済み","activate引数は無視","ポップアップが非アクティブで表示される","中","表示処理"
"87","UT-W32-087","src/Windows/Avalonia.Win32/PopupImpl.cs","PopupImpl","MaxAutoSizeHint","正常系","最大自動サイズヒントが取得されること","PopupImplが初期化済み","なし","画面のWorkingAreaサイズが返却される","中","サイズヒント"
"88","UT-W32-088","src/Windows/Avalonia.Win32/PopupImpl.cs","PopupImpl","SetWindowManagerAddShadowHint","正常系","ドロップシャドウが有効になること","PopupImplが初期化済み","enabled=true","CS_DROPSHADOWスタイルが追加される","低","シャドウ設定"
"89","UT-W32-089","src/Windows/Avalonia.Win32/PopupImpl.cs","PopupImpl","SetWindowManagerAddShadowHint","正常系","ドロップシャドウが無効になること","PopupImplが初期化済み","enabled=false","CS_DROPSHADOWスタイルが削除される","低","シャドウ設定"
"90","UT-W32-090","src/Windows/Avalonia.Win32/PopupImpl.cs","PopupImpl","TakeFocus","正常系","親ウィンドウにフォーカスが移ること","PopupImplが表示中","なし","親ウィンドウがフォーカスを受け取る","中","フォーカス処理"
"91","UT-W32-091","src/Windows/Avalonia.Win32/DragSource.cs","DragSource","DoDragDropAsync","正常系","ドラッグ&ドロップが開始されること","OLE初期化済み","triggerEvent, dataTransfer, allowedEffects","DragDropEffectsが返却される","高","D&D開始"
"92","UT-W32-092","src/Windows/Avalonia.Win32/DragSource.cs","DragSource","DoDragDropAsync","正常系","Copyエフェクトが許可されること","OLE初期化済み","allowedEffects=Copy","DragDropEffects.Copyが返却可能","高","Copyエフェクト"
"93","UT-W32-093","src/Windows/Avalonia.Win32/DragSource.cs","DragSource","DoDragDropAsync","正常系","Moveエフェクトが許可されること","OLE初期化済み","allowedEffects=Move","DragDropEffects.Moveが返却可能","高","Moveエフェクト"
"94","UT-W32-094","src/Windows/Avalonia.Win32/OleDropTarget.cs","OleDropTarget","ConvertDropEffect","正常系","DragDropEffectsからDropEffectに変換されること","なし","DragDropEffects.Copy","DropEffect.Copyが返却される","中","エフェクト変換"
"95","UT-W32-095","src/Windows/Avalonia.Win32/OleDropTarget.cs","OleDropTarget","ConvertDropEffect","正常系","DropEffectからDragDropEffectsに変換されること","なし","DropEffect.Move","DragDropEffects.Moveが返却される","中","逆変換"
"96","UT-W32-096","src/Windows/Avalonia.Win32/OleDropTarget.cs","OleDropTarget","ConvertDropEffect","正常系","複合エフェクトが変換されること","なし","DragDropEffects.Copy | Move | Link","DropEffect.Copy | Move | Linkが返却される","中","複合エフェクト"
"97","UT-W32-097","src/Windows/Avalonia.Win32/OleDropTarget.cs","OleDropTarget","TryGetDataTransferFromOleDataObject","正常系","OLEデータオブジェクトからDataTransferが取得されること","OLEデータオブジェクト","IDataObject","IDataTransferが返却される","中","データ取得"
"98","UT-W32-098","src/Windows/Avalonia.Win32/OleDropTarget.cs","OleDropTarget","TryGetDataTransferFromOleDataObject","異常系","nullオブジェクトで例外がスローされること","なし","null","ThrowHelperで例外がスローされる","中","null検証"
"99","UT-W32-099","src/Windows/Avalonia.Win32/Win32StorageProvider.cs","Win32StorageProvider","CanOpen","正常系","ファイルオープンが可能であること","Win32StorageProviderが初期化済み","なし","trueが返却される","中","機能確認"
"100","UT-W32-100","src/Windows/Avalonia.Win32/Win32StorageProvider.cs","Win32StorageProvider","CanSave","正常系","ファイル保存が可能であること","Win32StorageProviderが初期化済み","なし","trueが返却される","中","機能確認"
"101","UT-W32-101","src/Windows/Avalonia.Win32/Win32StorageProvider.cs","Win32StorageProvider","CanPickFolder","正常系","フォルダ選択が可能であること","Win32StorageProviderが初期化済み","なし","trueが返却される","中","機能確認"
"102","UT-W32-102","src/Windows/Avalonia.Win32/Win32StorageProvider.cs","Win32StorageProvider","OpenFilePickerAsync","正常系","ファイル選択ダイアログが表示されること","ウィンドウが存在","FilePickerOpenOptions","選択されたIStorageFileのリストが返却される","高","ファイル選択"
"103","UT-W32-103","src/Windows/Avalonia.Win32/Win32StorageProvider.cs","Win32StorageProvider","OpenFilePickerAsync","正常系","複数ファイル選択が可能であること","ウィンドウが存在","AllowMultiple=true","複数のIStorageFileが返却される","中","複数選択"
"104","UT-W32-104","src/Windows/Avalonia.Win32/Win32StorageProvider.cs","Win32StorageProvider","OpenFilePickerAsync","正常系","キャンセル時に空リストが返却されること","ウィンドウが存在","ダイアログをキャンセル","空のリストが返却される","中","キャンセル処理"
"105","UT-W32-105","src/Windows/Avalonia.Win32/Win32StorageProvider.cs","Win32StorageProvider","SaveFilePickerAsync","正常系","保存ダイアログが表示されること","ウィンドウが存在","FilePickerSaveOptions","IStorageFileまたはnullが返却される","高","ファイル保存"
"106","UT-W32-106","src/Windows/Avalonia.Win32/Win32StorageProvider.cs","Win32StorageProvider","SaveFilePickerAsync","正常系","キャンセル時にnullが返却されること","ウィンドウが存在","ダイアログをキャンセル","nullが返却される","中","キャンセル処理"
"107","UT-W32-107","src/Windows/Avalonia.Win32/Win32StorageProvider.cs","Win32StorageProvider","OpenFolderPickerAsync","正常系","フォルダ選択ダイアログが表示されること","ウィンドウが存在","FolderPickerOpenOptions","選択されたIStorageFolderのリストが返却される","高","フォルダ選択"
"108","UT-W32-108","src/Windows/Avalonia.Win32/Win32PlatformSettings.cs","Win32PlatformSettings","GetTapSize","正常系","マウスのタップサイズが取得されること","Win32環境","PointerType.Mouse","システム設定に基づくSizeが返却される","中","タップサイズ"
"109","UT-W32-109","src/Windows/Avalonia.Win32/Win32PlatformSettings.cs","Win32PlatformSettings","GetDoubleTapSize","正常系","ダブルクリックサイズが取得されること","Win32環境","PointerType.Mouse","システム設定に基づくSizeが返却される","中","ダブルクリックサイズ"
"110","UT-W32-110","src/Windows/Avalonia.Win32/Win32PlatformSettings.cs","Win32PlatformSettings","GetDoubleTapTime","正常系","ダブルクリック時間が取得されること","Win32環境","PointerType.Mouse","システム設定に基づくTimeSpanが返却される","中","ダブルクリック時間"
"111","UT-W32-111","src/Windows/Avalonia.Win32/Win32PlatformSettings.cs","Win32PlatformSettings","GetColorValues","正常系","カラー設定が取得されること","WinRT API利用可能","なし","PlatformColorValuesが返却される","中","カラー取得"
"112","UT-W32-112","src/Windows/Avalonia.Win32/Win32PlatformSettings.cs","Win32PlatformSettings","GetColorValues","正常系","ダークモードが検出されること","ダークモード設定","なし","ThemeVariant=Darkが返却される","中","テーマ検出"
"113","UT-W32-113","src/Windows/Avalonia.Win32/Win32PlatformSettings.cs","Win32PlatformSettings","GetColorValues","正常系","ライトモードが検出されること","ライトモード設定","なし","ThemeVariant=Lightが返却される","中","テーマ検出"
"114","UT-W32-114","src/Windows/Avalonia.Win32/Win32PlatformSettings.cs","Win32PlatformSettings","GetColorValues","正常系","ハイコントラストモードが検出されること","ハイコントラスト設定","なし","ContrastPreference=Highが返却される","中","ハイコントラスト検出"
"115","UT-W32-115","src/Windows/Avalonia.Win32/Win32DispatcherImpl.cs","Win32DispatcherImpl","コンストラクタ","正常系","Win32DispatcherImplが初期化されること","メッセージウィンドウが存在","IntPtr messageWindow","Win32DispatcherImplインスタンスが生成される","高","ディスパッチャ初期化"
"116","UT-W32-116","src/Windows/Avalonia.Win32/Win32DispatcherImpl.cs","Win32DispatcherImpl","CurrentThreadIsLoopThread","正常系","UIスレッドでtrueが返却されること","UIスレッドで実行","なし","trueが返却される","中","スレッド判定"
"117","UT-W32-117","src/Windows/Avalonia.Win32/Win32DispatcherImpl.cs","Win32DispatcherImpl","CurrentThreadIsLoopThread","正常系","バックグラウンドスレッドでfalseが返却されること","バックグラウンドスレッドで実行","なし","falseが返却される","中","スレッド判定"
"118","UT-W32-118","src/Windows/Avalonia.Win32/Win32DispatcherImpl.cs","Win32DispatcherImpl","Signal","正常系","シグナルが送信されること","ディスパッチャが初期化済み","なし","WM_DISPATCH_WORK_ITEMがポストされる","中","シグナル送信"
"119","UT-W32-119","src/Windows/Avalonia.Win32/Win32DispatcherImpl.cs","Win32DispatcherImpl","UpdateTimer","正常系","タイマーが設定されること","ディスパッチャが初期化済み","dueTimeInMs=1000","タイマーが設定される","中","タイマー設定"
"120","UT-W32-120","src/Windows/Avalonia.Win32/Win32DispatcherImpl.cs","Win32DispatcherImpl","UpdateTimer","正常系","タイマーがキャンセルされること","タイマーが設定済み","dueTimeInMs=null","タイマーが停止される","中","タイマー停止"
"121","UT-W32-121","src/Windows/Avalonia.Win32/Win32DispatcherImpl.cs","Win32DispatcherImpl","HasPendingInput","正常系","入力がない場合falseが返却されること","入力キューが空","なし","falseが返却される","中","入力確認"
"122","UT-W32-122","src/Windows/Avalonia.Win32/Win32DispatcherImpl.cs","Win32DispatcherImpl","Now","正常系","経過時間が取得されること","ディスパッチャが初期化済み","なし","正のlong値が返却される","低","時間取得"
"123","UT-W32-123","src/Windows/Avalonia.Win32/FramebufferManager.cs","FramebufferManager","コンストラクタ","正常系","FramebufferManagerが初期化されること","ウィンドウハンドルが有効","IntPtr hwnd","FramebufferManagerインスタンスが生成される","中","フレームバッファ初期化"
"124","UT-W32-124","src/Windows/Avalonia.Win32/FramebufferManager.cs","FramebufferManager","Lock","正常系","フレームバッファがロックされること","FramebufferManagerが初期化済み","なし","ILockedFramebufferが返却される","高","ロック処理"
"125","UT-W32-125","src/Windows/Avalonia.Win32/FramebufferManager.cs","FramebufferManager","Lock","正常系","サイズ変更時に再割り当てされること","FramebufferManagerが初期化済み","ウィンドウサイズ変更後","新しいサイズのフレームバッファが返却される","中","サイズ変更対応"
"126","UT-W32-126","src/Windows/Avalonia.Win32/FramebufferManager.cs","FramebufferManager","Lock","境界値","最小サイズでフレームバッファが作成されること","FramebufferManagerが初期化済み","ウィンドウサイズ1x1","1x1のフレームバッファが返却される","中","最小サイズ"
"127","UT-W32-127","src/Windows/Avalonia.Win32/FramebufferManager.cs","FramebufferManager","Dispose","正常系","フレームバッファリソースが解放されること","FramebufferManagerが初期化済み","なし","内部リソースが解放される","中","リソース解放"
"128","UT-W32-128","src/Windows/Avalonia.Win32/Win32Platform.cs","Win32Platform","Initialize","正常系","Win32Platformが初期化されること","Win32環境","Win32PlatformOptions","プラットフォームサービスが登録される","高","プラットフォーム初期化"
"129","UT-W32-129","src/Windows/Avalonia.Win32/Win32Platform.cs","Win32Platform","CreateWindow","正常系","ウィンドウが作成されること","Win32Platformが初期化済み","なし","WindowImplが返却される","高","ウィンドウ作成"
"130","UT-W32-130","src/Windows/Avalonia.Win32/Win32Platform.cs","Win32Platform","CreateTrayIcon","正常系","トレイアイコンが作成されること","Win32Platformが初期化済み","なし","TrayIconImplが返却される","中","トレイアイコン作成"
"131","UT-W32-131","src/Windows/Avalonia.Win32/Win32Platform.cs","Win32Platform","LoadIcon","正常系","ファイルからアイコンが読み込まれること","有効なアイコンファイル","string fileName","IWindowIconImplが返却される","中","アイコン読み込み"
"132","UT-W32-132","src/Windows/Avalonia.Win32/Win32Platform.cs","Win32Platform","LoadIcon","正常系","ストリームからアイコンが読み込まれること","有効なアイコンストリーム","Stream stream","IWindowIconImplが返却される","中","アイコン読み込み"
"133","UT-W32-133","src/Windows/Avalonia.Win32/Win32Platform.cs","Win32Platform","GetWindowsZOrder","正常系","ウィンドウのZ順序が取得されること","複数ウィンドウが存在","IWindowImpl[], Span<long>","各ウィンドウのZ順序が設定される","中","Z順序取得"
"134","UT-W32-134","src/Windows/Avalonia.Win32/Win32Platform.cs","Win32Platform","WindowsVersion","正常系","Windowsバージョンが取得されること","Win32環境","なし","有効なVersion値が返却される","低","バージョン取得"
"1","UT-X11-001","src/Avalonia.X11/X11KeyTransform.cs","X11KeyTransform","PhysicalKeyFromScanCode","正常系","有効なスキャンコードでPhysicalKeyが返却されること","なし","scanCode=0x26 (Aキー)","PhysicalKey.Aが返却される","高","キー入力変換の基本機能"
"2","UT-X11-002","src/Avalonia.X11/X11KeyTransform.cs","X11KeyTransform","PhysicalKeyFromScanCode","正常系","ファンクションキーのスキャンコードが正しく変換されること","なし","scanCode=0x43 (F1キー)","PhysicalKey.F1が返却される","高","ファンクションキーの変換"
"3","UT-X11-003","src/Avalonia.X11/X11KeyTransform.cs","X11KeyTransform","PhysicalKeyFromScanCode","異常系","無効なスキャンコードでPhysicalKey.Noneが返却されること","なし","scanCode=0","PhysicalKey.Noneが返却される","高","境界値エラー処理"
"4","UT-X11-004","src/Avalonia.X11/X11KeyTransform.cs","X11KeyTransform","PhysicalKeyFromScanCode","異常系","負のスキャンコードでPhysicalKey.Noneが返却されること","なし","scanCode=-1","PhysicalKey.Noneが返却される","高","負値エラー処理"
"5","UT-X11-005","src/Avalonia.X11/X11KeyTransform.cs","X11KeyTransform","PhysicalKeyFromScanCode","境界値","スキャンコード255でPhysicalKey.Noneまたは対応キーが返却されること","なし","scanCode=255","PhysicalKey.Noneまたは対応するキーが返却される","中","上限境界値"
"6","UT-X11-006","src/Avalonia.X11/X11KeyTransform.cs","X11KeyTransform","PhysicalKeyFromScanCode","境界値","スキャンコード256でPhysicalKey.Noneが返却されること","なし","scanCode=256","PhysicalKey.Noneが返却される","中","上限超過境界値"
"7","UT-X11-007","src/Avalonia.X11/X11KeyTransform.cs","X11KeyTransform","KeyFromX11Key","正常系","有効なX11KeyでKeyが返却されること","なし","key=X11Key.A","Key.Aが返却される","高","X11キー変換の基本機能"
"8","UT-X11-008","src/Avalonia.X11/X11KeyTransform.cs","X11KeyTransform","KeyFromX11Key","正常系","小文字X11Keyでも正しく変換されること","なし","key=X11Key.a","Key.Aが返却される","高","大文字小文字の統一"
"9","UT-X11-009","src/Avalonia.X11/X11KeyTransform.cs","X11KeyTransform","KeyFromX11Key","異常系","マッピングにないX11KeyでKey.Noneが返却されること","なし","key=未定義のX11Key","Key.Noneが返却される","中","未定義キー処理"
"10","UT-X11-010","src/Avalonia.X11/X11CursorFactory.cs","X11CursorFactory","GetCursor","正常系","StandardCursorType.ArrowでCursorImplが返却されること","X11ディスプレイ接続済み","cursorType=StandardCursorType.Arrow","有効なCursorImplオブジェクトが返却される","高","カーソル取得の基本機能"
"11","UT-X11-011","src/Avalonia.X11/X11CursorFactory.cs","X11CursorFactory","GetCursor","正常系","StandardCursorType.NoneでnullカーソルハンドルのCursorImplが返却されること","X11ディスプレイ接続済み","cursorType=StandardCursorType.None","nullカーソルハンドルを持つCursorImplが返却される","高","透明カーソル機能"
"12","UT-X11-012","src/Avalonia.X11/X11CursorFactory.cs","X11CursorFactory","GetCursor","正常系","各StandardCursorTypeで正しいカーソルが取得できること","X11ディスプレイ接続済み","cursorType=StandardCursorType.Hand","Handカーソルが返却される","中","全カーソルタイプ対応"
"13","UT-X11-013","src/Avalonia.X11/X11CursorFactory.cs","X11CursorFactory","GetCursor","状態","キャッシュされたカーソルが再利用されること","同一カーソルタイプを2回取得","cursorType=StandardCursorType.Arrow (2回目)","同一ハンドルのCursorImplが返却される","中","キャッシュ機能"
"14","UT-X11-014","src/Avalonia.X11/X11CursorFactory.cs","X11CursorFactory","CreateCursor","正常系","カスタムビットマップからカーソルが作成されること","X11ディスプレイ接続済み","cursor=有効なIBitmapImpl, hotSpot=PixelPoint(0,0)","XImageCursorオブジェクトが返却される","中","カスタムカーソル作成"
"15","UT-X11-015","src/Avalonia.X11/X11Atoms.cs","X11Atoms","GetAtom","正常系","既存のAtom名でIntPtrが返却されること","X11ディスプレイ接続済み","name=""WM_PROTOCOLS""","有効なIntPtrが返却される","高","Atom取得の基本機能"
"16","UT-X11-016","src/Avalonia.X11/X11Atoms.cs","X11Atoms","GetAtom","正常系","新規Atom名でIntPtrが返却されること","X11ディスプレイ接続済み","name=""CUSTOM_ATOM""","新規IntPtrが返却される","中","新規Atom作成"
"17","UT-X11-017","src/Avalonia.X11/X11Atoms.cs","X11Atoms","GetAtom","状態","同一Atom名で同一IntPtrがキャッシュから返却されること","同一Atom名を2回取得","name=""WM_PROTOCOLS"" (2回目)","同一IntPtrが返却される","中","キャッシュ機能"
"18","UT-X11-018","src/Avalonia.X11/X11Atoms.cs","X11Atoms","GetAtomName","正常系","有効なAtomでAtom名が返却されること","X11ディスプレイ接続済み","atom=有効なIntPtr","Atom名文字列が返却される","高","Atom名取得の基本機能"
"19","UT-X11-019","src/Avalonia.X11/X11Atoms.cs","X11Atoms","GetAtomName","異常系","無効なAtomでnullが返却されること","X11ディスプレイ接続済み","atom=IntPtr.Zero","nullが返却される","中","無効Atom処理"
"20","UT-X11-020","src/Avalonia.X11/TransparencyHelper.cs","TransparencyHelper","SetTransparencyRequest","正常系","WindowTransparencyLevel.Noneが設定されること","Composition無効","levels=[WindowTransparencyLevel.None]","CurrentLevel=WindowTransparencyLevel.None","高","透過無効設定"
"21","UT-X11-021","src/Avalonia.X11/TransparencyHelper.cs","TransparencyHelper","SetTransparencyRequest","正常系","WindowTransparencyLevel.Transparentが設定されること","Composition有効","levels=[WindowTransparencyLevel.Transparent]","CurrentLevel=WindowTransparencyLevel.Transparent","高","透過有効設定"
"22","UT-X11-022","src/Avalonia.X11/TransparencyHelper.cs","TransparencyHelper","SetTransparencyRequest","正常系","WindowTransparencyLevel.BlurがKWinで設定されること","Composition有効, WmName=""KWin""","levels=[WindowTransparencyLevel.Blur]","CurrentLevel=WindowTransparencyLevel.Blur","中","ブラー効果設定"
"23","UT-X11-023","src/Avalonia.X11/TransparencyHelper.cs","TransparencyHelper","SetTransparencyRequest","異常系","非KWinでBlurがフォールバックすること","Composition有効, WmName=""Mutter""","levels=[WindowTransparencyLevel.Blur]","CurrentLevel=WindowTransparencyLevel.Transparent","中","非対応環境フォールバック"
"24","UT-X11-024","src/Avalonia.X11/TransparencyHelper.cs","TransparencyHelper","SetTransparencyRequest","境界値","空のレベルリストでデフォルト値が設定されること","Composition有効","levels=[]","CurrentLevel=WindowTransparencyLevel.Transparent","中","空リスト処理"
"25","UT-X11-025","src/Avalonia.X11/TransparencyHelper.cs","TransparencyHelper","Dispose","正常系","イベントハンドラが解除されること","TransparencyHelper初期化済み","なし","CompositionChanged/WindowManagerChangedイベントから解除される","中","リソース解放"
"26","UT-X11-026","src/Avalonia.X11/Clipboard/X11Clipboard.cs","X11ClipboardImpl","ClearAsync","正常系","クリップボードがクリアされること","クリップボード初期化済み","なし","_storedDataTransfer=null, SelectionOwner=IntPtr.Zero","高","クリップボードクリア"
"27","UT-X11-027","src/Avalonia.X11/Clipboard/X11Clipboard.cs","X11ClipboardImpl","SetDataAsync","正常系","テキストデータがクリップボードに設定されること","クリップボード初期化済み","dataTransfer=テキストデータ","SelectionOwner=_handle","高","テキスト設定"
"28","UT-X11-028","src/Avalonia.X11/Clipboard/X11Clipboard.cs","X11ClipboardImpl","TryGetDataAsync","正常系","クリップボードからデータが取得できること","クリップボードにデータあり","なし","IAsyncDataTransferオブジェクトが返却される","高","データ取得"
"29","UT-X11-029","src/Avalonia.X11/Clipboard/X11Clipboard.cs","X11ClipboardImpl","TryGetDataAsync","異常系","空のクリップボードでnullが返却されること","クリップボード空","なし","nullが返却される","高","空クリップボード処理"
"30","UT-X11-030","src/Avalonia.X11/Clipboard/X11Clipboard.cs","X11ClipboardImpl","IsCurrentOwnerAsync","正常系","自身がオーナーの場合trueが返却されること","自身がクリップボードオーナー","なし","trueが返却される","中","オーナー確認"
"31","UT-X11-031","src/Avalonia.X11/Clipboard/X11Clipboard.cs","X11ClipboardImpl","IsCurrentOwnerAsync","正常系","他がオーナーの場合falseが返却されること","他アプリがクリップボードオーナー","なし","falseが返却される","中","非オーナー確認"
"32","UT-X11-032","src/Avalonia.X11/Clipboard/ClipboardDataFormatHelper.cs","ClipboardDataFormatHelper","ToDataFormat","正常系","UTF8_STRINGでDataFormat.Textが返却されること","X11Atoms初期化済み","formatAtom=atoms.UTF8_STRING","DataFormat.Textが返却される","高","テキスト形式変換"
"33","UT-X11-033","src/Avalonia.X11/Clipboard/ClipboardDataFormatHelper.cs","ClipboardDataFormatHelper","ToDataFormat","正常系","text/uri-listでDataFormat.Fileが返却されること","X11Atoms初期化済み","formatAtom=text/uri-list atom","DataFormat.Fileが返却される","高","ファイル形式変換"
"34","UT-X11-034","src/Avalonia.X11/Clipboard/ClipboardDataFormatHelper.cs","ClipboardDataFormatHelper","ToDataFormat","異常系","IntPtr.Zeroでnullが返却されること","X11Atoms初期化済み","formatAtom=IntPtr.Zero","nullが返却される","中","無効Atom処理"
"35","UT-X11-035","src/Avalonia.X11/Clipboard/ClipboardDataFormatHelper.cs","ClipboardDataFormatHelper","ToDataFormat","正常系","TARGETSでnullが返却されること","X11Atoms初期化済み","formatAtom=atoms.TARGETS","nullが返却される","中","メタデータAtom処理"
"36","UT-X11-036","src/Avalonia.X11/Clipboard/ClipboardDataFormatHelper.cs","ClipboardDataFormatHelper","TryGetStringEncoding","正常系","UTF8_STRINGでUTF8エンコーディングが返却されること","X11Atoms初期化済み","formatAtom=atoms.UTF8_STRING","Encoding.UTF8が返却される","高","エンコーディング取得"
"37","UT-X11-037","src/Avalonia.X11/Clipboard/ClipboardDataFormatHelper.cs","ClipboardDataFormatHelper","TryGetStringEncoding","正常系","UTF16_STRINGでUnicodeエンコーディングが返却されること","X11Atoms初期化済み","formatAtom=atoms.UTF16_STRING","Encoding.Unicodeが返却される","高","UTF16エンコーディング"
"38","UT-X11-038","src/Avalonia.X11/Clipboard/ClipboardDataFormatHelper.cs","ClipboardDataFormatHelper","TryGetStringEncoding","正常系","XA_STRINGでASCIIエンコーディングが返却されること","X11Atoms初期化済み","formatAtom=atoms.XA_STRING","Encoding.ASCIIが返却される","中","ASCIIエンコーディング"
"39","UT-X11-039","src/Avalonia.X11/Clipboard/ClipboardDataFormatHelper.cs","ClipboardDataFormatHelper","TryGetStringEncoding","異常系","未知のAtomでnullが返却されること","X11Atoms初期化済み","formatAtom=未知のAtom","nullが返却される","中","未知形式処理"
"40","UT-X11-040","src/Avalonia.X11/XError.cs","XError","Init","正常系","エラーハンドラが設定されること","なし","なし","XSetErrorHandlerが呼び出される","高","エラーハンドラ初期化"
"41","UT-X11-041","src/Avalonia.X11/XError.cs","XError","ThrowLastError","正常系","エラーコード0でX11Exceptionがスローされること","LastError.error_code=0","desc=""Test error""","X11Exception(""Test error"")がスローされる","高","基本例外スロー"
"42","UT-X11-042","src/Avalonia.X11/XError.cs","XError","ThrowLastError","正常系","エラーコード付きでX11Exceptionがスローされること","LastError.error_code=1","desc=""Test error""","X11Exception(""Test error: 1"")がスローされる","高","詳細例外スロー"
"43","UT-X11-043","src/Avalonia.X11/XError.cs","XError","ThrowLastError","状態","LastErrorがリセットされること","LastError設定済み","desc=""Test""","LastError.error_code=0にリセットされる","中","エラー状態リセット"
"44","UT-X11-044","src/Avalonia.X11/Screens/X11Screens.cs","X11Screens","GetScreenCount","正常系","スクリーン数が返却されること","X11Screens初期化済み","なし","_impl.ScreenKeys.Lengthと同じ値が返却される","高","スクリーン数取得"
"45","UT-X11-045","src/Avalonia.X11/Screens/X11Screens.cs","X11Screens","GetAllScreenKeys","正常系","全スクリーンキーが返却されること","X11Screens初期化済み","なし","_impl.ScreenKeysと同じリストが返却される","高","スクリーンキー取得"
"46","UT-X11-046","src/Avalonia.X11/Screens/X11Screens.cs","X11Screens","CreateScreenFromKey","正常系","キーからX11Screenが作成されること","X11Screens初期化済み","key=有効なnint","X11Screenオブジェクトが返却される","高","スクリーン作成"
"47","UT-X11-047","src/Avalonia.X11/X11IconLoader.cs","X11IconLoader","LoadIcon","正常系","ファイルパスからアイコンがロードされること","有効な画像ファイルあり","fileName=""icon.png""","X11IconDataオブジェクトが返却される","高","ファイルからアイコン読込"
"48","UT-X11-048","src/Avalonia.X11/X11IconLoader.cs","X11IconLoader","LoadIcon","正常系","Streamからアイコンがロードされること","有効なStream","stream=有効な画像Stream","X11IconDataオブジェクトが返却される","高","Streamからアイコン読込"
"49","UT-X11-049","src/Avalonia.X11/X11IconLoader.cs","X11IconLoader","LoadIcon","正常系","IBitmapImplからアイコンがロードされること","有効なIBitmapImpl","bitmap=有効なIBitmapImpl","X11IconDataオブジェクトが返却される","高","Bitmapからアイコン読込"
"50","UT-X11-050","src/Avalonia.X11/X11IconLoader.cs","X11IconData","Save","正常系","アイコンデータがStreamに保存されること","X11IconData初期化済み","outputStream=有効なStream","PNG形式で保存される","中","アイコン保存"
"51","UT-X11-051","src/Avalonia.X11/X11IconLoader.cs","X11IconData","Lock","正常系","LockedFramebufferが返却されること","X11IconData初期化済み","なし","有効なILockedFramebufferが返却される","中","フレームバッファロック"
"52","UT-X11-052","src/Avalonia.X11/XI2Manager.cs","XI2Manager","TryCreate","正常系","XI2サポート環境でXI2Managerが作成されること","XInput2サポート環境","platform=有効なAvaloniaX11Platform","XI2Managerオブジェクトが返却される","高","XI2マネージャ作成"
"53","UT-X11-053","src/Avalonia.X11/XI2Manager.cs","XI2Manager","TryCreate","異常系","XI2非サポート環境でnullが返却されること","XInput2非サポート環境","platform=XI2非対応のプラットフォーム","nullが返却される","高","非対応環境処理"
"54","UT-X11-054","src/Avalonia.X11/XI2Manager.cs","XI2Manager","AddWindow","正常系","ウィンドウがXI2クライアントとして登録されること","XI2Manager初期化済み","xid=有効なウィンドウID, window=IXI2Client","XEventMaskが返却され_clientsに登録される","高","ウィンドウ登録"
"55","UT-X11-055","src/Avalonia.X11/XI2Manager.cs","XI2Manager","OnWindowDestroyed","正常系","ウィンドウがXI2クライアントから解除されること","ウィンドウ登録済み","xid=登録済みウィンドウID","_clientsから削除される","高","ウィンドウ解除"
"56","UT-X11-056","src/Avalonia.X11/XI2Manager.cs","ParsedDeviceEvent","ParseButtonState","正常系","ボタン状態がRawInputModifiersに変換されること","なし","len=1, buttons=[左ボタン押下]","RawInputModifiers.LeftMouseButtonが返却される","高","ボタン状態解析"
"57","UT-X11-057","src/Avalonia.X11/XI2Manager.cs","ParsedDeviceEvent","ParseButtonState","境界値","len=0で空のModifiersが返却されること","なし","len=0, buttons=null","RawInputModifiers.Noneが返却される","中","空状態処理"
"58","UT-X11-058","src/Avalonia.X11/Glx/GlxContext.cs","GlxContext","MakeCurrent","正常系","コンテキストがカレントになること","GlxContext初期化済み","なし","Glx.GetCurrentContext()==Handleとなる","高","コンテキスト切替"
"59","UT-X11-059","src/Avalonia.X11/Glx/GlxContext.cs","GlxContext","MakeCurrent","異常系","MakeContextCurrent失敗でOpenGlExceptionがスローされること","無効な状態","なし","OpenGlExceptionがスローされる","高","コンテキスト切替失敗"
"60","UT-X11-060","src/Avalonia.X11/Glx/GlxContext.cs","GlxContext","EnsureCurrent","正常系","既にカレントの場合Disposable.Emptyが返却されること","既にカレントコンテキスト","なし","Disposable.Emptyが返却される","中","既存カレント確認"
"61","UT-X11-061","src/Avalonia.X11/Glx/GlxContext.cs","GlxContext","EnsureCurrent","正常系","カレントでない場合MakeCurrentが呼ばれること","非カレントコンテキスト","なし","MakeCurrentの戻り値が返却される","中","非カレント時切替"
"62","UT-X11-062","src/Avalonia.X11/Glx/GlxContext.cs","GlxContext","IsSharedWith","正常系","同一コンテキストでtrueが返却されること","GlxContext初期化済み","context=this","trueが返却される","中","同一コンテキスト確認"
"63","UT-X11-063","src/Avalonia.X11/Glx/GlxContext.cs","GlxContext","IsSharedWith","正常系","共有コンテキストでtrueが返却されること","sharedWithあり","context=_sharedWith","trueが返却される","中","共有コンテキスト確認"
"64","UT-X11-064","src/Avalonia.X11/Glx/GlxContext.cs","GlxContext","IsSharedWith","正常系","非共有コンテキストでfalseが返却されること","独立コンテキスト","context=別のGlxContext","falseが返却される","中","非共有確認"
"65","UT-X11-065","src/Avalonia.X11/Glx/GlxContext.cs","GlxContext","Dispose","正常系","コンテキストが破棄されること","GlxContext初期化済み","なし","DestroyContext/DestroyPbufferが呼ばれる","高","リソース解放"
"66","UT-X11-066","src/Avalonia.X11/Glx/GlxContext.cs","GlxContext","IsCurrent","正常系","カレントコンテキストでtrueが返却されること","カレントコンテキスト","なし","trueが返却される","中","カレント状態確認"
"67","UT-X11-067","src/Avalonia.X11/Glx/GlxContext.cs","GlxContext","TryGetFeature","正常系","IGlContextExternalObjectsFeatureで_externalObjectsが返却されること","externalObjects有効","featureType=typeof(IGlContextExternalObjectsFeature)","_externalObjectsが返却される","中","機能取得"
"68","UT-X11-068","src/Avalonia.X11/Glx/GlxContext.cs","GlxContext","TryGetFeature","正常系","未知の機能タイプでnullが返却されること","なし","featureType=未知の型","nullが返却される","中","未知機能処理"
"69","UT-X11-069","src/Avalonia.X11/X11Info.cs","X11Info","コンストラクタ","正常系","X11情報が正しく初期化されること","X11ディスプレイ接続可能","display=有効なディスプレイ, useXim=true","各プロパティが正しく設定される","高","初期化"
"70","UT-X11-070","src/Avalonia.X11/X11Info.cs","X11Info","コンストラクタ","正常系","useXim=falseでXimが無効化されること","X11ディスプレイ接続可能","display=有効なディスプレイ, useXim=false","HasXim=false","高","XIM無効化"
"71","UT-X11-071","src/Avalonia.X11/X11Info.cs","X11Info","TransparentVisualInfo","正常系","32bit深度対応環境でTransparentVisualInfoが設定されること","32bit深度サポート環境","なし","TransparentVisualInfoが非null","中","透過ビジュアル取得"
"72","UT-X11-072","src/Avalonia.X11/X11Platform.cs","AvaloniaX11Platform","Initialize","正常系","プラットフォームが正しく初期化されること","X11環境","options=有効なX11PlatformOptions","Display!=IntPtr.Zero, Screens!=null","高","プラットフォーム初期化"
"73","UT-X11-073","src/Avalonia.X11/X11Platform.cs","AvaloniaX11Platform","Initialize","異常系","XOpenDisplay失敗でExceptionがスローされること","X11環境なし","options=デフォルト","Exception(""XOpenDisplay failed"")がスローされる","高","初期化失敗処理"
"74","UT-X11-074","src/Avalonia.X11/X11Platform.cs","AvaloniaX11Platform","CreateWindow","正常系","X11Windowが作成されること","プラットフォーム初期化済み","なし","X11Windowオブジェクトが返却される","高","ウィンドウ作成"
"75","UT-X11-075","src/Avalonia.X11/X11Platform.cs","AvaloniaX11Platform","CreateTrayIcon","正常系","トレイアイコンが作成されること","プラットフォーム初期化済み","なし","ITrayIconImplが返却される","中","トレイアイコン作成"
"76","UT-X11-076","src/Avalonia.X11/X11Platform.cs","AvaloniaX11Platform","CreateEmbeddableWindow","異常系","NotSupportedExceptionがスローされること","プラットフォーム初期化済み","なし","NotSupportedExceptionがスローされる","中","埋め込みウィンドウ非対応"
"77","UT-X11-077","src/Avalonia.X11/X11Platform.cs","AvaloniaX11Platform","GetWindowsZOrder","正常系","ウィンドウのZ順序が取得されること","複数ウィンドウあり","windows=有効なウィンドウ配列","outputZOrderに順序が設定される","中","Z順序取得"
"78","UT-X11-078","src/Avalonia.X11/X11Platform.cs","X11PlatformOptions","RenderingMode","正常系","デフォルトでGlxとSoftwareが設定されていること","なし","なし","[Glx, Software]が設定されている","中","デフォルト設定確認"
"79","UT-X11-079","src/Avalonia.X11/X11Platform.cs","AvaloniaX11Platform","InitializeGraphics","正常系","Glxモードで初期化されること","Glxサポート環境","opts.RenderingMode=[Glx]","GlxPlatformGraphicsが返却される","中","Glx初期化"
"80","UT-X11-080","src/Avalonia.X11/X11Platform.cs","AvaloniaX11Platform","InitializeGraphics","正常系","Softwareモードでnullが返却されること","なし","opts.RenderingMode=[Software]","nullが返却される","中","ソフトウェアレンダリング"
"81","UT-X11-081","src/Avalonia.X11/X11Platform.cs","AvaloniaX11Platform","InitializeGraphics","異常系","空のRenderingModeでInvalidOperationExceptionがスローされること","なし","opts.RenderingMode=[]","InvalidOperationExceptionがスローされる","高","空設定エラー"
"82","UT-X11-082","src/Avalonia.X11/X11Window.cs","X11Window","SetTitle","正常系","ウィンドウタイトルが設定されること","ウィンドウ作成済み","title=""Test Window""","_NET_WM_NAMEプロパティが設定される","高","タイトル設定"
"83","UT-X11-083","src/Avalonia.X11/X11Window.cs","X11Window","SetTitle","異常系","null/空文字列でプロパティが削除されること","ウィンドウ作成済み","title=null","_NET_WM_NAMEプロパティが削除される","中","タイトルクリア"
"84","UT-X11-084","src/Avalonia.X11/X11Window.cs","X11Window","SetCursor","正常系","カーソルが設定されること","ウィンドウ作成済み","cursor=有効なICursorImpl","XDefineCursorが呼ばれる","高","カーソル設定"
"85","UT-X11-085","src/Avalonia.X11/X11Window.cs","X11Window","SetCursor","正常系","nullでデフォルトカーソルが設定されること","ウィンドウ作成済み","cursor=null","DefaultCursorが設定される","中","デフォルトカーソル"
"86","UT-X11-086","src/Avalonia.X11/X11Window.cs","X11Window","Show","正常系","ウィンドウが表示されること","ウィンドウ作成済み","activate=true, isDialog=false","_mapped=true","高","ウィンドウ表示"
"87","UT-X11-087","src/Avalonia.X11/X11Window.cs","X11Window","Hide","正常系","ウィンドウが非表示になること","ウィンドウ表示済み","なし","_mapped=false","高","ウィンドウ非表示"
"88","UT-X11-088","src/Avalonia.X11/X11Window.cs","X11Window","Resize","正常系","ウィンドウがリサイズされること","ウィンドウ作成済み","clientSize=Size(800,600), reason=User","_realSizeが更新される","高","リサイズ"
"89","UT-X11-089","src/Avalonia.X11/X11Window.cs","X11Window","Resize","状態","同一サイズで処理がスキップされること","ウィンドウ作成済み","clientSize=現在のClientSize","XConfigureResizeWindowが呼ばれない","中","同一サイズスキップ"
"90","UT-X11-090","src/Avalonia.X11/X11Window.cs","X11Window","Move","正常系","ウィンドウが移動されること","ウィンドウ作成済み","point=PixelPoint(100,100)","Positionが更新される","高","移動"
"91","UT-X11-091","src/Avalonia.X11/X11Window.cs","X11Window","WindowState","正常系","Minimizedに変更されること","ウィンドウ表示済み","value=WindowState.Minimized","XIconifyWindowが呼ばれる","高","最小化"
"92","UT-X11-092","src/Avalonia.X11/X11Window.cs","X11Window","WindowState","正常系","Maximizedに変更されること","ウィンドウ表示済み","value=WindowState.Maximized","_NET_WM_STATE_MAXIMIZEDが設定される","高","最大化"
"93","UT-X11-093","src/Avalonia.X11/X11Window.cs","X11Window","WindowState","正常系","FullScreenに変更されること","ウィンドウ表示済み","value=WindowState.FullScreen","_NET_WM_STATE_FULLSCREENが設定される","高","フルスクリーン"
"94","UT-X11-094","src/Avalonia.X11/X11Window.cs","X11Window","WindowState","正常系","Normalに変更されること","ウィンドウ最大化済み","value=WindowState.Normal","状態フラグがクリアされる","高","通常状態復帰"
"95","UT-X11-095","src/Avalonia.X11/X11Window.cs","X11Window","SetSystemDecorations","正常系","装飾が有効化されること","ウィンドウ作成済み","enabled=SystemDecorations.Full","MotifHintsが更新される","中","装飾有効化"
"96","UT-X11-096","src/Avalonia.X11/X11Window.cs","X11Window","SetSystemDecorations","正常系","装飾が無効化されること","ウィンドウ作成済み","enabled=SystemDecorations.None","MotifHints.decorations=0","中","装飾無効化"
"97","UT-X11-097","src/Avalonia.X11/X11Window.cs","X11Window","CanResize","正常系","リサイズ可能状態が設定されること","ウィンドウ作成済み","value=true","_canResize=true, MotifHintsにResize含む","中","リサイズ可能設定"
"98","UT-X11-098","src/Avalonia.X11/X11Window.cs","X11Window","CanResize","正常系","リサイズ不可状態が設定されること","ウィンドウ作成済み","value=false","_canResize=false, SizeHintsでmin=max","中","リサイズ不可設定"
"99","UT-X11-099","src/Avalonia.X11/X11Window.cs","X11Window","SetMinMaxSize","正常系","最小最大サイズが設定されること","ウィンドウ作成済み","minSize=Size(100,100), maxSize=Size(1000,1000)","SizeHintsが更新される","高","サイズ制限設定"
"100","UT-X11-100","src/Avalonia.X11/X11Window.cs","X11Window","SetMinMaxSize","境界値","最大値がMaxWindowDimensionに制限されること","ウィンドウ作成済み","maxSize=Size(double.MaxValue, double.MaxValue)","max<=100000","中","最大値制限"
"101","UT-X11-101","src/Avalonia.X11/X11Window.cs","X11Window","SetTopmost","正常系","最前面表示が設定されること","ウィンドウ作成済み","value=true","_NET_WM_STATE_ABOVEが設定される","中","最前面設定"
"102","UT-X11-102","src/Avalonia.X11/X11Window.cs","X11Window","SetEnabled","正常系","有効状態が設定されること","ウィンドウ作成済み","enable=true","_disabled=false","高","有効化"
"103","UT-X11-103","src/Avalonia.X11/X11Window.cs","X11Window","SetEnabled","正常系","無効状態でキャプチャが解除されること","ウィンドウ作成済み","enable=false","_disabled=true, PlatformCaptureLost呼出","高","無効化"
"104","UT-X11-104","src/Avalonia.X11/X11Window.cs","X11Window","SetIcon","正常系","アイコンが設定されること","ウィンドウ作成済み","icon=有効なX11IconData","_NET_WM_ICONプロパティが設定される","中","アイコン設定"
"105","UT-X11-105","src/Avalonia.X11/X11Window.cs","X11Window","SetIcon","正常系","nullでアイコンが削除されること","ウィンドウ作成済み","icon=null","_NET_WM_ICONプロパティが削除される","中","アイコン削除"
"106","UT-X11-106","src/Avalonia.X11/X11Window.cs","X11Window","SetParent","正常系","親ウィンドウが設定されること","ウィンドウ作成済み","parent=有効なIWindowImpl","XSetTransientForHintが呼ばれる","中","親設定"
"107","UT-X11-107","src/Avalonia.X11/X11Window.cs","X11Window","SetParent","正常系","nullで親が解除されること","ウィンドウ作成済み","parent=null","XA_WM_TRANSIENT_FORが削除される","中","親解除"
"108","UT-X11-108","src/Avalonia.X11/X11Window.cs","X11Window","Dispose","正常系","リソースが解放されること","ウィンドウ作成済み","なし","_handle=IntPtr.Zero, Closedイベント発火","高","リソース解放"
"109","UT-X11-109","src/Avalonia.X11/X11Window.cs","X11Window","Dispose","状態","二重Disposeで問題が発生しないこと","Dispose済み","なし","例外がスローされない","中","二重解放防止"
"110","UT-X11-110","src/Avalonia.X11/X11Window.cs","X11Window","PointToClient","正常系","スクリーン座標がクライアント座標に変換されること","ウィンドウ作成済み","point=PixelPoint(500,500)","ウィンドウ相対のPoint","中","座標変換"
"111","UT-X11-111","src/Avalonia.X11/X11Window.cs","X11Window","PointToScreen","正常系","クライアント座標がスクリーン座標に変換されること","ウィンドウ作成済み","point=Point(50,50)","スクリーン座標のPixelPoint","中","座標変換"
"112","UT-X11-112","src/Avalonia.X11/X11Window.cs","X11Window","Activate","正常系","ウィンドウがアクティブ化されること","ウィンドウ表示済み","なし","_mode.Activateが呼ばれる","中","アクティブ化"
"113","UT-X11-113","src/Avalonia.X11/X11Window.cs","X11Window","CreatePopup","正常系","ポップアップウィンドウが作成されること","OverlayPopups=false","なし","X11Windowが返却される","中","ポップアップ作成"
"114","UT-X11-114","src/Avalonia.X11/X11Window.cs","X11Window","CreatePopup","正常系","OverlayPopups有効時nullが返却されること","OverlayPopups=true","なし","nullが返却される","中","オーバーレイポップアップ"
"115","UT-X11-115","src/Avalonia.X11/X11Window.cs","X11Window","TranslateModifiers","正常系","Shift修飾子が変換されること","なし","state=XModifierMask.ShiftMask","RawInputModifiers.Shift","高","修飾子変換"
"116","UT-X11-116","src/Avalonia.X11/X11Window.cs","X11Window","TranslateModifiers","正常系","複数修飾子が変換されること","なし","state=ShiftMask|ControlMask","RawInputModifiers.Shift|Control","高","複合修飾子変換"
"117","UT-X11-117","src/Avalonia.X11/X11Window.cs","X11Window","TranslateModifiers","正常系","マウスボタン状態が変換されること","なし","state=Button1Mask","RawInputModifiers.LeftMouseButton","高","マウスボタン変換"
"118","UT-X11-118","src/Avalonia.X11/X11Window.cs","X11Window","BeginMoveDrag","正常系","ウィンドウ移動が開始されること","ウィンドウ表示済み","e=有効なPointerPressedEventArgs","_NET_WM_MOVERESIZEメッセージが送信される","中","ドラッグ移動開始"
"119","UT-X11-119","src/Avalonia.X11/X11Window.cs","X11Window","BeginResizeDrag","正常系","ウィンドウリサイズが開始されること","ウィンドウ表示済み","edge=WindowEdge.East, e=有効なEventArgs","_NET_WM_MOVERESIZE_SIZE_RIGHTが送信される","中","ドラッグリサイズ開始"
"120","UT-X11-120","src/Avalonia.X11/X11Window.cs","X11Window","SetNetWmWindowType","正常系","ウィンドウタイプがNormalに設定されること","ウィンドウ作成済み","type=X11NetWmWindowType.Normal","_NET_WM_WINDOW_TYPE_NORMALが設定される","中","ウィンドウタイプ設定"
"121","UT-X11-121","src/Avalonia.X11/X11Window.cs","X11Window","SetNetWmWindowType","正常系","ウィンドウタイプがDialogに設定されること","ウィンドウ作成済み","type=X11NetWmWindowType.Dialog","_NET_WM_WINDOW_TYPE_DIALOGが設定される","中","ダイアログタイプ"
"122","UT-X11-122","src/Avalonia.X11/X11Window.cs","X11Window","ShowTaskbarIcon","正常系","タスクバーアイコンが表示されること","ウィンドウ作成済み","value=true","_NET_WM_STATE_SKIP_TASKBARが削除される","中","タスクバー表示"
"123","UT-X11-123","src/Avalonia.X11/X11Window.cs","X11Window","ShowTaskbarIcon","正常系","タスクバーアイコンが非表示になること","ウィンドウ作成済み","value=false","_NET_WM_STATE_SKIP_TASKBARが設定される","中","タスクバー非表示"
"124","UT-X11-124","src/Avalonia.X11/X11Window.cs","X11Window","SetWmClass","正常系","WMクラスが設定されること","ウィンドウ作成済み","className=""TestApp""","XSetClassHintが呼ばれる","中","WMクラス設定"
"125","UT-X11-125","src/Avalonia.X11/X11Window.cs","X11Window","TryGetFeature","正常系","IStorageProviderで_storageProviderが返却されること","ウィンドウ作成済み","featureType=typeof(IStorageProvider)","_storageProviderが返却される","中","機能取得"
"126","UT-X11-126","src/Avalonia.X11/X11Window.cs","X11Window","TryGetFeature","正常系","未知の機能でnullが返却されること","ウィンドウ作成済み","featureType=未知の型","nullが返却される","中","未知機能"
"127","UT-X11-127","src/Avalonia.X11/X11Window.cs","X11Window","RenderScaling","正常系","スケーリング値が取得されること","ウィンドウ作成済み","なし","1.0以上の値が返却される","中","スケーリング取得"
"128","UT-X11-128","src/Avalonia.X11/X11Window.cs","X11Window","ClientSize","正常系","クライアントサイズがスケーリング適用で返却されること","ウィンドウ作成済み, _realSize=(800,600), RenderScaling=2.0","なし","Size(400,300)が返却される","高","クライアントサイズ計算"
"129","UT-X11-129","src/Avalonia.X11/X11Window.cs","X11Window","FrameSize","正常系","フレームサイズがextents込みで返却されること","ウィンドウ作成済み, フレームextentsあり","なし","ClientSize + extentsのSizeが返却される","中","フレームサイズ計算"
"130","UT-X11-130","src/Avalonia.X11/X11Window.cs","X11Window","FrameSize","異常系","マップ前はnullが返却されること","ウィンドウ作成済み, 未マップ","なし","nullが返却される","中","未マップ時処理"
"1","UT-IOS-001","src/iOS/Avalonia.iOS/AvaloniaAppDelegate.cs","AvaloniaAppDelegate<TApp>","FinishedLaunching","正常系","アプリケーション起動が成功すること","UIApplication インスタンスが有効","application=valid, launchOptions=null","trueが返却される","高","アプリケーションライフサイクルの基本機能"
"2","UT-IOS-002","src/iOS/Avalonia.iOS/AvaloniaAppDelegate.cs","AvaloniaAppDelegate<TApp>","FinishedLaunching","正常系","launchOptionsが指定された場合も起動が成功すること","UIApplication インスタンスが有効","application=valid, launchOptions=有効なNSDictionary","trueが返却される","高","起動オプション付きの起動"
"3","UT-IOS-003","src/iOS/Avalonia.iOS/AvaloniaAppDelegate.cs","AvaloniaAppDelegate<TApp>","OpenUrl","正常系","ファイルURLでアクティベーションイベントが発火すること","Activatedイベントハンドラが登録済み","url=file://..., options=valid","trueが返却され、FileActivatedEventArgsでイベント発火","高","ファイルURLハンドリング"
"4","UT-IOS-004","src/iOS/Avalonia.iOS/AvaloniaAppDelegate.cs","AvaloniaAppDelegate<TApp>","OpenUrl","正常系","プロトコルURLでアクティベーションイベントが発火すること","Activatedイベントハンドラが登録済み","url=myapp://..., options=valid","trueが返却され、ProtocolActivatedEventArgsでイベント発火","高","カスタムプロトコルハンドリング"
"5","UT-IOS-005","src/iOS/Avalonia.iOS/AvaloniaAppDelegate.cs","AvaloniaAppDelegate<TApp>","OpenUrl","異常系","無効なURLの場合falseが返却されること","Activatedイベントハンドラが登録済み","url=invalid, options=valid","falseが返却される","中","無効URL処理"
"6","UT-IOS-006","src/iOS/Avalonia.iOS/AvaloniaAppDelegate.cs","AvaloniaAppDelegate<TApp>","ContinueUserActivity","正常系","ユニバーサルリンクでアクティベーションイベントが発火すること","Activatedイベントハンドラが登録済み","userActivity.ActivityType=BrowsingWeb, WebPageUrl=有効なURL","trueが返却され、ProtocolActivatedEventArgsでイベント発火","高","ユニバーサルリンクハンドリング"
"7","UT-IOS-007","src/iOS/Avalonia.iOS/AvaloniaAppDelegate.cs","AvaloniaAppDelegate<TApp>","ContinueUserActivity","異常系","BrowsingWeb以外のActivityTypeの場合falseが返却されること","なし","userActivity.ActivityType=Other","falseが返却される","中","非対応アクティビティタイプ"
"8","UT-IOS-008","src/iOS/Avalonia.iOS/AvaloniaAppDelegate.cs","AvaloniaAppDelegate<TApp>","GetConfiguration","正常系","シーン設定が正しく返却されること","iOS13.0以上","application=valid, connectingSceneSession=valid, options=valid","DelegateTypeがAvaloniaSceneDelegateのUISceneConfigurationが返却される","中","シーン設定"
"9","UT-IOS-009","src/iOS/Avalonia.iOS/AvaloniaView.cs","AvaloniaView","Constructor","正常系","AvaloniaViewが正しく初期化されること","なし","なし","TopLevelImpl, InputHandler, EmbeddableControlRootが初期化される","高","ビュー初期化"
"10","UT-IOS-010","src/iOS/Avalonia.iOS/AvaloniaView.cs","AvaloniaView","TouchesBegan","正常系","タッチ開始イベントが処理されること","AvaloniaViewがInputRootを持つ","touches=有効なNSSet, evt=有効なUIEvent","InputHandlerにイベントが渡される","高","タッチイベント処理"
"11","UT-IOS-011","src/iOS/Avalonia.iOS/AvaloniaView.cs","AvaloniaView","TouchesMoved","正常系","タッチ移動イベントが処理されること","AvaloniaViewがInputRootを持つ","touches=有効なNSSet, evt=有効なUIEvent","InputHandlerにイベントが渡される","高","タッチイベント処理"
"12","UT-IOS-012","src/iOS/Avalonia.iOS/AvaloniaView.cs","AvaloniaView","TouchesEnded","正常系","タッチ終了イベントが処理されること","AvaloniaViewがInputRootを持つ","touches=有効なNSSet, evt=有効なUIEvent","InputHandlerにイベントが渡される","高","タッチイベント処理"
"13","UT-IOS-013","src/iOS/Avalonia.iOS/AvaloniaView.cs","AvaloniaView","TouchesCancelled","正常系","タッチキャンセルイベントが処理されること","AvaloniaViewがInputRootを持つ","touches=有効なNSSet, evt=有効なUIEvent","InputHandlerにイベントが渡される","高","タッチイベント処理"
"14","UT-IOS-014","src/iOS/Avalonia.iOS/AvaloniaView.cs","AvaloniaView","PressesBegan","正常系","キープレス開始イベントが処理されること","AvaloniaViewがInputRootを持つ","presses=有効なNSSet<UIPress>, evt=有効なUIPressesEvent","InputHandlerにイベントが渡される","中","キーイベント処理"
"15","UT-IOS-015","src/iOS/Avalonia.iOS/AvaloniaView.cs","AvaloniaView","LayoutSubviews","正常系","レイアウト変更時にリサイズイベントが発火すること","AvaloniaViewが初期化済み","なし","Resizedイベントが発火し、正しいClientSizeが渡される","高","レイアウト処理"
"16","UT-IOS-016","src/iOS/Avalonia.iOS/AvaloniaView.cs","AvaloniaView","LayoutSubviews","正常系","スケーリング変更時にScalingChangedイベントが発火すること","前回と異なるContentScaleFactor","なし","ScalingChangedイベントが発火","中","スケーリング変更"
"17","UT-IOS-017","src/iOS/Avalonia.iOS/AvaloniaView.cs","AvaloniaView","LayerClass","正常系","Metal使用時にCAMetalLayerが返却されること","Platform.GraphicsがMetalPlatformGraphics","なし","CAMetalLayerのClassが返却される","高","レイヤークラス判定"
"18","UT-IOS-018","src/iOS/Avalonia.iOS/AvaloniaView.cs","AvaloniaView","LayerClass","正常系","OpenGL使用時にCAEAGLLayerが返却されること","Platform.GraphicsがEaglPlatformGraphics (iOS/tvOS)","なし","CAEAGLLayerのClassが返却される","高","レイヤークラス判定"
"19","UT-IOS-019","src/iOS/Avalonia.iOS/AvaloniaView.cs","AvaloniaView","InitWithController","正常系","コントローラーが正しく設定されること","有効なIAvaloniaViewController","controller=有効なDefaultAvaloniaViewController","InsetsManagerにコントローラーが設定される","中","コントローラー初期化"
"20","UT-IOS-020","src/iOS/Avalonia.iOS/AvaloniaView.cs","AvaloniaView.TopLevelImpl","TryGetFeature","正常系","ITextInputMethodImplが取得できること","なし","featureType=typeof(ITextInputMethodImpl)","AvaloniaViewが返却される","中","機能取得"
"21","UT-IOS-021","src/iOS/Avalonia.iOS/AvaloniaView.cs","AvaloniaView.TopLevelImpl","TryGetFeature","正常系","IClipboardが取得できること (iOS/macCatalyst)","非tvOS環境","featureType=typeof(IClipboard)","Clipboardインスタンスが返却される","中","機能取得"
"22","UT-IOS-022","src/iOS/Avalonia.iOS/AvaloniaView.cs","AvaloniaView.TopLevelImpl","TryGetFeature","正常系","IStorageProviderが取得できること (iOS/macCatalyst)","非tvOS環境","featureType=typeof(IStorageProvider)","IOSStorageProviderが返却される","中","機能取得"
"23","UT-IOS-023","src/iOS/Avalonia.iOS/AvaloniaView.cs","AvaloniaView.TopLevelImpl","TryGetFeature","異常系","未サポートの機能でnullが返却されること","なし","featureType=typeof(UnknownFeature)","nullが返却される","低","未サポート機能"
"24","UT-IOS-024","src/iOS/Avalonia.iOS/Platform.cs","Platform","Register","正常系","プラットフォームサービスが正しく登録されること","なし","appDelegate=有効なIAvaloniaAppDelegate","各種サービスがAvaloniaLocatorに登録される","高","プラットフォーム初期化"
"25","UT-IOS-025","src/iOS/Avalonia.iOS/Platform.cs","Platform","Register","正常系","Compositorが初期化されること","なし","appDelegate=有効なIAvaloniaAppDelegate","Compositorがnullでないこと","高","コンポジター初期化"
"26","UT-IOS-026","src/iOS/Avalonia.iOS/Platform.cs","Platform","InitializeGraphics","正常系","Metal優先でMetalPlatformGraphicsが返却されること","Metal対応デバイス","RenderingMode=[Metal, OpenGl]","MetalPlatformGraphicsが返却される","高","グラフィックス初期化"
"27","UT-IOS-027","src/iOS/Avalonia.iOS/Platform.cs","Platform","InitializeGraphics","正常系","OpenGL優先でEaglPlatformGraphicsが返却されること (iOS/tvOS)","EAGL対応デバイス、非macCatalyst","RenderingMode=[OpenGl, Metal]","EaglPlatformGraphicsが返却される","高","グラフィックス初期化"
"28","UT-IOS-028","src/iOS/Avalonia.iOS/Platform.cs","Platform","InitializeGraphics","異常系","RenderingModeが空の場合例外がスローされること","なし","RenderingMode=[]","InvalidOperationExceptionがスロー","高","無効な設定"
"29","UT-IOS-029","src/iOS/Avalonia.iOS/Platform.cs","Platform","InitializeGraphics","異常系","どのレンダリングモードも使用できない場合例外がスローされること","Metal/EAGL両方使用不可","RenderingMode=[Metal, OpenGl]","InvalidOperationExceptionがスロー","中","グラフィックス初期化失敗"
"30","UT-IOS-030","src/iOS/Avalonia.iOS/Clipboard/ClipboardImpl.cs","ClipboardImpl","TryGetDataAsync","正常系","クリップボードからデータが取得できること","クリップボードにデータあり","なし","IAsyncDataTransferが返却される","高","クリップボード読取"
"31","UT-IOS-031","src/iOS/Avalonia.iOS/Clipboard/ClipboardImpl.cs","ClipboardImpl","TryGetDataAsync","正常系","クリップボードが空の場合nullが返却されること","クリップボードが空","なし","nullが返却される","中","空クリップボード"
"32","UT-IOS-032","src/iOS/Avalonia.iOS/Clipboard/ClipboardImpl.cs","ClipboardImpl","SetDataAsync","正常系","テキストデータがクリップボードに設定されること","なし","dataTransfer=テキストを含むIAsyncDataTransfer","pasteboardにデータが設定される","高","クリップボード書込"
"33","UT-IOS-033","src/iOS/Avalonia.iOS/Clipboard/ClipboardImpl.cs","ClipboardImpl","SetDataAsync","正常系","ファイルデータがクリップボードに設定されること","なし","dataTransfer=ファイルを含むIAsyncDataTransfer","pasteboardにファイルURLが設定される","中","ファイルクリップボード"
"34","UT-IOS-034","src/iOS/Avalonia.iOS/Clipboard/ClipboardImpl.cs","ClipboardImpl","SetDataAsync","正常系","画像データがクリップボードに設定されること","なし","dataTransfer=ビットマップを含むIAsyncDataTransfer","pasteboardに画像データが設定される","中","画像クリップボード"
"35","UT-IOS-035","src/iOS/Avalonia.iOS/Clipboard/ClipboardImpl.cs","ClipboardImpl","ClearAsync","正常系","クリップボードがクリアされること","クリップボードにデータあり","なし","pasteboard.Itemsが空配列になる","中","クリップボードクリア"
"36","UT-IOS-036","src/iOS/Avalonia.iOS/Clipboard/ClipboardImpl.cs","ClipboardImpl","IsCurrentOwnerAsync","正常系","現在のオーナーの場合trueが返却されること","SetDataAsync後、ChangeCountが変わっていない","なし","trueが返却される","中","オーナーシップ確認"
"37","UT-IOS-037","src/iOS/Avalonia.iOS/Clipboard/ClipboardImpl.cs","ClipboardImpl","IsCurrentOwnerAsync","正常系","オーナーでない場合falseが返却されること","他アプリがクリップボード変更後","なし","falseが返却される","中","オーナーシップ確認"
"38","UT-IOS-038","src/iOS/Avalonia.iOS/Storage/IOSStorageProvider.cs","IOSStorageProvider","OpenFilePickerAsync","正常系","ファイルピッカーが開けること","RootViewControllerが設定済み","options=有効なFilePickerOpenOptions","選択されたファイルのリストが返却される","高","ファイル選択"
"39","UT-IOS-039","src/iOS/Avalonia.iOS/Storage/IOSStorageProvider.cs","IOSStorageProvider","OpenFilePickerAsync","正常系","画像ライブラリから画像選択ができること","RootViewControllerが設定済み","options.SuggestedStartLocation=Pictures, AllowMultiple=false","UIImagePickerControllerで選択した画像が返却される","中","画像選択"
"40","UT-IOS-040","src/iOS/Avalonia.iOS/Storage/IOSStorageProvider.cs","IOSStorageProvider","SaveFilePickerAsync","正常系","ファイル保存ダイアログが開けること","RootViewControllerが設定済み","options=有効なFilePickerSaveOptions","保存先のIStorageFileが返却される","高","ファイル保存"
"41","UT-IOS-041","src/iOS/Avalonia.iOS/Storage/IOSStorageProvider.cs","IOSStorageProvider","SaveFilePickerAsync","正常系","キャンセル時にnullが返却されること","RootViewControllerが設定済み","ユーザーがキャンセル","nullが返却される","中","保存キャンセル"
"42","UT-IOS-042","src/iOS/Avalonia.iOS/Storage/IOSStorageProvider.cs","IOSStorageProvider","OpenFolderPickerAsync","正常系","フォルダピッカーが開けること","RootViewControllerが設定済み","options=有効なFolderPickerOpenOptions","選択されたフォルダのリストが返却される","高","フォルダ選択"
"43","UT-IOS-043","src/iOS/Avalonia.iOS/Storage/IOSStorageProvider.cs","IOSStorageProvider","TryGetFileFromPathAsync","正常系","有効なパスからファイルが取得できること","指定パスにファイルが存在","filePath=有効なファイルパスURI","IOSStorageFileが返却される","中","パスからファイル取得"
"44","UT-IOS-044","src/iOS/Avalonia.iOS/Storage/IOSStorageProvider.cs","IOSStorageProvider","TryGetFileFromPathAsync","正常系","存在しないパスでnullが返却されること","指定パスにファイルなし","filePath=存在しないファイルパスURI","nullが返却される","中","存在しないファイル"
"45","UT-IOS-045","src/iOS/Avalonia.iOS/Storage/IOSStorageProvider.cs","IOSStorageProvider","TryGetFolderFromPathAsync","正常系","有効なパスからフォルダが取得できること","指定パスにフォルダが存在","folderPath=有効なフォルダパスURI","IOSStorageFolderが返却される","中","パスからフォルダ取得"
"46","UT-IOS-046","src/iOS/Avalonia.iOS/Storage/IOSStorageProvider.cs","IOSStorageProvider","TryGetWellKnownFolderAsync","正常系","Documentsフォルダが取得できること","なし","wellKnownFolder=Documents","IOSStorageFolderが返却される","中","既知フォルダ取得"
"47","UT-IOS-047","src/iOS/Avalonia.iOS/Storage/IOSStorageProvider.cs","IOSStorageProvider","TryGetWellKnownFolderAsync","正常系","Picturesフォルダが取得できること","なし","wellKnownFolder=Pictures","IOSStorageFolderが返却される","中","既知フォルダ取得"
"48","UT-IOS-048","src/iOS/Avalonia.iOS/Storage/IOSStorageProvider.cs","IOSStorageProvider","OpenFileBookmarkAsync","正常系","有効なブックマークからファイルが取得できること","有効なブックマーク文字列","bookmark=有効なブックマーク文字列","IOSStorageFileが返却される","中","ブックマークからファイル"
"49","UT-IOS-049","src/iOS/Avalonia.iOS/Storage/IOSStorageProvider.cs","IOSStorageProvider","OpenFileBookmarkAsync","正常系","無効なブックマークでnullが返却されること","無効なブックマーク文字列","bookmark=無効なブックマーク文字列","nullが返却される","中","無効ブックマーク"
"50","UT-IOS-050","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageItem","Constructor","正常系","NSUrlからIOSStorageItemが作成されること","有効なNSUrl","url=有効なNSUrl","Name, Path, Urlが正しく設定される","高","ストレージアイテム初期化"
"51","UT-IOS-051","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageItem","Constructor","異常系","nullのNSUrlで例外がスローされること","なし","url=null","ArgumentNullExceptionがスロー","高","null引数チェック"
"52","UT-IOS-052","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageItem","CreateItem","正常系","ディレクトリパスでIOSStorageFolderが作成されること","なし","url=ディレクトリパスを持つNSUrl","IOSStorageFolderが返却される","中","アイテム作成"
"53","UT-IOS-053","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageItem","CreateItem","正常系","ファイルパスでIOSStorageFileが作成されること","なし","url=ファイルパスを持つNSUrl","IOSStorageFileが返却される","中","アイテム作成"
"54","UT-IOS-054","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageItem","GetBasicPropertiesAsync","正常系","ファイルプロパティが取得できること","有効なファイルパス","なし","Size, CreationDate, ModificationDateを含むStorageItemPropertiesが返却される","中","プロパティ取得"
"55","UT-IOS-055","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageItem","GetParentAsync","正常系","親フォルダが取得できること","なし","なし","親ディレクトリのIOSStorageFolderが返却される","中","親フォルダ取得"
"56","UT-IOS-056","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageItem","DeleteAsync","正常系","ファイルが削除されること","セキュリティスコープアクセス可能","なし","Task.CompletedTaskが返却され、ファイルが削除される","高","ファイル削除"
"57","UT-IOS-057","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageItem","DeleteAsync","異常系","削除失敗時に例外がスローされること","削除権限なし","なし","NSErrorExceptionがスロー","中","削除失敗"
"58","UT-IOS-058","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageItem","MoveAsync","正常系","ファイルが移動されること","移動元・移動先にアクセス可能","destination=有効なIOSStorageFolder","新しいパスのIStorageItemが返却される","高","ファイル移動"
"59","UT-IOS-059","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageItem","MoveAsync","異常系","非IOSStorageFolder宛先で例外がスローされること","なし","destination=非IOSStorageFolder","InvalidOperationExceptionがスロー","中","無効な移動先"
"60","UT-IOS-060","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageItem","SaveBookmarkAsync","正常系","ブックマークが保存できること","セキュリティスコープアクセス可能","なし","ブックマーク文字列が返却される","中","ブックマーク保存"
"61","UT-IOS-061","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageFile","OpenReadAsync","正常系","読み取りストリームが取得できること","ファイルが読み取り可能","なし","読み取り可能なStreamが返却される","高","ファイル読取"
"62","UT-IOS-062","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageFile","OpenWriteAsync","正常系","書き込みストリームが取得できること","ファイルが書き込み可能","なし","書き込み可能なStreamが返却される","高","ファイル書込"
"63","UT-IOS-063","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageFolder","GetItemsAsync","正常系","フォルダ内のアイテムが列挙できること","フォルダにアクセス可能","なし","IStorageItemのIAsyncEnumerableが返却される","高","アイテム列挙"
"64","UT-IOS-064","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageFolder","GetItemsAsync","境界値","空フォルダで空のリストが返却されること","空フォルダ","なし","空のIAsyncEnumerableが返却される","中","空フォルダ"
"65","UT-IOS-065","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageFolder","CreateFileAsync","正常系","ファイルが作成できること","セキュリティスコープアクセス可能","name=""newfile.txt""","新規IOSStorageFileが返却される","高","ファイル作成"
"66","UT-IOS-066","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageFolder","CreateFileAsync","異常系","アクセス権なしでnullが返却されること","セキュリティスコープアクセス不可","name=""newfile.txt""","nullが返却される","中","作成権限なし"
"67","UT-IOS-067","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageFolder","CreateFolderAsync","正常系","フォルダが作成できること","セキュリティスコープアクセス可能","name=""newfolder""","新規IOSStorageFolderが返却される","高","フォルダ作成"
"68","UT-IOS-068","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageFolder","GetFileAsync","正常系","存在するファイルが取得できること","指定ファイルが存在","name=""existing.txt""","IOSStorageFileが返却される","中","ファイル取得"
"69","UT-IOS-069","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageFolder","GetFileAsync","正常系","存在しないファイルでnullが返却されること","指定ファイルが存在しない","name=""nonexistent.txt""","nullが返却される","中","存在しないファイル"
"70","UT-IOS-070","src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs","IOSStorageFolder","GetFolderAsync","正常系","存在するフォルダが取得できること","指定フォルダが存在","name=""subfolder""","IOSStorageFolderが返却される","中","フォルダ取得"
"71","UT-IOS-071","src/iOS/Avalonia.iOS/InputHandler.cs","InputHandler","Handle (NSSet touches)","正常系","タッチイベントが正しく処理されること","InputRootが設定済み","touches=UITouch配列, evt=有効なUIEvent","RawTouchEventArgsでInputイベントが発火","高","タッチ入力処理"
"72","UT-IOS-072","src/iOS/Avalonia.iOS/InputHandler.cs","InputHandler","Handle (NSSet touches)","正常系","UITouchType.Indirectは無視されること","InputRootが設定済み","touches=[IndirectタイプのUITouch]","イベントが発火しない","中","間接タッチ無視"
"73","UT-IOS-073","src/iOS/Avalonia.iOS/InputHandler.cs","InputHandler","Handle (NSSet touches)","正常系","Stylusタイプでペンデバイスが使用されること","InputRootが設定済み","touches=[UITouchType.Stylus]","PenDeviceでイベントが発火","中","スタイラス入力"
"74","UT-IOS-074","src/iOS/Avalonia.iOS/InputHandler.cs","InputHandler","Handle (NSSet touches)","正常系","IndirectPointerタイプでマウスデバイスが使用されること","iOS 13.4以上","touches=[UITouchType.IndirectPointer]","MouseDeviceでイベントが発火","中","マウス入力"
"75","UT-IOS-075","src/iOS/Avalonia.iOS/InputHandler.cs","InputHandler","Handle (NSSet<UIPress>)","正常系","キープレスイベントが正しく処理されること","InputRootが設定済み","presses=有効なUIPress配列","RawKeyEventArgsでInputイベントが発火","高","キー入力処理"
"76","UT-IOS-076","src/iOS/Avalonia.iOS/InputHandler.cs","InputHandler","Handle (NSSet<UIPress>)","正常系","矢印キーが正しくマッピングされること","InputRootが設定済み","presses=[UIPressType.UpArrow]","PhysicalKey.ArrowUpでイベントが発火","中","矢印キーマッピング"
"77","UT-IOS-077","src/iOS/Avalonia.iOS/InputHandler.cs","InputHandler","Handle (UISwipeGestureRecognizer)","正常系","スワイプジェスチャが方向キーに変換されること (tvOS)","tvOS環境","recognizer.Direction=Up","Key.Upでキーイベントが発火","中","スワイプジェスチャ"
"78","UT-IOS-078","src/iOS/Avalonia.iOS/InputHandler.cs","InputHandler","HandleScrollWheel","正常系","スクロールイベントが処理されること (iOS 13.4+)","iOS 13.4以上","recognizer.State=Changed","RawMouseWheelEventArgsでイベントが発火","中","スクロール入力"
"79","UT-IOS-079","src/iOS/Avalonia.iOS/InputHandler.cs","InputHandler","HandleScrollWheel","正常系","慣性スクロールが開始されること","iOS 13.4以上","recognizer.State=Ended","CADisplayLinkで慣性スクロールが開始","中","慣性スクロール"
"80","UT-IOS-080","src/iOS/Avalonia.iOS/InputHandler.cs","InputHandler","ConvertModifierKeys","正常系","修飾キーが正しく変換されること","iOS 13.4以上","uiModifier=Shift|Command","RawInputModifiers.Shift|Metaが返却される","中","修飾キー変換"
"81","UT-IOS-081","src/iOS/Avalonia.iOS/InsetsManager.cs","InsetsManager","IsSystemBarVisible getter","正常系","ステータスバーの表示状態が取得できること","コントローラーが設定済み","なし","PrefersStatusBarHiddenの逆の値が返却される","中","システムバー表示状態"
"82","UT-IOS-082","src/iOS/Avalonia.iOS/InsetsManager.cs","InsetsManager","IsSystemBarVisible setter","正常系","ステータスバーの表示状態が設定できること","コントローラーが設定済み","value=true","PrefersStatusBarHidden=falseが設定される","中","システムバー表示設定"
"83","UT-IOS-083","src/iOS/Avalonia.iOS/InsetsManager.cs","InsetsManager","DisplayEdgeToEdgePreference setter","正常系","エッジツーエッジ設定変更でイベントが発火すること","なし","value=false (初期値がtrue)","DisplayEdgeToEdgeChangedイベントが発火","中","エッジツーエッジ設定"
"84","UT-IOS-084","src/iOS/Avalonia.iOS/InsetsManager.cs","InsetsManager","SafeAreaPadding getter","正常系","エッジツーエッジ時にSafeAreaPaddingが返却されること","DisplayEdgeToEdge=true","なし","コントローラーのSafeAreaPaddingが返却される","中","セーフエリア取得"
"85","UT-IOS-085","src/iOS/Avalonia.iOS/InsetsManager.cs","InsetsManager","SafeAreaPadding getter","正常系","非エッジツーエッジ時にdefaultが返却されること","DisplayEdgeToEdge=false","なし","Thickness.defaultが返却される","中","セーフエリア取得"
"86","UT-IOS-086","src/iOS/Avalonia.iOS/PlatformSettings.cs","PlatformSettings","GetColorValues","正常系","ダークモード時にDarkが返却されること","UserInterfaceStyle=Dark","なし","ThemeVariant=Darkが返却される","高","テーマ検出"
"87","UT-IOS-087","src/iOS/Avalonia.iOS/PlatformSettings.cs","PlatformSettings","GetColorValues","正常系","ライトモード時にLightが返却されること","UserInterfaceStyle=Light","なし","ThemeVariant=Lightが返却される","高","テーマ検出"
"88","UT-IOS-088","src/iOS/Avalonia.iOS/PlatformSettings.cs","PlatformSettings","GetColorValues","正常系","高コントラスト設定が検出されること","AccessibilityContrast=High","なし","ContrastPreference=Highが返却される","中","アクセシビリティ検出"
"89","UT-IOS-089","src/iOS/Avalonia.iOS/PlatformSettings.cs","PlatformSettings","GetColorValues","正常系","アクセントカラーが取得できること (iOS 14+)","iOS 14以上、TintColorが有効","なし","AccentColor1が設定されたPlatformColorValuesが返却される","中","アクセントカラー取得"
"90","UT-IOS-090","src/iOS/Avalonia.iOS/PlatformSettings.cs","PlatformSettings","TraitCollectionDidChange","正常系","テーマ変更時にイベントが発火すること","前回と異なるテーマ","なし","OnColorValuesChangedが呼ばれる","高","テーマ変更通知"
"91","UT-IOS-091","src/iOS/Avalonia.iOS/DispatcherImpl.cs","DispatcherImpl","CurrentThreadIsLoopThread","正常系","メインスレッドでtrueが返却されること","メインスレッド上で実行","なし","trueが返却される","高","スレッド判定"
"92","UT-IOS-092","src/iOS/Avalonia.iOS/DispatcherImpl.cs","DispatcherImpl","CurrentThreadIsLoopThread","正常系","非メインスレッドでfalseが返却されること","バックグラウンドスレッド上で実行","なし","falseが返却される","高","スレッド判定"
"93","UT-IOS-093","src/iOS/Avalonia.iOS/DispatcherImpl.cs","DispatcherImpl","Signal","正常系","シグナルでSignaledイベントが発火すること","Signaledイベントハンドラが登録済み","なし","Signaledイベントが発火","高","シグナル処理"
"94","UT-IOS-094","src/iOS/Avalonia.iOS/DispatcherImpl.cs","DispatcherImpl","Signal","正常系","連続呼び出しで重複シグナルが防止されること","なし","Signal()を連続呼び出し","Signaledイベントは1回のみ発火","中","重複シグナル防止"
"95","UT-IOS-095","src/iOS/Avalonia.iOS/DispatcherImpl.cs","DispatcherImpl","UpdateTimer","正常系","タイマーが設定されること","なし","dueTimeInMs=1000","CFRunLoopTimerSetNextFireDateが呼ばれる","中","タイマー設定"
"96","UT-IOS-096","src/iOS/Avalonia.iOS/DispatcherImpl.cs","DispatcherImpl","UpdateTimer","正常系","nullで遠い将来に設定されること","なし","dueTimeInMs=null","タイマーがDistantFutureIntervalに設定される","中","タイマー無効化"
"97","UT-IOS-097","src/iOS/Avalonia.iOS/DispatcherImpl.cs","DispatcherImpl","RequestBackgroundProcessing","正常系","バックグラウンド処理がリクエストされること","なし","なし","ReadyForBackgroundProcessingイベントが発火","中","バックグラウンド処理"
"98","UT-IOS-098","src/iOS/Avalonia.iOS/DisplayLinkTimer.cs","DisplayLinkTimer","Constructor","正常系","タイマースレッドが開始されること","なし","なし","TimerThreadが開始される","高","タイマー初期化"
"99","UT-IOS-099","src/iOS/Avalonia.iOS/DisplayLinkTimer.cs","DisplayLinkTimer","Tick","正常系","Tickイベントが発火すること","Tickイベントハンドラが登録済み","なし","TimeSpanを伴ってTickイベントが発火","高","タイマーTick"
"100","UT-IOS-100","src/iOS/Avalonia.iOS/DisplayLinkTimer.cs","DisplayLinkTimer","RunsInBackground","正常系","trueが返却されること","なし","なし","RunsInBackground=trueが返却される","低","プロパティ確認"
"101","UT-IOS-101","src/iOS/Avalonia.iOS/ActivatableLifetime.cs","ActivatableLifetime","Constructor","正常系","アクティベーションイベントが接続されること","有効なIAvaloniaAppDelegate","appDelegate=有効なインスタンス","Activated/Deactivatedイベントが接続される","高","ライフタイム初期化"
"102","UT-IOS-102","src/iOS/Avalonia.iOS/ActivatableLifetime.cs","ActivatableLifetime","OnActivated","正常系","アクティベーション時にイベントが発火すること","なし","AppDelegateのActivatedイベント発火","OnActivatedが呼ばれる","高","アクティベーション"
"103","UT-IOS-103","src/iOS/Avalonia.iOS/ActivatableLifetime.cs","ActivatableLifetime","OnDeactivated","正常系","非アクティベーション時にイベントが発火すること","なし","AppDelegateのDeactivatedイベント発火","OnDeactivatedが呼ばれる","高","非アクティベーション"
"104","UT-IOS-104","src/iOS/Avalonia.iOS/ViewController.cs","DefaultAvaloniaViewController","ViewDidLayoutSubviews","正常系","SafeAreaPaddingが更新されること","View.SafeAreaLayoutGuideが有効","なし","SafeAreaPaddingが新しい値に更新される","高","セーフエリア更新"
"105","UT-IOS-105","src/iOS/Avalonia.iOS/ViewController.cs","DefaultAvaloniaViewController","ViewDidLayoutSubviews","正常系","SafeAreaPadding変更時にイベントが発火すること","前回と異なるSafeAreaPadding","なし","SafeAreaPaddingChangedイベントが発火","高","セーフエリア変更通知"
"106","UT-IOS-106","src/iOS/Avalonia.iOS/ViewController.cs","DefaultAvaloniaViewController","PrefersStatusBarHidden","正常系","ステータスバー非表示設定が取得できること (iOS)","_prefersStatusBarHidden=true","なし","trueが返却される","中","ステータスバー非表示"
"107","UT-IOS-107","src/iOS/Avalonia.iOS/ViewController.cs","DefaultAvaloniaViewController","PreferredStatusBarStyle","正常系","ステータスバースタイルが取得できること (iOS)","_preferredStatusBarStyle=DarkContent","なし","DarkContentが返却される","中","ステータスバースタイル"
"108","UT-IOS-108","src/iOS/Avalonia.iOS/SingleViewLifetime.cs","SingleViewLifetime","MainView setter","正常系","MainViewが設定されViewに反映されること","Viewが設定済み","value=有効なControl","View.Contentに値が設定される","高","メインビュー設定"
"109","UT-IOS-109","src/iOS/Avalonia.iOS/SingleViewLifetime.cs","SingleViewLifetime","View setter","正常系","Viewが設定されMainViewが反映されること","MainViewが設定済み","value=有効なAvaloniaView","新ViewにMainViewが設定される","高","ビュー設定"
"110","UT-IOS-110","src/iOS/Avalonia.iOS/SingleViewLifetime.cs","SingleViewLifetime","View setter","正常系","前のViewがDisposedされること","前のViewが存在","value=新しいAvaloniaView","前のViewがDisposeされる","中","ビュー更新"
"111","UT-IOS-111","src/iOS/Avalonia.iOS/AvaloniaSceneDelegate.cs","AvaloniaSceneDelegate","WillConnect","正常系","ウィンドウが初期化されること","UIWindowSceneが有効","scene=有効なUIWindowScene, session=有効","Windowが作成されAvaloniaViewが設定される","高","シーン接続"
"112","UT-IOS-112","src/iOS/Avalonia.iOS/AvaloniaSceneDelegate.cs","AvaloniaSceneDelegate","WillConnect","正常系","Configuration.Nameがnull以外の場合は早期リターンすること","なし","session.Configuration.Name!=null","処理が行われない","中","設定済みシーン"
"113","UT-IOS-113","src/iOS/Avalonia.iOS/AvaloniaSceneDelegate.cs","AvaloniaSceneDelegate","InitWindow","正常系","AvaloniaViewとコントローラーが初期化されること","有効なUIWindowとSingleViewLifetime","window=有効、lifetime=有効","RootViewControllerとViewが設定される","高","ウィンドウ初期化"
"114","UT-IOS-114","src/iOS/Avalonia.iOS/iOSScreens.cs","iOSScreen","Refresh","正常系","プライマリスクリーンが正しく識別されること","MainScreenと一致","なし","IsPrimary=trueが設定される","高","スクリーン識別"
"115","UT-IOS-115","src/iOS/Avalonia.iOS/iOSScreens.cs","iOSScreen","Refresh","正常系","スケーリングが正しく設定されること","なし","なし","Scaling=NativeScaleが設定される","高","スケーリング設定"
"116","UT-IOS-116","src/iOS/Avalonia.iOS/iOSScreens.cs","iOSScreen","Refresh","正常系","画面の向きが正しく検出されること (iOS)","非tvOS、非macCatalyst","UIDevice.Orientation=Portrait","CurrentOrientation=Portraitが設定される","中","画面向き検出"
"117","UT-IOS-117","src/iOS/Avalonia.iOS/iOSScreens.cs","iOSScreens","Constructor","正常系","画面変更通知がサブスクライブされること","なし","なし","DidConnect, DidDisconnect, ModeDidChangeがサブスクライブされる","中","通知サブスクライブ"
"118","UT-IOS-118","src/iOS/Avalonia.iOS/iOSScreens.cs","iOSScreens","GetAllScreenKeys","正常系","接続中の全スクリーンが返却されること","複数のスクリーンが接続","なし","UIScreen.Screensが返却される","中","スクリーン列挙"
"119","UT-IOS-119","src/iOS/Avalonia.iOS/iOSScreens.cs","iOSScreens","ScreenFromTopLevelCore","正常系","TopLevelからScreenが取得できること","TopLevelがWindowを持つ","topLevel=有効なTopLevelImpl","対応するiOSScreenが返却される","中","スクリーン取得"
"120","UT-IOS-120","src/iOS/Avalonia.iOS/Extensions.cs","Extensions","ToAvalonia (CGSize)","正常系","CGSizeがSizeに変換されること","なし","size={100, 200}","Size(100, 200)が返却される","低","型変換"
"121","UT-IOS-121","src/iOS/Avalonia.iOS/Extensions.cs","Extensions","ToAvalonia (CGPoint)","正常系","CGPointがPointに変換されること","なし","point={50, 75}","Point(50, 75)が返却される","低","型変換"
"122","UT-IOS-122","src/iOS/Avalonia.iOS/Extensions.cs","Extensions","ToUiColor","正常系","Avalonia ColorがUIColorに変換されること","なし","color=Colors.Red","赤色のUIColorが返却される","低","型変換"
"123","UT-IOS-123","src/iOS/Avalonia.iOS/IOSLauncher.cs","IOSLauncher","LaunchUriAsync","正常系","有効なURIが開けること","対象アプリがインストール済み","uri=有効なhttps://...","trueが返却され、URLが開かれる","高","URI起動"
"124","UT-IOS-124","src/iOS/Avalonia.iOS/IOSLauncher.cs","IOSLauncher","LaunchUriAsync","正常系","開けないURIでfalseが返却されること","対象アプリがインストールされていない","uri=unknownapp://...","falseが返却される","中","開けないURI"
"125","UT-IOS-125","src/iOS/Avalonia.iOS/IOSLauncher.cs","IOSLauncher","LaunchUriAsync","異常系","nullのURIで例外がスローされること","なし","uri=null","ArgumentNullExceptionがスロー","高","null引数チェック"
"126","UT-IOS-126","src/iOS/Avalonia.iOS/IOSLauncher.cs","IOSLauncher","LaunchFileAsync","正常系","ファイルプレビューが開けること (iOS)","有効なファイルパス","storageItem=有効なIOSStorageItem","trueが返却され、プレビューが開く","高","ファイル起動"
"127","UT-IOS-127","src/iOS/Avalonia.iOS/IOSLauncher.cs","IOSLauncher","LaunchFileAsync","異常系","nullのstorageItemで例外がスローされること","なし","storageItem=null","ArgumentNullExceptionがスロー","高","null引数チェック"
"128","UT-IOS-128","src/iOS/Avalonia.iOS/NativeControlHostImpl.cs","NativeControlHostImpl","CreateDefaultChild","正常系","デフォルトのUIViewが作成されること","なし","parent=有効なIPlatformHandle","UIViewを持つUIViewControlHandleが返却される","中","ネイティブコントロール作成"
"129","UT-IOS-129","src/iOS/Avalonia.iOS/NativeControlHostImpl.cs","NativeControlHostImpl","CreateNewAttachment (Func)","正常系","新しいアタッチメントが作成されること","なし","create=有効な生成関数","NativeControlAttachmentが返却される","中","アタッチメント作成"
"130","UT-IOS-130","src/iOS/Avalonia.iOS/NativeControlHostImpl.cs","NativeControlHostImpl","IsCompatibleWith","正常系","UIViewハンドルで互換性ありが返却されること","なし","handle.HandleDescriptor=""UIView""","trueが返却される","低","互換性チェック"
"131","UT-IOS-131","src/iOS/Avalonia.iOS/NativeControlHostImpl.cs","NativeControlHostImpl.NativeControlAttachment","ShowInBounds","正常系","ビューが表示されること","アタッチ済み","bounds={0,0,100,100}","Viewが表示され、Frameが設定される","中","ビュー表示"
"132","UT-IOS-132","src/iOS/Avalonia.iOS/NativeControlHostImpl.cs","NativeControlHostImpl.NativeControlAttachment","HideWithSize","正常系","ビューが非表示になること","アタッチ済み","size={100,100}","View.Hidden=trueが設定される","中","ビュー非表示"
"133","UT-IOS-133","src/iOS/Avalonia.iOS/NativeControlHostImpl.cs","NativeControlHostImpl.NativeControlAttachment","Dispose","正常系","リソースが解放されること","なし","なし","ViewがRemoveFromSuperviewされDisposeされる","中","リソース解放"
"134","UT-IOS-134","src/iOS/Avalonia.iOS/NativeControlHostImpl.cs","UIViewControlHandle","Destroy","正常系","Viewが破棄されること","なし","なし","ViewがDisposeされる","低","ハンドル破棄"
"135","UT-IOS-135","src/iOS/Avalonia.iOS/UIKitInputPane.cs","UIKitInputPane","Constructor","正常系","キーボード通知がサブスクライブされること","なし","なし","WillShowNotification, WillHideNotificationがサブスクライブされる","高","入力パネル初期化"
"136","UT-IOS-136","src/iOS/Avalonia.iOS/UIKitInputPane.cs","UIKitInputPane","RaiseEventFromNotification (up)","正常系","キーボード表示時にStateがOpenになること","なし","isUp=true","State=Openが設定される","高","キーボード表示"
"137","UT-IOS-137","src/iOS/Avalonia.iOS/UIKitInputPane.cs","UIKitInputPane","RaiseEventFromNotification (down)","正常系","キーボード非表示時にStateがClosedになること","なし","isUp=false","State=Closedが設定される","高","キーボード非表示"
"138","UT-IOS-138","src/iOS/Avalonia.iOS/UIKitInputPane.cs","UIKitInputPane","RaiseEventFromNotification","正常系","OccludedRectが正しく設定されること (iOS)","非macCatalyst","通知からendFrameを取得","OccludedRectがendFrameに設定される","中","キーボード領域"
"139","UT-IOS-139","src/iOS/Avalonia.iOS/Clipboard/ClipboardDataFormatHelper.cs","ClipboardDataFormatHelper","ToDataFormat","正常系","UTF8テキストがDataFormat.Textに変換されること","なし","type=""public.utf8-plain-text""","DataFormat.Textが返却される","中","フォーマット変換"
"140","UT-IOS-140","src/iOS/Avalonia.iOS/Clipboard/ClipboardDataFormatHelper.cs","ClipboardDataFormatHelper","ToDataFormat","正常系","ファイルURLがDataFormat.Fileに変換されること","なし","type=""public.file-url""","DataFormat.Fileが返却される","中","フォーマット変換"
"141","UT-IOS-141","src/iOS/Avalonia.iOS/Clipboard/ClipboardDataFormatHelper.cs","ClipboardDataFormatHelper","ToDataFormat","正常系","画像タイプがDataFormat.Bitmapに変換されること","なし","type=""public.png""","DataFormat.Bitmapが返却される","中","フォーマット変換"
"142","UT-IOS-142","src/iOS/Avalonia.iOS/Clipboard/ClipboardDataFormatHelper.cs","ClipboardDataFormatHelper","ToSystemType","正常系","DataFormat.TextがUTF8 UTIに変換されること","なし","format=DataFormat.Text","public.utf8-plain-textが返却される","中","システムタイプ変換"
"143","UT-IOS-143","src/iOS/Avalonia.iOS/Clipboard/ClipboardDataFormatHelper.cs","ClipboardDataFormatHelper","ToSystemType","正常系","DataFormat.BitmapがPNG UTIに変換されること","なし","format=DataFormat.Bitmap","public.pngが返却される","中","システムタイプ変換"
"144","UT-IOS-144","src/iOS/Avalonia.iOS/Clipboard/PasteboardToDataTransferWrapper.cs","PasteboardToDataTransferWrapper","ProvideFormats","正常系","ペーストボードのフォーマットが取得できること","ペーストボードにデータあり","なし","DataFormat配列が返却される","中","フォーマット取得"
"145","UT-IOS-145","src/iOS/Avalonia.iOS/Clipboard/PasteboardToDataTransferWrapper.cs","PasteboardToDataTransferWrapper","ProvideFormats","正常系","ChangeCount不一致で空配列が返却されること","ペーストボードが外部で変更された","なし","空配列が返却される","中","変更検出"
"146","UT-IOS-146","src/iOS/Avalonia.iOS/Clipboard/PasteboardToDataTransferWrapper.cs","PasteboardToDataTransferWrapper","ProvideItems","正常系","ペーストボードのアイテムが取得できること","ペーストボードにデータあり","なし","PlatformDataTransferItem配列が返却される","中","アイテム取得"
"147","UT-IOS-147","src/iOS/Avalonia.iOS/Clipboard/PasteboardItemToDataTransferItemWrapper.cs","PasteboardItemToDataTransferItemWrapper","TryGetRawCore","正常系","テキストデータが取得できること","アイテムにテキストあり","format=DataFormat.Text","文字列が返却される","高","テキスト取得"
"148","UT-IOS-148","src/iOS/Avalonia.iOS/Clipboard/PasteboardItemToDataTransferItemWrapper.cs","PasteboardItemToDataTransferItemWrapper","TryGetRawCore","正常系","ファイルデータが取得できること","アイテムにファイルURLあり","format=DataFormat.File","IOSStorageItemが返却される","中","ファイル取得"
"149","UT-IOS-149","src/iOS/Avalonia.iOS/Clipboard/PasteboardItemToDataTransferItemWrapper.cs","PasteboardItemToDataTransferItemWrapper","TryGetRawCore","正常系","画像データが取得できること (PNG)","アイテムにPNG画像あり","format=DataFormat.Bitmap","Bitmapが返却される","中","画像取得"
"150","UT-IOS-150","src/iOS/Avalonia.iOS/Clipboard/PasteboardItemToDataTransferItemWrapper.cs","PasteboardItemToDataTransferItemWrapper","TryGetRawCore","正常系","画像データが取得できること (TIFF)","アイテムにTIFF画像あり","format=DataFormat.Bitmap","Bitmapが返却される (UIImage経由)","中","TIFF画像取得"
"151","UT-IOS-151","src/iOS/Avalonia.iOS/Metal/MetalPlatformGraphics.cs","MetalPlatformGraphics","TryCreate","正常系","Metalデバイスがある場合インスタンスが返却されること","Metal対応デバイス","なし","MetalPlatformGraphicsインスタンスが返却される","高","Metal初期化"
"152","UT-IOS-152","src/iOS/Avalonia.iOS/Metal/MetalPlatformGraphics.cs","MetalPlatformGraphics","TryCreate","正常系","Metalデバイスがない場合nullが返却されること","Metal非対応デバイス","なし","nullが返却される","中","Metal非対応"
"153","UT-IOS-153","src/iOS/Avalonia.iOS/Metal/MetalPlatformGraphics.cs","MetalPlatformGraphics","CreateContext","正常系","新しいMetalDeviceが作成されること","なし","なし","MetalDeviceが返却される","高","コンテキスト作成"
"154","UT-IOS-154","src/iOS/Avalonia.iOS/Metal/MetalPlatformGraphics.cs","MetalPlatformGraphics","GetSharedContext","異常系","NotSupportedExceptionがスローされること","なし","なし","NotSupportedExceptionがスロー","低","共有コンテキスト非サポート"
"155","UT-IOS-155","src/iOS/Avalonia.iOS/Metal/MetalDevice.cs","MetalDevice","Constructor","正常系","コマンドキューが作成されること","有効なIMTLDevice","device=有効なIMTLDevice","Queueがnullでないこと","高","デバイス初期化"
"156","UT-IOS-156","src/iOS/Avalonia.iOS/Metal/MetalDevice.cs","MetalDevice","Constructor","異常系","コマンドキュー作成失敗で例外がスローされること","コマンドキュー作成不可","device=CreateCommandQueueがnullを返すデバイス","InvalidOperationExceptionがスロー","中","キュー作成失敗"
"157","UT-IOS-157","src/iOS/Avalonia.iOS/Metal/MetalDevice.cs","MetalDevice","EnsureCurrent","正常系","ロックが取得できること","なし","なし","IDisposableが返却される","中","排他制御"
"158","UT-IOS-158","src/iOS/Avalonia.iOS/Metal/MetalDevice.cs","MetalDevice","Dispose","正常系","キューが解放されること","なし","なし","Queue.Disposeが呼ばれる","中","リソース解放"
"159","UT-IOS-159","src/iOS/Avalonia.iOS/Eagl/EaglDisplay.cs","EaglPlatformGraphics","TryCreate","正常系","EAGLコンテキストが作成できること (iOS/tvOS)","OpenGLES対応デバイス","なし","EaglPlatformGraphicsインスタンスが返却される","高","EAGL初期化"
"160","UT-IOS-160","src/iOS/Avalonia.iOS/Eagl/EaglDisplay.cs","EaglPlatformGraphics","TryCreate","正常系","OpenGL初期化失敗でnullが返却されること","OpenGLES非対応環境","なし","nullが返却される","中","EAGL初期化失敗"
"161","UT-IOS-161","src/iOS/Avalonia.iOS/Eagl/EaglDisplay.cs","GlContext","MakeCurrent","正常系","コンテキストがカレントになること","Contextがnullでない","なし","コンテキストがカレントになる","高","コンテキスト切替"
"162","UT-IOS-162","src/iOS/Avalonia.iOS/Eagl/EaglDisplay.cs","GlContext","MakeCurrent","異常系","Context破棄後に例外がスローされること","Context=null (Dispose後)","なし","PlatformGraphicsContextLostExceptionがスロー","中","破棄後アクセス"
"163","UT-IOS-163","src/iOS/Avalonia.iOS/Eagl/EaglDisplay.cs","GlContext","EnsureCurrent","正常系","既にカレントの場合はEmptyが返却されること","CurrentContext==Context","なし","Disposable.Emptyが返却される","中","カレント確認"
"164","UT-IOS-164","src/iOS/Avalonia.iOS/Eagl/EaglDisplay.cs","GlContext","CreateSharedContext","正常系","共有コンテキストが作成できること","Contextがnullでない","なし","同じShareGroupのGlContextが返却される","中","共有コンテキスト"
"165","UT-IOS-165","src/iOS/Avalonia.iOS/Eagl/EaglDisplay.cs","GlContext","IsSharedWith","正常系","同じShareGroupで共有が検出されること","同じShareGroupのコンテキスト","context=同じShareGroupのGlContext","trueが返却される","低","共有判定"
"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","低","診断ルール設定の検証"
"1","UT-DVG-001","src/tools/DevGenerators/CompilerDynamicDependenciesGenerator.cs","CompilerDynamicDependenciesGenerator","Initialize","正常系","ソースジェネレーターが正しく初期化されること","IncrementalGeneratorInitializationContextが有効","有効なIncrementalGeneratorInitializationContext","SyntaxProviderが正しく設定される","高","IIncrementalGeneratorの初期化"
"2","UT-DVG-002","src/tools/DevGenerators/CompilerDynamicDependenciesGenerator.cs","CompilerDynamicDependenciesGenerator","Initialize","正常系","GetTypeまたはFindType呼び出しが検出されること","GetType呼び出しを含むソースコード","InvocationExpressionSyntax with GetType","呼び出しが検出され収集される","高","型検出のコア機能"
"3","UT-DVG-003","src/tools/DevGenerators/CompilerDynamicDependenciesGenerator.cs","CompilerDynamicDependenciesGenerator","Initialize","正常系","DynamicDependency属性付きコードが生成されること","複数のGetType呼び出し","型名リスト","CompilerDynamicDependenciesAttribute.generated.csが出力される","高","コード生成の主機能"
"4","UT-DVG-004","src/tools/DevGenerators/CompilerDynamicDependenciesGenerator.cs","CompilerDynamicDependenciesGenerator","Initialize","境界値","型が0件の場合はソース生成されないこと","GetType呼び出しが無い","空のソースコード","AddSourceが呼び出されない","中","空入力のエッジケース"
"5","UT-DVG-005","src/tools/DevGenerators/CompilerDynamicDependenciesGenerator.cs","CompilerDynamicDependenciesGenerator","ToCSharpTypeName","正常系","ジェネリック型名が正しく変換されること","有効なCLR型名","System.Action`1","System.Action<>が返却される","高","型名変換"
"6","UT-DVG-006","src/tools/DevGenerators/CompilerDynamicDependenciesGenerator.cs","CompilerDynamicDependenciesGenerator","ToCSharpTypeName","正常系","非ジェネリック型名がそのまま返却されること","ジェネリックでない型名","System.String","System.Stringがそのまま返却される","中","型名変換の通常ケース"
"7","UT-DVG-007","src/tools/DevGenerators/CompilerDynamicDependenciesGenerator.cs","CompilerDynamicDependenciesGenerator","ToCSharpTypeName","異常系","不正なジェネリック引数数の場合","バッククォート後に数値でない","System.Action`x","元の型名がそのまま返却される","中","不正入力の処理"
"8","UT-DVG-008","src/tools/DevGenerators/SubtypesFactoryGenerator.cs","SubtypesFactoryGenerator","Initialize","正常系","ソースジェネレーターが正しく初期化されること","IncrementalGeneratorInitializationContextが有効","有効なContext","typesProviderとmethodsProviderが設定される","高","IIncrementalGeneratorの初期化"
"9","UT-DVG-009","src/tools/DevGenerators/SubtypesFactoryGenerator.cs","SubtypesFactoryGenerator","IsSubtypeOf","正常系","直接継承関係が正しく検出されること","親子関係のある型","type=Child, baseType=Parent","trueが返却される","高","型階層の判定"
"10","UT-DVG-010","src/tools/DevGenerators/SubtypesFactoryGenerator.cs","SubtypesFactoryGenerator","IsSubtypeOf","正常系","間接継承関係が正しく検出されること","孫-親の関係","type=Grandchild, baseType=Grandparent","trueが返却される","高","間接継承の再帰判定"
"11","UT-DVG-011","src/tools/DevGenerators/SubtypesFactoryGenerator.cs","SubtypesFactoryGenerator","IsSubtypeOf","正常系","継承関係がない場合falseが返却されること","無関係な型","type=ClassA, baseType=ClassB","falseが返却される","中","継承関係なしの判定"
"12","UT-DVG-012","src/tools/DevGenerators/SubtypesFactoryGenerator.cs","SubtypesFactoryGenerator","IsSubtypeOf","境界値","BaseTypeがnullの場合","BaseType=null","type with BaseType=null","falseが返却される","中","null境界値"
"13","UT-DVG-013","src/tools/DevGenerators/SubtypesFactoryGenerator.cs","SubtypesFactoryGenerator","GenerateSubTypes","正常系","サブタイプファクトリコードが生成されること","有効なMethodTarget","methodTarget, candidateTypes","ソースコードが生成されAddSourceが呼ばれる","高","コード生成の主機能"
"14","UT-DVG-014","src/tools/DevGenerators/SubtypesFactoryGenerator.cs","SubtypesFactoryGenerator","GenerateSubTypes","正常系","ジェネリッククラスの場合型パラメータが含まれること","ジェネリッククラス内のメソッド","TypeParameters.Length > 0","型宣言に型パラメータが含まれる","中","ジェネリック対応"
"15","UT-DVG-015","src/tools/DevGenerators/SubtypesFactoryGenerator.cs","SubtypesFactoryGenerator","PopulateMethodTargets","正常系","SubtypesFactoryAttribute付きメソッドが検出されること","属性付きメソッド","MethodDeclarationSyntax with attribute","MethodTargetが返却される","高","属性検出"
"16","UT-DVG-016","src/tools/DevGenerators/SubtypesFactoryGenerator.cs","SubtypesFactoryGenerator","PopulateMethodTargets","異常系","属性引数が2つでない場合nullが返却されること","不正な引数数の属性","arguments.Count != 2","nullが返却される","中","不正属性の処理"
"17","UT-DVG-017","src/tools/DevGenerators/SubtypesFactoryGenerator.cs","SubtypesFactoryGenerator","PopulateMethodTargets","異常系","パラメータがout引数でない場合nullが返却されること","不正なメソッドシグネチャ","RefKind != RefKind.Out","nullが返却される","中","メソッドシグネチャ検証"
"18","UT-DVG-018","src/tools/DevGenerators/X11AtomsGenerator.cs","X11AtomsGenerator","Initialize","正常系","X11Atomsクラスが検出されること","X11Atomsクラス定義","ClassDeclarationSyntax with Identifier.Text=""X11Atoms""","クラスが収集される","高","クラス検出"
"19","UT-DVG-019","src/tools/DevGenerators/X11AtomsGenerator.cs","X11AtomsGenerator","Initialize","正常系","PopulateAtomsメソッドが生成されること","IntPtr型のpublicフィールドを持つX11Atoms","複数のIntPtrフィールド","PopulateAtomsメソッドを含むコードが生成される","高","コード生成"
"20","UT-DVG-020","src/tools/DevGenerators/X11AtomsGenerator.cs","X11AtomsGenerator","Initialize","正常系","フィールド名がatom名として使用されること","IntPtrフィールド","fieldName=""WM_PROTOCOLS""","atomNames配列に""WM_PROTOCOLS""が含まれる","中","フィールド名マッピング"
"21","UT-DVG-021","src/tools/DevGenerators/X11AtomsGenerator.cs","X11AtomsGenerator","Initialize","境界値","フィールドが0件の場合","IntPtrフィールドなし","空のフィールドリスト","空の配列を持つコードが生成される","中","空フィールドのケース"
"22","UT-DVG-022","src/tools/DevGenerators/GetProcAddressInitialization.cs","GetProcAddressInitializationGenerator","Initialize","正常系","GetProcAddress属性付きメソッドが検出されること","partial メソッドに属性付き","MethodDeclarationSyntax with GetProcAddressAttribute","メソッドが収集される","高","属性検出"
"23","UT-DVG-023","src/tools/DevGenerators/GetProcAddressInitialization.cs","GetProcAddressInitializationGenerator","Initialize","正常系","Initializeメソッドが生成されること","属性付きメソッド群","複数のGetProcAddress属性付きメソッド","Initialize(Func<string,IntPtr> getProcAddress)が生成される","高","初期化メソッド生成"
"24","UT-DVG-024","src/tools/DevGenerators/GetProcAddressInitialization.cs","GetProcAddressInitializationGenerator","AppendRefKind","正常系","ref引数が正しく出力されること","RefKind.Ref","RefKind.Ref","ref が追加される","中","引数修飾子"
"25","UT-DVG-025","src/tools/DevGenerators/GetProcAddressInitialization.cs","GetProcAddressInitializationGenerator","AppendRefKind","正常系","out引数が正しく出力されること","RefKind.Out","RefKind.Out","out が追加される","中","引数修飾子"
"26","UT-DVG-026","src/tools/DevGenerators/GetProcAddressInitialization.cs","GetProcAddressInitializationGenerator","NeedsPin","正常系","配列型の場合trueが返却されること","配列型","TypeKind.Array","trueが返却される","中","ピン留め判定"
"27","UT-DVG-027","src/tools/DevGenerators/GetProcAddressInitialization.cs","GetProcAddressInitializationGenerator","NeedsPin","正常系","RefKindがNoneでない場合trueが返却されること","ref/out引数","RefKind.Ref","trueが返却される","中","ピン留め判定"
"28","UT-DVG-028","src/tools/DevGenerators/GetProcAddressInitialization.cs","GetProcAddressInitializationGenerator","ConvertToNative","正常系","ピン留めが必要な場合プレフィックスが付くこと","配列引数","name=""data"", 配列型","__p_dataが返却される","中","ネイティブ変換"
"29","UT-DVG-029","src/tools/DevGenerators/GetProcAddressInitialization.cs","GetProcAddressInitializationGenerator","ConvertToNative","正常系","bool型が整数に変換されること","bool型引数","name=""flag"", bool型","flag ? 1 : 0が返却される","中","bool変換"
"30","UT-DVG-030","src/tools/DevGenerators/GetProcAddressInitialization.cs","GetProcAddressInitializationGenerator","ConvertToManaged","正常系","bool戻り値が正しく変換されること","bool戻り値型","bool型, expr=""result""","result != 0が返却される","中","マネージド変換"
"31","UT-DVG-031","src/tools/DevGenerators/GetProcAddressInitialization.cs","GetProcAddressInitializationGenerator","IsBool","正常系","System.Booleanがboolと判定されること","bool型","global::System.Boolean","trueが返却される","低","bool型判定"
"32","UT-DVG-032","src/tools/DevGenerators/GetProcAddressInitialization.cs","GetProcAddressInitializationGenerator","MapToNative","正常系","配列型がポインタ型に変換されること","int[]型","IArrayTypeSymbol","int*が返却される","中","ネイティブ型マッピング"
"33","UT-DVG-033","src/tools/DevGenerators/GetProcAddressInitialization.cs","GetProcAddressInitializationGenerator","MapToNative","正常系","ref引数がポインタ型に変換されること","ref int","RefKind.Ref, int型","int*が返却される","中","ネイティブ型マッピング"
"34","UT-DVG-034","src/tools/DevGenerators/GetProcAddressInitialization.cs","GetProcAddressInitializationGenerator","BuildDelegateType","正常系","関数ポインタ型が生成されること","メソッドシンボル","IMethodSymbol","delegate* unmanaged[Stdcall]<...>が返却される","高","デリゲート型生成"
"35","UT-DVG-035","src/tools/DevGenerators/Helpers.cs","Helpers","Pad","正常系","指定数のスペースが追加されること","count=2","StringBuilder, count=2","8個のスペースが追加される","低","フォーマットヘルパー"
"36","UT-DVG-036","src/tools/DevGenerators/Helpers.cs","Helpers","Pad","境界値","count=0の場合スペースが追加されないこと","count=0","StringBuilder, count=0","スペースが追加されない","低","境界値"
"37","UT-DVG-037","src/tools/DevGenerators/Helpers.cs","Helpers","GetFullyQualifiedName","正常系","完全修飾名が返却されること","有効なシンボル","ISymbol","global::Namespace.Class形式の文字列","高","シンボル名取得"
"38","UT-DVG-038","src/tools/DevGenerators/Helpers.cs","Helpers","HasFullyQualifiedName","正常系","名前が一致する場合trueが返却されること","名前が一致するシンボル","symbol, name=""global::Test.Class""","trueが返却される","中","名前比較"
"39","UT-DVG-039","src/tools/DevGenerators/Helpers.cs","Helpers","HasFullyQualifiedName","正常系","名前が不一致の場合falseが返却されること","名前が不一致のシンボル","symbol, name=""global::Other.Class""","falseが返却される","中","名前比較"
"40","UT-DVG-040","src/tools/DevGenerators/Helpers.cs","Helpers","HasAttributeWithFullyQualifiedName","正常系","属性が存在する場合trueが返却されること","指定属性を持つシンボル","symbol with attribute","trueが返却される","高","属性存在確認"
"41","UT-DVG-041","src/tools/DevGenerators/Helpers.cs","Helpers","HasAttributeWithFullyQualifiedName","正常系","属性が存在しない場合falseが返却されること","属性なしのシンボル","symbol without attribute","falseが返却される","中","属性存在確認"
"42","UT-DVG-042","src/tools/DevGenerators/EnumMemberDictionaryGenerator.cs","EnumMemberDictionaryGenerator","Initialize","正常系","GenerateEnumValueDictionary属性付きメソッドが検出されること","partial メソッドに属性付き","MethodDeclarationSyntax with attribute","メソッドが収集される","高","属性検出"
"43","UT-DVG-043","src/tools/DevGenerators/EnumMemberDictionaryGenerator.cs","EnumMemberDictionaryGenerator","Initialize","正常系","enum辞書生成コードが出力されること","Dictionary戻り値のメソッド","INamedTypeSymbol with Arity > 0","Dictionary初期化コードが生成される","高","辞書生成"
"44","UT-DVG-044","src/tools/DevGenerators/EnumMemberDictionaryGenerator.cs","EnumMemberDictionaryGenerator","Initialize","正常系","enumリスト生成コードが出力されること","配列戻り値のメソッド","IArrayTypeSymbol","配列初期化コードが生成される","高","リスト生成"
"45","UT-DVG-045","src/tools/DevGenerators/EnumMemberDictionaryGenerator.cs","EnumMemberDictionaryGenerator","Initialize","正常系","enumメンバーが正しく列挙されること","enum型","enum with Members","すべてのメンバーが出力される","中","メンバー列挙"
"46","UT-DVG-046","src/tools/DevGenerators/EnumMemberDictionaryGenerator.cs","EnumMemberDictionaryGenerator","Initialize","正常系","コンストラクタメンバーが除外されること","enum型","member.Name == "".ctor""","コンストラクタは出力されない","中","フィルタリング"
"47","UT-DVG-047","src/tools/DevGenerators/CompositionGenerator/CompositionRoslynGenerator.cs","CompositionRoslynGenerator","Initialize","正常系","composition-schema.xmlが読み込まれること","AdditionalTextsにスキーマファイル","composition-schema.xml","GConfigがデシリアライズされる","高","スキーマ読み込み"
"48","UT-DVG-048","src/tools/DevGenerators/CompositionGenerator/CompositionRoslynGenerator.cs","CompositionRoslynGenerator","Initialize","正常系","Generatorが実行されソースが出力されること","有効なスキーマ","GConfig","Generate()が呼ばれAddSourceされる","高","コード生成パイプライン"
"49","UT-DVG-049","src/tools/DevGenerators/CompositionGenerator/Generator.ConfigHelpers.cs","Generator.GeneratorTypeInfo","GetTypeInfo","正常系","型情報がキャッシュされること","同じ型を2回取得","type=""int""","2回目はキャッシュから返却される","中","キャッシュ機能"
"50","UT-DVG-050","src/tools/DevGenerators/CompositionGenerator/Generator.ConfigHelpers.cs","Generator.GeneratorTypeInfo","GetTypeInfo","正常系","オブジェクト型が正しく判定されること","_objectsに含まれる型","type=""CompositionObject""","IsObject=trueが設定される","中","型分類"
"51","UT-DVG-051","src/tools/DevGenerators/CompositionGenerator/Generator.ConfigHelpers.cs","Generator.GeneratorTypeInfo","GetTypeInfo","正常系","Nullable型が検出されること","?付きの型名","type=""int?""","IsNullable=trueが設定される","中","Nullable判定"
"52","UT-DVG-052","src/tools/DevGenerators/CompositionGenerator/Generator.ConfigHelpers.cs","Generator.GeneratorTypeInfo","GetTypeInfo","正常系","Passthrough型が正しく処理されること","manual.Passthrough=true","passthroughマニュアル型","IsPassthrough=true, ServerType=type","中","Passthrough処理"
"53","UT-DVG-053","src/tools/DevGenerators/CompositionGenerator/ICompositionGeneratorSink.cs","ICompositionGeneratorSink","AddSource","正常系","ソースコードが追加されること","有効な実装","name=""Test.cs"", code=""...""","AddSourceが呼び出される","中","インターフェース契約"
"54","UT-DVG-054","src/tools/DevGenerators/CompositionGenerator/Generator.Utils.cs","Generator","Unit","正常系","CompilationUnitSyntaxが生成されること","有効な設定","_config with Usings","System名前空間等のusingを含むCompilationUnitSyntax","中","構文生成"
"55","UT-DVG-055","src/tools/DevGenerators/CompositionGenerator/Generator.Utils.cs","Generator","SaveTo","正常系","ソースコードが出力されること","有効なCompilationUnitSyntax","unit, path","_output.AddSourceが呼ばれる","中","出力処理"
"56","UT-DVG-056","src/tools/DevGenerators/CompositionGenerator/Generator.Utils.cs","Generator","Semicolon","正常系","セミコロントークンが返却されること","なし","なし","SyntaxKind.SemicolonToken","低","ヘルパー関数"
"57","UT-DVG-057","src/tools/DevGenerators/CompositionGenerator/Generator.Utils.cs","Generator","DeclareField","正常系","フィールド宣言が生成されること","型名とフィールド名","type=""int"", name=""_count""","FieldDeclarationSyntax","中","構文生成"
"58","UT-DVG-058","src/tools/DevGenerators/CompositionGenerator/Generator.Utils.cs","Generator","DeclareField","正常系","初期化子付きフィールドが生成されること","初期化子あり","initializer=EqualsValueClause","初期化子付きFieldDeclarationSyntax","中","構文生成"
"59","UT-DVG-059","src/tools/DevGenerators/CompositionGenerator/Config.cs","GConfig","Usings","正常系","Usingリストが取得できること","XMLデシリアライズ後","GConfig","Usingsリストが返却される","低","設定クラス"
"60","UT-DVG-060","src/tools/DevGenerators/CompositionGenerator/Config.cs","GConfig","ManualClasses","正常系","ManualClassesリストが取得できること","XMLデシリアライズ後","GConfig","ManualClassesリストが返却される","低","設定クラス"
"61","UT-DVG-061","src/tools/DevGenerators/CompositionGenerator/Config.cs","GConfig","Classes","正常系","Classesリストが取得できること","XMLデシリアライズ後","GConfig","GClass/GBrush/GListを含むリスト","中","設定クラス"
"62","UT-DVG-062","src/tools/DevGenerators/CompositionGenerator/Config.cs","GConfig","KeyFrameAnimations","正常系","KeyFrameAnimationsリストが取得できること","XMLデシリアライズ後","GConfig","GAnimationTypeリストが返却される","中","設定クラス"
"63","UT-DVG-063","src/tools/DevGenerators/CompositionGenerator/Config.cs","GBrush","Constructor","正常系","デフォルト継承がCompositionBrushであること","GBrushインスタンス","new GBrush()","Inherits=""CompositionBrush""","低","デフォルト値"
"64","UT-DVG-064","src/tools/DevGenerators/CompositionGenerator/Generator.KeyFrameAnimation.cs","Generator","GenerateAnimations","正常系","キーフレームアニメーションクラスが生成されること","KeyFrameAnimationsあり","GAnimationType","{Name}KeyFrameAnimationクラスが生成される","高","アニメーション生成"
"65","UT-DVG-065","src/tools/DevGenerators/CompositionGenerator/Generator.KeyFrameAnimation.cs","Generator","GenerateAnimations","正常系","Create{Name}KeyFrameAnimationメソッドが生成されること","KeyFrameAnimationsあり","GAnimationType","Compositorに生成メソッドが追加される","高","ファクトリメソッド生成"
"66","UT-DVG-066","src/tools/DevGenerators/CompositionGenerator/Generator.KeyFrameAnimation.cs","Generator","GenerateAnimations","正常系","InsertKeyFrameメソッドが生成されること","有効なアニメーション型","GAnimationType","2つのInsertKeyFrameオーバーロードが生成される","中","メソッド生成"
"67","UT-DVG-067","src/tools/DevGenerators/CompositionGenerator/Generator.ListProxy.cs","Generator","AppendListProxy","正常系","リストプロキシインターフェースが追加されること","GListクラス","GList","IList<ItemType>が基底型に追加される","高","リストプロキシ生成"
"68","UT-DVG-068","src/tools/DevGenerators/CompositionGenerator/Generator.ListProxy.cs","Generator","AppendListProxy","正常系","リスト操作メソッドが生成されること","GListクラス","GList","Add, Remove, Clear等のメソッドが生成される","高","リストメソッド生成"
"69","UT-DVG-069","src/tools/DevGenerators/CompositionGenerator/Generator.ListProxy.cs","Generator","AppendListProxy","正常系","InitializeDefaultsにリスト初期化が追加されること","GListクラス","GList","_list = new ServerListProxyHelper...が追加される","中","初期化処理"
"70","UT-DVG-070","src/tools/DevGenerators/CompositionGenerator/Extensions.cs","Extensions","AddModifiers (ClassDeclarationSyntax)","正常系","修飾子が追加されること","ClassDeclarationSyntax","modifiers=[SyntaxKind.PublicKeyword]","修飾子付きClassDeclarationSyntax","中","構文拡張"
"71","UT-DVG-071","src/tools/DevGenerators/CompositionGenerator/Extensions.cs","Extensions","AddModifiers (ClassDeclarationSyntax)","境界値","modifiersがnullの場合元のクラスが返却されること","nullの修飾子","modifiers=null","変更なしのClassDeclarationSyntax","低","null処理"
"72","UT-DVG-072","src/tools/DevGenerators/CompositionGenerator/Extensions.cs","Extensions","WithLowerFirst","正常系","先頭文字が小文字に変換されること","大文字開始の文字列","PropertyName","propertyNameが返却される","低","文字列変換"
"73","UT-DVG-073","src/tools/DevGenerators/CompositionGenerator/Extensions.cs","Extensions","WithLowerFirst","境界値","空文字列の場合空文字列が返却されること","空文字列","""""","""""が返却される","低","空文字列処理"
"74","UT-DVG-074","src/tools/DevGenerators/CompositionGenerator/Extensions.cs","Extensions","MemberAccess (params string[])","正常系","メンバーアクセス式が構築されること","複数の識別子","identifiers=[""obj"", ""Property""]","obj.PropertyのMemberAccessExpression","中","構文生成"
"75","UT-DVG-075","src/tools/DevGenerators/CompositionGenerator/Extensions.cs","Extensions","MemberAccess (params string[])","異常系","空配列の場合ArgumentExceptionがスローされること","空配列","identifiers=[]","ArgumentExceptionがスロー","中","エラー処理"
"76","UT-DVG-076","src/tools/DevGenerators/CompositionGenerator/Extensions.cs","Extensions","ConditionalMemberAccess","正常系","checkNull=trueの場合条件付きアクセスが返却されること","nullチェックあり","checkNull=true","ConditionalAccessExpression","中","条件付きアクセス"
"77","UT-DVG-077","src/tools/DevGenerators/CompositionGenerator/Extensions.cs","Extensions","ConditionalMemberAccess","正常系","checkNull=falseの場合通常アクセスが返却されること","nullチェックなし","checkNull=false","MemberAccessExpression","中","通常アクセス"
"78","UT-DVG-078","src/tools/DevGenerators/CompositionGenerator/Extensions.cs","Extensions","WithBaseType","正常系","基底型が追加されること","ClassDeclarationSyntax","bt=""BaseClass""","基底型付きClassDeclarationSyntax","中","基底型設定"
"79","UT-DVG-079","src/tools/DevGenerators/CompositionGenerator/Extensions.cs","Extensions","StripPrefix","正常系","プレフィックスが除去されること","プレフィックス付き文字列","s=""PrefixValue"", prefix=""Prefix""","Valueが返却される","低","文字列処理"
"80","UT-DVG-080","src/tools/DevGenerators/CompositionGenerator/Extensions.cs","Extensions","StripPrefix","正常系","プレフィックスがない場合元の文字列が返却されること","プレフィックスなし","s=""Value"", prefix=""Other""","Valueが返却される","低","文字列処理"
"81","UT-DVG-081","src/tools/DevGenerators/CompositionGenerator/Extensions.cs","Extensions","StripPrefix","境界値","空文字列の場合空文字列が返却されること","空文字列","s=""""","""""が返却される","低","空文字列処理"
"82","UT-DVG-082","src/tools/DevGenerators/CompositionGenerator/RoslynCompositionGeneratorSink.cs","RoslynCompositionGeneratorSink","Constructor","正常系","SourceProductionContextが保存されること","有効なContext","SourceProductionContext","_ctxに設定される","低","コンストラクタ"
"83","UT-DVG-083","src/tools/DevGenerators/CompositionGenerator/RoslynCompositionGeneratorSink.cs","RoslynCompositionGeneratorSink","AddSource","正常系","_ctx.AddSourceが呼び出されること","有効な入力","name=""Test.cs"", code=""...""","_ctx.AddSourceが呼ばれる","中","出力委譲"
"84","UT-DVG-084","src/tools/DevGenerators/CompositionGenerator/Generator.cs","Generator","Constructor","正常系","設定が正しく初期化されること","有効なGConfig","output, config","_objects, _brushes, _manualsが設定される","高","初期化"
"85","UT-DVG-085","src/tools/DevGenerators/CompositionGenerator/Generator.cs","Generator","Generate","正常系","全クラスに対してGenerateClassが呼ばれること","Classes複数","GConfig with Classes","各クラスに対してコード生成される","高","生成パイプライン"
"86","UT-DVG-086","src/tools/DevGenerators/CompositionGenerator/Generator.cs","Generator","Generate","正常系","GenerateAnimationsが呼ばれること","KeyFrameAnimationsあり","GConfig","アニメーションコードが生成される","高","生成パイプライン"
"87","UT-DVG-087","src/tools/DevGenerators/CompositionGenerator/Generator.cs","Generator","ServerName","正常系","Server接頭辞が付与されること","有効なクラス名","CompositionObject","ServerCompositionObjectが返却される","中","名前生成"
"88","UT-DVG-088","src/tools/DevGenerators/CompositionGenerator/Generator.cs","Generator","ServerName","境界値","nullの場合ServerObjectが返却されること","null","null","ServerObjectが返却される","低","null処理"
"89","UT-DVG-089","src/tools/DevGenerators/CompositionGenerator/Generator.cs","Generator","ChangesName","正常系","Changes接尾辞が付与されること","有効なクラス名","CompositionObject","CompositionObjectChangesが返却される","低","名前生成"
"90","UT-DVG-090","src/tools/DevGenerators/CompositionGenerator/Generator.cs","Generator","GenerateClass","正常系","クライアントクラスが生成されること","ServerOnly=false","GClass","{Name}.generated.csが出力される","高","クラス生成"
"91","UT-DVG-091","src/tools/DevGenerators/CompositionGenerator/Generator.cs","Generator","GenerateClass","正常系","サーバークラスが生成されること","任意のGClass","GClass","Server{Name}.generated.csが出力される","高","クラス生成"
"92","UT-DVG-092","src/tools/DevGenerators/CompositionGenerator/Generator.cs","Generator","GenerateClass","正常系","ChangedFieldsEnumが生成されること","プロパティあり","GClass with Properties","{Name}ChangedFields enumが生成される","中","enum生成"
"93","UT-DVG-093","src/tools/DevGenerators/CompositionGenerator/Generator.cs","Generator","GenerateClass","正常系","リストプロキシが追加されること","GList型","GList","IList<T>実装が追加される","高","リスト処理"
"94","UT-DVG-094","src/tools/DevGenerators/CompositionGenerator/Generator.cs","Generator","GenerateClientProperty","正常系","クライアントプロパティが生成されること","有効なプロパティ","GProperty","get/set付きプロパティが生成される","高","プロパティ生成"
"95","UT-DVG-095","src/tools/DevGenerators/CompositionGenerator/Generator.cs","Generator","GenerateClientProperty","正常系","変更通知メソッドが生成されること","有効なプロパティ","GProperty","On{Name}Changed, On{Name}Changingが生成される","中","イベント生成"
"96","UT-DVG-096","src/tools/DevGenerators/CompositionGenerator/Generator.cs","Generator","GenerateChangedFieldsEnum","正常系","プロパティごとにenum値が生成されること","プロパティ複数","GClass with Properties","各プロパティ用のenum値","中","enum生成"
"97","UT-DVG-097","src/tools/DevGenerators/CompositionGenerator/Generator.cs","Generator","GenerateChangedFieldsEnum","正常系","Animatedプロパティは追加フラグが生成されること","Animated=true","GProperty with Animated","{Name}と{Name}Animatedのenum値","中","アニメーションフラグ"
"98","UT-DVG-098","src/tools/DevGenerators/CompositionGenerator/Generator.cs","Generator","GenerateChangedFieldsEnum","正常系","プロパティ数に応じた基底型が選択されること","プロパティ数8以下","count <= 8","byte基底型","中","型選択"
"99","UT-DVG-099","src/tools/DevGenerators/CompositionGenerator/Generator.cs","Generator","GeneratePropertySetterAssignment","正常系","シリアライズ登録コードが生成されること","有効なプロパティ","GProperty","RegisterForSerialization()呼び出しが含まれる","中","シリアライズ"
"100","UT-DVG-100","src/tools/DevGenerators/CompositionGenerator/Generator.cs","Generator","GeneratePropertySetterAssignment","正常系","暗黙アニメーションチェックが生成されること","Animated=true","GProperty with Animated","ImplicitAnimationsチェックコードが含まれる","中","アニメーション処理"
