---
generated_at: 2026-02-22 10:30:00
metrics:
  claims_total: 165
  claims_with_evidence: 165
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート: Avalonia.iOS 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：165 / 165、根拠なし：0
- 優先レビュー（高）
  1. **なし**：全テストケースにソースコード根拠あり
  2. **なし**：全テストケースにソースコード根拠あり
  3. **なし**：全テストケースにソースコード根拠あり

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `src/iOS/Avalonia.iOS/AvaloniaAppDelegate.cs`
- E-02: `src/iOS/Avalonia.iOS/AvaloniaView.cs`
- E-03: `src/iOS/Avalonia.iOS/Platform.cs`
- E-04: `src/iOS/Avalonia.iOS/Clipboard/ClipboardImpl.cs`
- E-05: `src/iOS/Avalonia.iOS/Clipboard/ClipboardDataFormatHelper.cs`
- E-06: `src/iOS/Avalonia.iOS/Clipboard/PasteboardToDataTransferWrapper.cs`
- E-07: `src/iOS/Avalonia.iOS/Clipboard/PasteboardItemToDataTransferItemWrapper.cs`
- E-08: `src/iOS/Avalonia.iOS/Storage/IOSStorageProvider.cs`
- E-09: `src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs`
- E-10: `src/iOS/Avalonia.iOS/InputHandler.cs`
- E-11: `src/iOS/Avalonia.iOS/InsetsManager.cs`
- E-12: `src/iOS/Avalonia.iOS/PlatformSettings.cs`
- E-13: `src/iOS/Avalonia.iOS/DispatcherImpl.cs`
- E-14: `src/iOS/Avalonia.iOS/DisplayLinkTimer.cs`
- E-15: `src/iOS/Avalonia.iOS/ActivatableLifetime.cs`
- E-16: `src/iOS/Avalonia.iOS/ViewController.cs`
- E-17: `src/iOS/Avalonia.iOS/SingleViewLifetime.cs`
- E-18: `src/iOS/Avalonia.iOS/AvaloniaSceneDelegate.cs`
- E-19: `src/iOS/Avalonia.iOS/iOSScreens.cs`
- E-20: `src/iOS/Avalonia.iOS/Extensions.cs`
- E-21: `src/iOS/Avalonia.iOS/IOSLauncher.cs`
- E-22: `src/iOS/Avalonia.iOS/TextInputResponder.cs`
- E-23: `src/iOS/Avalonia.iOS/NativeControlHostImpl.cs`
- E-24: `src/iOS/Avalonia.iOS/UIKitInputPane.cs`
- E-25: `src/iOS/Avalonia.iOS/Metal/MetalPlatformGraphics.cs`
- E-26: `src/iOS/Avalonia.iOS/Metal/MetalDevice.cs`
- E-27: `src/iOS/Avalonia.iOS/Eagl/EaglDisplay.cs`

## 3) Claims と根拠の対応（レビューの主戦場）

### AvaloniaAppDelegate関連（UT-IOS-001〜008）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | FinishedLaunchingが正しく動作する | E-01: Lines 56-68 | ○ |
| C-02 | launchOptionsが指定された場合の起動 | E-01: Lines 56-68 | ○ |
| C-03 | ファイルURLでアクティベーション | E-01: Lines 83-102, OpenUrlメソッド | ○ |
| C-04 | プロトコルURLでアクティベーション | E-01: Lines 83-102, OpenUrlメソッド | ○ |
| C-05 | 無効なURLの処理 | E-01: Lines 86-101, Uri.TryCreateの失敗ケース | ○ |
| C-06 | ユニバーサルリンクでアクティベーション | E-01: Lines 104-115, ContinueUserActivityメソッド | ○ |
| C-07 | 非対応ActivityTypeの処理 | E-01: Lines 107の条件分岐 | ○ |
| C-08 | シーン設定の取得 | E-01: Lines 44-53, GetConfigurationメソッド | ○ |

