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