"No","テストID","対象ファイル","対象クラス/関数","対象メソッド","テスト観点","テストケース名","前提条件","入力値","期待結果","優先度","備考"
"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は呼ばれない","中","転送エラー"