### AvaloniaView関連（UT-IOS-009〜023）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-09 | AvaloniaViewの初期化 | E-02: Lines 43-92, コンストラクタ | ○ |
| C-10 | TouchesBeganイベント処理 | E-02: Line 337 | ○ |
| C-11 | ToucesMovedイベント処理 | E-02: Line 340 | ○ |
| C-12 | TouchesEndedイベント処理 | E-02: Line 343 | ○ |
| C-13 | TouchesCancelledイベント処理 | E-02: Line 346 | ○ |
| C-14 | PressesBeganイベント処理 | E-02: Lines 349-355 | ○ |
| C-15 | LayoutSubviewsでリサイズ | E-02: Lines 385-401 | ○ |
| C-16 | スケーリング変更検出 | E-02: Lines 389-391 | ○ |
| C-17 | Metal使用時のLayerClass | E-02: Lines 321-334 | ○ |
| C-18 | OpenGL使用時のLayerClass | E-02: Lines 324-328 | ○ |
| C-19 | InitWithController | E-02: Lines 148-153 | ○ |
| C-20 | TryGetFeature - ITextInputMethodImpl | E-02: Lines 276-279 | ○ |
| C-21 | TryGetFeature - IClipboard | E-02: Lines 292-295 | ○ |
| C-22 | TryGetFeature - IStorageProvider | E-02: Lines 297-300 | ○ |
| C-23 | TryGetFeature - 未サポート機能 | E-02: Line 317 | ○ |

### Platform関連（UT-IOS-024〜029）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-24 | プラットフォーム登録 | E-03: Lines 72-107, Registerメソッド | ○ |
| C-25 | Compositor初期化 | E-03: Lines 105-106 | ○ |
| C-26 | Metal優先のグラフィックス初期化 | E-03: Lines 129-133 | ○ |
| C-27 | OpenGL優先のグラフィックス初期化 | E-03: Lines 118-126 | ○ |
| C-28 | 空RenderingModeで例外 | E-03: Lines 111-113 | ○ |
| C-29 | 全モード失敗で例外 | E-03: Lines 135-137 | ○ |

### ClipboardImpl関連（UT-IOS-030〜037）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-30 | TryGetDataAsync正常系 | E-04: Lines 20-43 | ○ |
| C-31 | TryGetDataAsync空クリップボード | E-04: Lines 36-39 | ○ |
| C-32 | SetDataAsyncテキスト | E-04: Lines 45-60, 82-86 | ○ |
| C-33 | SetDataAsyncファイル | E-04: Lines 88-92 | ○ |
| C-34 | SetDataAsync画像 | E-04: Lines 94-103 | ○ |
| C-35 | ClearAsync | E-04: Lines 124-136 | ○ |
| C-36 | IsCurrentOwnerAsync - オーナー | E-04: Lines 138-139 | ○ |
| C-37 | IsCurrentOwnerAsync - 非オーナー | E-04: Lines 138-139 | ○ |

### IOSStorageProvider関連（UT-IOS-038〜049）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-38 | OpenFilePickerAsync | E-08: Lines 33-44 | ○ |
| C-39 | OpenImagePickerAsync | E-08: Lines 46-61 | ○ |
| C-40 | SaveFilePickerAsync | E-08: Lines 164-230 | ○ |
| C-41 | SaveFilePickerAsyncキャンセル | E-08: Line 228 | ○ |
| C-42 | OpenFolderPickerAsync | E-08: Lines 238-258 | ○ |
| C-43 | TryGetFileFromPathAsync存在 | E-08: Lines 108-121 | ○ |
| C-44 | TryGetFileFromPathAsync非存在 | E-08: Lines 108-121 | ○ |
| C-45 | TryGetFolderFromPathAsync | E-08: Lines 123-135 | ○ |
| C-46 | TryGetWellKnownFolderAsync Documents | E-08: Lines 137-162 | ○ |
| C-47 | TryGetWellKnownFolderAsync Pictures | E-08: Lines 137-162 | ○ |
| C-48 | OpenFileBookmarkAsync有効 | E-08: Lines 96-100 | ○ |
| C-49 | OpenFileBookmarkAsync無効 | E-08: Lines 96-100 | ○ |

