"No","テストID","対象ファイル","対象クラス/関数","対象メソッド","テスト観点","テストケース名","前提条件","入力値","期待結果","優先度","備考"
"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が返却される","低","共有判定"