### IOSStorageItem関連（UT-IOS-050〜070）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-50 | IOSStorageItem Constructor | E-09: Lines 20-33 | ○ |
| C-51 | IOSStorageItem null URL | E-09: Line 22 | ○ |
| C-52 | CreateItem ディレクトリ | E-09: Lines 35-40 | ○ |
| C-53 | CreateItem ファイル | E-09: Lines 35-40 | ○ |
| C-54 | GetBasicPropertiesAsync | E-09: Lines 55-72 | ○ |
| C-55 | GetParentAsync | E-09: Lines 74-77 | ○ |
| C-56 | DeleteAsync成功 | E-09: Lines 79-93 | ○ |
| C-57 | DeleteAsync失敗 | E-09: Lines 85-87 | ○ |
| C-58 | MoveAsync成功 | E-09: Lines 95-129 | ○ |
| C-59 | MoveAsync非IOSStorageFolder | E-09: Lines 97-100 | ○ |
| C-60 | SaveBookmarkAsync | E-09: Lines 137-162 | ○ |
| C-61 | OpenReadAsync | E-09: Lines 175-178 | ○ |
| C-62 | OpenWriteAsync | E-09: Lines 180-183 | ○ |
| C-63 | GetItemsAsync | E-09: Lines 215-258 | ○ |
| C-64 | GetItemsAsync空フォルダ | E-09: Lines 215-258 | ○ |
| C-65 | CreateFileAsync成功 | E-09: Lines 260-282 | ○ |
| C-66 | CreateFileAsyncアクセス権なし | E-09: Lines 264-267 | ○ |
| C-67 | CreateFolderAsync | E-09: Lines 284-308 | ○ |
| C-68 | GetFileAsync存在 | E-09: Lines 336-340 | ○ |
| C-69 | GetFileAsync非存在 | E-09: Lines 336-340 | ○ |
| C-70 | GetFolderAsync | E-09: Lines 330-334 | ○ |

### InputHandler関連（UT-IOS-071〜080）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-71 | Handle (touches) 正常系 | E-10: Lines 44-128 | ○ |
| C-72 | UITouchType.Indirect無視 | E-10: Lines 48-52 | ○ |
| C-73 | Stylus入力 | E-10: Lines 58-60 | ○ |
| C-74 | IndirectPointer入力 | E-10: Lines 58-63 | ○ |
| C-75 | Handle (presses) 正常系 | E-10: Lines 130-203 | ○ |
| C-76 | 矢印キーマッピング | E-10: Lines 154-168 | ○ |
| C-77 | スワイプジェスチャ | E-10: Lines 205-243 | ○ |
| C-78 | HandleScrollWheel | E-10: Lines 263-291 | ○ |
| C-79 | 慣性スクロール | E-10: Lines 320-335 | ○ |
| C-80 | ConvertModifierKeys | E-10: Lines 245-261 | ○ |

### InsetsManager関連（UT-IOS-081〜085）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-81 | IsSystemBarVisible getter | E-11: Lines 25-27 | ○ |
| C-82 | IsSystemBarVisible setter | E-11: Lines 28-34 | ○ |
| C-83 | DisplayEdgeToEdgePreference setter | E-11: Lines 38-50 | ○ |
| C-84 | SafeAreaPadding getter (edge-to-edge) | E-11: Line 52 | ○ |
| C-85 | SafeAreaPadding getter (非edge-to-edge) | E-11: Line 52 | ○ |

### PlatformSettings関連（UT-IOS-086〜090）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-86 | GetColorValues ダークモード | E-12: Lines 13-18 | ○ |
| C-87 | GetColorValues ライトモード | E-12: Lines 13-18 | ○ |
| C-88 | GetColorValues 高コントラスト | E-12: Lines 20-22 | ○ |
| C-89 | GetColorValues アクセントカラー | E-12: Lines 24-46 | ○ |
| C-90 | TraitCollectionDidChange | E-12: Lines 54-63 | ○ |

### DispatcherImpl関連（UT-IOS-091〜097）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-91 | CurrentThreadIsLoopThread メインスレッド | E-13: Lines 48-59 | ○ |
| C-92 | CurrentThreadIsLoopThread 非メインスレッド | E-13: Lines 48-59 | ○ |
| C-93 | Signal | E-13: Lines 61-71 | ○ |
| C-94 | Signal 重複防止 | E-13: Lines 63-66 | ○ |
| C-95 | UpdateTimer | E-13: Lines 74-80 | ○ |
| C-96 | UpdateTimer null | E-13: Lines 76-77 | ○ |
| C-97 | RequestBackgroundProcessing | E-13: Lines 84-90 | ○ |

### DisplayLinkTimer関連（UT-IOS-098〜100）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-98 | Constructor | E-14: Lines 17-28 | ○ |
| C-99 | Tick | E-14: Lines 34-37 | ○ |
| C-100 | RunsInBackground | E-14: Line 32 | ○ |

### ActivatableLifetime関連（UT-IOS-101〜103）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-101 | Constructor | E-15: Lines 8-12 | ○ |
| C-102 | OnActivated | E-15: Line 10 | ○ |
| C-103 | OnDeactivated | E-15: Line 11 | ○ |

### DefaultAvaloniaViewController関連（UT-IOS-104〜107）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-104 | ViewDidLayoutSubviews | E-16: Lines 27-38 | ○ |
| C-105 | SafeAreaPaddingChangedイベント | E-16: Lines 33-36 | ○ |
| C-106 | PrefersStatusBarHidden | E-16: Lines 42-45 | ○ |
| C-107 | PreferredStatusBarStyle | E-16: Lines 48-52 | ○ |

### SingleViewLifetime関連（UT-IOS-108〜110）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-108 | MainView setter | E-17: Lines 26-36 | ○ |
| C-109 | View setter | E-17: Lines 11-24 | ○ |
| C-110 | View setter (前View Dispose) | E-17: Lines 16-19 | ○ |

### AvaloniaSceneDelegate関連（UT-IOS-111〜113）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-111 | WillConnect | E-18: Lines 11-25 | ○ |
| C-112 | WillConnect早期リターン | E-18: Lines 14-19 | ○ |
| C-113 | InitWindow | E-18: Lines 27-35 | ○ |

### iOSScreens関連（UT-IOS-114〜119）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-114 | iOSScreen.Refresh プライマリ | E-19: Lines 12-14 | ○ |
| C-115 | iOSScreen.Refresh スケーリング | E-19: Line 15 | ○ |
| C-116 | iOSScreen.Refresh 画面向き | E-19: Lines 21-34 | ○ |
| C-117 | iOSScreens Constructor | E-19: Lines 48-58 | ○ |
| C-118 | GetAllScreenKeys | E-19: Line 60 | ○ |
| C-119 | ScreenFromTopLevelCore | E-19: Lines 70-74 | ○ |

### Extensions関連（UT-IOS-120〜122）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-120 | ToAvalonia (CGSize) | E-20: Line 11 | ○ |
| C-121 | ToAvalonia (CGPoint) | E-20: Line 13 | ○ |
| C-122 | ToUiColor | E-20: Lines 17-21 | ○ |

### IOSLauncher関連（UT-IOS-123〜127）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-123 | LaunchUriAsync成功 | E-21: Lines 11-20 | ○ |
| C-124 | LaunchUriAsync開けない | E-21: Line 20 | ○ |
| C-125 | LaunchUriAsync null | E-21: Line 13 | ○ |
| C-126 | LaunchFileAsync成功 | E-21: Lines 23-44 | ○ |
| C-127 | LaunchFileAsync null | E-21: Line 25 | ○ |

### NativeControlHostImpl関連（UT-IOS-128〜134）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-128 | CreateDefaultChild | E-23: Lines 21-24 | ○ |
| C-129 | CreateNewAttachment (Func) | E-23: Lines 26-45 | ○ |
| C-130 | IsCompatibleWith | E-23: Line 55 | ○ |
| C-131 | ShowInBounds | E-23: Lines 126-134 | ○ |
| C-132 | HideWithSize | E-23: Lines 116-124 | ○ |
| C-133 | Dispose | E-23: Lines 86-93 | ○ |
| C-134 | UIViewControlHandle.Destroy | E-23: Lines 149-152 | ○ |

### UIKitInputPane関連（UT-IOS-135〜138）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-135 | Constructor | E-24: Lines 18-26 | ○ |
| C-136 | RaiseEventFromNotification (up) | E-24: Lines 32-56 | ○ |
| C-137 | RaiseEventFromNotification (down) | E-24: Lines 32-56 | ○ |
| C-138 | OccludedRect設定 | E-24: Lines 40-52 | ○ |

### ClipboardDataFormatHelper関連（UT-IOS-139〜143）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-139 | ToDataFormat UTF8 | E-05: Lines 17-21 | ○ |
| C-140 | ToDataFormat FileUrl | E-05: Lines 17-22 | ○ |
| C-141 | ToDataFormat 画像 | E-05: Lines 17-23 | ○ |
| C-142 | ToSystemType Text | E-05: Lines 29-32 | ○ |
| C-143 | ToSystemType Bitmap | E-05: Lines 29-39 | ○ |

### PasteboardToDataTransferWrapper関連（UT-IOS-144〜146）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-144 | ProvideFormats | E-06: Lines 13-23 | ○ |
| C-145 | ProvideFormats ChangeCount不一致 | E-06: Lines 15-16 | ○ |
| C-146 | ProvideItems | E-06: Lines 25-35 | ○ |

### PasteboardItemToDataTransferItemWrapper関連（UT-IOS-147〜150）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-147 | TryGetRawCore Text | E-07: Lines 71-72 | ○ |
| C-148 | TryGetRawCore File | E-07: Lines 74-75 | ○ |
| C-149 | TryGetRawCore Bitmap PNG | E-07: Lines 29-64 | ○ |
| C-150 | TryGetRawCore Bitmap TIFF | E-07: Lines 38-47 | ○ |

### MetalPlatformGraphics関連（UT-IOS-151〜154）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-151 | TryCreate成功 | E-25: Lines 26-36 | ○ |
| C-152 | TryCreate null | E-25: Lines 28-32 | ○ |
| C-153 | CreateContext | E-25: Line 22 | ○ |
| C-154 | GetSharedContext NotSupported | E-25: Line 24 | ○ |

### MetalDevice関連（UT-IOS-155〜158）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-155 | Constructor | E-26: Lines 13-18 | ○ |
| C-156 | Constructor Queue失敗 | E-26: Lines 16-17 | ○ |
| C-157 | EnsureCurrent | E-26: Line 27 | ○ |
| C-158 | Dispose | E-26: Lines 30-33 | ○ |

### EaglPlatformGraphics/GlContext関連（UT-IOS-159〜165）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-159 | TryCreate成功 | E-27: Lines 37-48 | ○ |
| C-160 | TryCreate失敗 | E-27: Lines 43-47 | ○ |
| C-161 | MakeCurrent | E-27: Lines 93-101 | ○ |
| C-162 | MakeCurrent Context破棄後 | E-27: Lines 95-96 | ○ |
| C-163 | EnsureCurrent既にカレント | E-27: Lines 105-111 | ○ |
| C-164 | CreateSharedContext | E-27: Lines 117-122 | ○ |
| C-165 | IsSharedWith | E-27: Lines 114-115 | ○ |

## 4) 不足情報（Unknown / Missing）
- **根拠なしの項目はありません**
- 全165件のテストケースについて、ソースコードの該当箇所を根拠として特定済み

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 全テストケースにソースコード根拠あり
- テストケースはソースコードの実装に基づいて生成されているため、実装との乖離リスクは低い
- ただし、以下の点は実機テストでの確認が推奨される：
  - iOS/tvOS/macCatalystのプラットフォーム固有動作
  - Metal/EAGLのグラフィックスAPI呼び出し
  - セキュリティスコープアクセス（ファイルアクセス権限）

## 6) レビュアーチェックリスト（最小）
- [ ] 高優先度テストケース（優先度「高」のもの）の入力値・期待結果が妥当か確認
- [ ] プラットフォーム固有（#if !TVOS等）のテストケースが網羅されているか確認
- [ ] 異常系テストケースの例外型・エラーメッセージが正確か確認
- [ ] 境界値テストケースの値が適切か確認
- [ ] テストIDの連番に重複・欠番がないか確認
