---
generated_at: 2026-03-01 12:00:00
metrics:
  claims_total: 209
  claims_with_evidence: 199
  claims_without_evidence: 10
confidence_derived: 0.95
---

# 根拠レポート：interactivity-win32 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.95**
  - 根拠あり：199 / 209、根拠なし：10
- 優先レビュー（高）
  1. **Window::CreateInstance のテストケース**：window.cpp が大規模ファイルのため、一部の内部処理パスの網羅性が不足している可能性
  2. **ConsoleInputThreadProcWin32 のテストケース**：メッセージループ内の複合条件分岐の網羅が困難
  3. **HandleKeyEvent の全分岐パス**：多数のキー組み合わせ条件があり、網羅的テストケースの完全性確認が必要

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。

- E-01: `src/interactivity/win32/Clipboard.cpp` - Clipboardクラスの実装
- E-02: `src/interactivity/win32/clipboard.hpp` - Clipboardクラスのヘッダ
- E-03: `src/interactivity/win32/ConsoleControl.cpp` - ConsoleControlクラスの実装
- E-04: `src/interactivity/win32/ConsoleControl.hpp` - ConsoleControlクラスのヘッダ
- E-05: `src/interactivity/win32/ConsoleInputThread.cpp` - ConsoleInputThreadの実装
- E-06: `src/interactivity/win32/ConsoleInputThread.hpp` - ConsoleInputThreadのヘッダ
- E-07: `src/interactivity/win32/SystemConfigurationProvider.cpp` - SystemConfigurationProviderの実装
- E-08: `src/interactivity/win32/SystemConfigurationProvider.hpp` - SystemConfigurationProviderのヘッダ
- E-09: `src/interactivity/win32/WindowMetrics.cpp` - WindowMetricsの実装
- E-10: `src/interactivity/win32/WindowMetrics.hpp` - WindowMetricsのヘッダ
- E-11: `src/interactivity/win32/consoleKeyInfo.cpp` - キー情報管理の実装
- E-12: `src/interactivity/win32/consoleKeyInfo.hpp` - キー情報管理のヘッダ
- E-13: `src/interactivity/win32/find.cpp` - 検索ダイアログの実装
- E-14: `src/interactivity/win32/find.h` - 検索ダイアログのヘッダ
- E-15: `src/interactivity/win32/icon.cpp` - Iconクラスの実装
- E-16: `src/interactivity/win32/icon.hpp` - Iconクラスのヘッダ
- E-17: `src/interactivity/win32/menu.cpp` - Menuクラスの実装
- E-18: `src/interactivity/win32/menu.hpp` - Menuクラスのヘッダ
- E-19: `src/interactivity/win32/screenInfoUiaProvider.cpp` - ScreenInfoUiaProviderの実装
- E-20: `src/interactivity/win32/screenInfoUiaProvider.hpp` - ScreenInfoUiaProviderのヘッダ
- E-21: `src/interactivity/win32/uiaTextRange.cpp` - UiaTextRangeの実装
- E-22: `src/interactivity/win32/uiaTextRange.hpp` - UiaTextRangeのヘッダ
- E-23: `src/interactivity/win32/windowUiaProvider.cpp` - WindowUiaProviderの実装
- E-24: `src/interactivity/win32/windowUiaProvider.hpp` - WindowUiaProviderのヘッダ
- E-25: `src/interactivity/win32/windowdpiapi.cpp` - WindowDpiApiの実装
- E-26: `src/interactivity/win32/windowdpiapi.hpp` - WindowDpiApiのヘッダ
- E-27: `src/interactivity/win32/windowio.cpp` - ウィンドウIO処理の実装
- E-28: `src/interactivity/win32/windowio.hpp` - ウィンドウIO処理のヘッダ
- E-29: `src/interactivity/win32/window.cpp` - Windowクラスの主要実装（ウィンドウ管理・イベント処理）
- E-30: `src/interactivity/win32/window.hpp` - Windowクラスのヘッダ
- E-31: `src/interactivity/win32/windowproc.cpp` - ウィンドウプロシージャの実装
- E-32: `src/interactivity/win32/CustomWindowMessages.h` - カスタムウィンドウメッセージ定義
- E-33: `src/interactivity/win32/resource.h` - リソース定義

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

### Clipboard (C-01 - C-36)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | CopyText: 有効テキストのクリップボードコピー | E-01 (L27-41) | ○ |
| C-02 | CopyText: null終端サイズでのコピー | E-01 (L40) | ○ |
| C-03 | CopyText: クリップボードオープン失敗時のエラーログ | E-01 (L29-34) | ○ |
| C-04 | CopyText: 空文字列コピー | E-01 (L40) | ○ |
| C-05 | Copy: フォーマット付きコピー | E-01 (L48-61) | ○ |
| C-06 | Copy: フォーマットなしコピー | E-01 (L48-61) | ○ |
| C-07 | Copy: レジストリCopyColor設定の上書き | E-01 (L53-54) | ○ |
| C-08 | Paste: CF_UNICODETEXTのペースト | E-01 (L69-95) | ○ |
| C-09 | Paste: CF_HDROPのペースト | E-01 (L97-108) | ○ |
| C-10 | Paste: クリップボードオープン失敗 | E-01 (L71-76) | ○ |
| C-11 | Paste: nullデータ処理 | E-01 (L83-86) | ○ |
| C-12 | PasteDrop: スペースなしパスのペースト | E-01 (L111-146) | ○ |
| C-13 | PasteDrop: スペース含むパスのクォート処理 | E-01 (L137-143) | ○ |
| C-14 | PasteDrop: 空HDROPの処理 | E-01 (L116-120) | ○ |
| C-15 | PasteDrop: 長さ不整合エラー | E-01 (L131-135) | ○ |
| C-16 | StringPaste: テキスト入力バッファ書き込み | E-01 (L161-191) | ○ |
| C-17 | StringPaste: ブラケットペーストモード | E-01 (L178-179) | ○ |
| C-18 | StringPaste: nullポインタ保護 | E-01 (L164-167) | ○ |
| C-19 | StringPaste: 選択・スクロールクリア | E-01 (L174-175) | ○ |
| C-20 | TextToKeyEvents: 通常テキスト変換 | E-01 (L254-323) | ○ |
| C-21 | TextToKeyEvents: ブラケットペースト制御シーケンス | E-01 (L270-273, L317-319) | ○ |
| C-22 | TextToKeyEvents: nullポインタ例外 | E-01 (L258) | ○ |
| C-23 | TextToKeyEvents: CR+LFのLFスキップ | E-01 (L282-284) | ○ |
| C-24 | TextToKeyEvents: VTモードでのLF->CR変換 | E-01 (L308-311) | ○ |
| C-25 | TextToKeyEvents: ブラケットペースト時のESCスキップ | E-01 (L286) | ○ |
| C-26 | TextToKeyEvents: null文字による終了 | E-01 (L293-296) | ○ |
| C-27 | FilterCharacterOnPaste: タブフィルタ | E-01 (L412-416) | ○ |
| C-28 | FilterCharacterOnPaste: NBSP変換 | E-01 (L419-424) | ○ |
| C-29 | FilterCharacterOnPaste: スマートクォート変換 | E-01 (L427-431) | ○ |
| C-30 | FilterCharacterOnPaste: ダッシュ変換 | E-01 (L434-438) | ○ |
| C-31 | FilterCharacterOnPaste: フィルタ無効時の動作 | E-01 (L406-407) | ○ |
| C-32 | StoreSelectionToClipboard: 選択テキストコピー | E-01 (L332-397) | ○ |
| C-33 | StoreSelectionToClipboard: HTML/RTFコピー | E-01 (L367-377, L392-396) | ○ |
| C-34 | StoreSelectionToClipboard: シングルラインモード | E-01 (L355-360) | ○ |
| C-35 | StoreSelectionToClipboard: 選択なし時の早期リターン | E-01 (L340-343) | ○ |
| C-36 | Instance: シングルトン | E-01 (L148-152) | ○ |

### ConsoleControl (C-37 - C-44)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-37 | Control: コンソール制御コマンド実行 | E-03 (L27-37) | ○ |
| C-38 | NotifyConsoleApplication: プロセス通知 | E-03 (L44-50) | ○ |
| C-39 | SetForeground: フォアグラウンド設定 | E-03 (L52-58) | ○ |
| C-40 | EndTask: タスク終了 | E-03 (L60-70) | ○ |
| C-41 | EndTask: ウィンドウなし時のnull hwnd | E-03 (L68) | ○ |
| C-42 | SetWindowOwner: オーナー設定 | E-03 (L72-79) | ○ |
| C-43 | EnterReaderModeHelper: リーダーモード | E-03 (L81-88) | ○ |
| C-44 | TranslateMessageEx: メッセージ変換 | E-03 (L90-97) | ○ |

### ConsoleInputThread (C-45 - C-46)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-45 | Start: スレッド正常起動 | E-05 (L14-34) | ○ |
| C-46 | Start: スレッド起動失敗 | E-05 (L26-28) | ○ |

### SystemConfigurationProvider (C-47 - C-57)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-47 | GetCaretBlinkTime | E-07 (L13-16) | ○ |
| C-48 | IsCaretBlinkingEnabled | E-07 (L18-21) | ○ |
| C-49 | GetNumberOfMouseButtons | E-07 (L23-26) | ○ |
| C-50 | GetCursorWidth: 正常取得 | E-07 (L28-40) | ○ |
| C-51 | GetCursorWidth: 失敗時デフォルト | E-07 (L36-39) | ○ |
| C-52 | GetNumberOfWheelScrollLines | E-07 (L42-48) | ○ |
| C-53 | GetNumberOfWheelScrollCharacters | E-07 (L50-56) | ○ |
| C-54 | GetSettingsFromLink: ショートカット設定 | E-07 (L58-221) | ○ |
| C-55 | GetSettingsFromLink: 通常起動 | E-07 (L74) | ○ |
| C-56 | GetSettingsFromLink: 無効コードページ | E-07 (L216-220) | ○ |
| C-57 | GetSettingsFromLink: アイコン情報設定 | E-07 (L205-209) | ○ |

### WindowMetrics (C-58 - C-71)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-58 | GetMinClientRectInPixels | E-09 (L26-41) | ○ |
| C-59 | GetMaxClientRectInPixels | E-09 (L51-60) | ○ |
| C-60 | GetMaxWindowRectInPixels (パラメータなし) | E-09 (L68-72) | ○ |
| C-61 | GetMaxWindowRectInPixels (指定矩形) | E-09 (L83-155) | ○ |
| C-62 | フルスクリーン時のモニタ全体 | E-09 (L125-129) | ○ |
| C-63 | モニタなしフォールバック | E-09 (L107-110) | ○ |
| C-64 | DPI情報出力 | E-09 (L140-152) | ○ |
| C-65 | AdjustWindowRectEx (DPI自動) | E-09 (L167-170) | ○ |
| C-66 | AdjustWindowRectEx (DPI指定) | E-09 (L182-185) | ○ |
| C-67 | ConvertClientRectToWindowRect | E-09 (L196-199) | ○ |
| C-68 | ConvertWindowRectToClientRect | E-09 (L210-213) | ○ |
| C-69 | UnadjustWindowRectEx | E-09 (L226-238) | ○ |
| C-70 | ConvertRect: ウィンドウスタイル変換 | E-09 (L248-285) | ○ |
| C-71 | ConvertRect: デフォルトスタイル変換 | E-09 (L260-264) | ○ |

### consoleKeyInfo (C-72 - C-79)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-72 | StoreKeyInfo: 格納 | E-11 (L25-47) | ○ |
| C-73 | StoreKeyInfo: 同一HWND上書き | E-11 (L31) | ○ |
| C-74 | StoreKeyInfo: バッファ満杯 | E-11 (L43-46) | ○ |
| C-75 | RetrieveKeyInfo: 取得 | E-11 (L49-74) | ○ |
| C-76 | RetrieveKeyInfo: FreeKeyInfo | E-11 (L65-68) | ○ |
| C-77 | RetrieveKeyInfo: 未登録HWND | E-11 (L71-73) | ○ |
| C-78 | ClearKeyInfo: 全エントリクリア | E-11 (L76-85) | ○ |
| C-79 | ClearKeyInfo: 存在しないHWND | E-11 (L76-85) | ○ |

### find (C-80 - C-85)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-80 | FindDialogProc: ダイアログ初期化 | E-13 (L32-38) | ○ |
| C-81 | FindDialogProc: 検索実行 | E-13 (L43-69) | ○ |
| C-82 | FindDialogProc: キャンセル | E-13 (L74-77) | ○ |
| C-83 | FindDialogProc: 検索ヒットなし | E-13 (L66-71) | ○ |
| C-84 | DoFind: ダイアログ表示 | E-13 (L89-103) | ○ |
| C-85 | DoFind: ウィンドウなし | E-13 (L95) | ○ |

### Icon (C-86 - C-95)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-86 | Instance: シングルトン | E-15 (L287-291) | ○ |
| C-87 | GetIcons: カスタムアイコン | E-15 (L300-318) | ○ |
| C-88 | GetIcons: デフォルトアイコン | E-15 (L300-318, L481-501) | ○ |
| C-89 | GetIcons: 部分取得 | E-15 (L304-307) | ○ |
| C-90 | SetIcons: アイコン設定 | E-15 (L327-358) | ○ |
| C-91 | SetIcons: リセット | E-15 (L327-358) | ○ |
| C-92 | SetIcons: ストレッチアイコン | E-15 (L346-349) | ○ |
| C-93 | LoadIconsFromPath: 読み込み成功 | E-15 (L368-384) | ○ |
| C-94 | LoadIconsFromPath: 読み込み失敗 | E-15 (L377-381) | ○ |
| C-95 | ApplyWindowMessageWorkaround | E-15 (L395-409) | ○ |

### Menu (C-96 - C-111)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-96 | CreateInstance: メニュー作成 | E-17 (L44-127) | ○ |
| C-97 | CreateInstance: メモリ不足 | E-17 (L55-56) | ○ |
| C-98 | Instance: インスタンス取得 | E-17 (L129-132) | ○ |
| C-99 | Initialize: アイコニック状態 | E-17 (L145-149) | ○ |
| C-100 | Initialize: 選択中のPaste無効化 | E-17 (L183-191) | ○ |
| C-101 | Initialize: Copy有効化 | E-17 (L194-197) | ○ |
| C-102 | Initialize: Copy無効化 | E-17 (L199-201) | ○ |
| C-103 | s_GetConsoleState: 状態取得 | E-17 (L296-382) | ○ |
| C-104 | s_GetConsoleState: タイトルコピー | E-17 (L341-346) | ○ |
| C-105 | s_GetConsoleState: 空タイトル | E-17 (L347-350) | ○ |
| C-106 | s_GetMenuHandle: ハンドル取得 | E-17 (L384-394) | ○ |
| C-107 | s_GetMenuHandle: インスタンスなし | E-17 (L386-393) | ○ |
| C-108 | s_PropertiesUpdate: プロパティ反映 | E-17 (L413-601) | ○ |
| C-109 | s_PropertiesUpdate: コードページ変更 | E-17 (L418-430) | ○ |
| C-110 | s_PropertiesUpdate: QuickEdit | E-17 (L523-530) | ○ |
| C-111 | s_PropertiesUpdate: WrapText | E-17 (L436) | ○ |

### ScreenInfoUiaProvider (C-112 - C-127)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-112 | RuntimeClassInitialize: 正常初期化 | E-19 (L15-23) | ○ |
| C-113 | RuntimeClassInitialize: null pUiaParent | E-19 (L18) | ○ |
| C-114 | RuntimeClassInitialize: null pData | E-19 (L19) | ○ |
| C-115 | Navigate: 親ナビゲーション | E-19 (L26-53) | ○ |
| C-116 | Navigate: その他の方向 | E-19 (L51) | ○ |
| C-117 | Navigate: null ppProvider | E-19 (L29) | ○ |
| C-118 | get_BoundingRectangle | E-19 (L55-68) | ○ |
| C-119 | get_FragmentRoot | E-19 (L70-88) | ○ |
| C-120 | get_FragmentRoot: null ppProvider | E-19 (L72) | ○ |
| C-121 | GetWindowHandle | E-19 (L90-93) | ○ |
| C-122 | GetSelectionRange | E-19 (L100-116) | ○ |
| C-123 | GetSelectionRange: null ppUtr | E-19 (L102) | ○ |
| C-124 | CreateTextRange: 退化レンジ | E-19 (L118-126) | ○ |
| C-125 | CreateTextRange: カーソル位置 | E-19 (L128-139) | ○ |
| C-126 | CreateTextRange: 指定範囲 | E-19 (L141-153) | ○ |
| C-127 | CreateTextRange: UiaPoint | E-19 (L155-166) | ○ |

### UiaTextRange (C-128 - C-136)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-128 | RuntimeClassInitialize: 退化レンジ | E-21 (L16-19) | ○ |
| C-129 | RuntimeClassInitialize: カーソル位置 | E-21 (L22-28) | ○ |
| C-130 | RuntimeClassInitialize: エンドポイント | E-21 (L31-39) | ○ |
| C-131 | RuntimeClassInitialize: UiaPoint | E-21 (L42-50) | ○ |
| C-132 | RuntimeClassInitialize: コピー | E-21 (L52-55) | ○ |
| C-133 | Clone | E-21 (L57-70) | ○ |
| C-134 | Clone: null ppRetVal | E-21 (L59) | ○ |
| C-135 | _TranslatePointToScreen | E-21 (L72-75) | ○ |
| C-136 | _TranslatePointFromScreen | E-21 (L77-80) | ○ |

### WindowUiaProvider (C-137 - C-153)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-137 | RuntimeClassInitialize | E-23 (L16-32) | ○ |
| C-138 | SetTextAreaFocus | E-23 (L39-42) | ○ |
| C-139 | get_ProviderOptions | E-23 (L48-55) | ○ |
| C-140 | get_ProviderOptions: null pOptions | E-23 (L50) | ○ |
| C-141 | GetPropertyValue: ControlType | E-23 (L80-84) | ○ |
| C-142 | GetPropertyValue: AutomationId | E-23 (L85-92) | ○ |
| C-143 | GetPropertyValue: 未知プロパティ | E-23 (L76) | ○ |
| C-144 | Navigate: FirstChild/LastChild | E-23 (L145-158) | ○ |
| C-145 | Navigate: Parent/Next/Previous | E-23 (L156) | ○ |
| C-146 | get_BoundingRectangle | E-23 (L170-190) | ○ |
| C-147 | get_BoundingRectangle: null pRect | E-23 (L172) | ○ |
| C-148 | ElementProviderFromPoint | E-23 (L219-228) | ○ |
| C-149 | GetFocus | E-23 (L230-234) | ○ |
| C-150 | GetWindowHandle: 有効 | E-23 (L238-248) | ○ |
| C-151 | GetWindowHandle: null baseWindow | E-23 (L240-247) | ○ |
| C-152 | _EnsureValidHwnd: 有効 | E-23 (L250-259) | ○ |
| C-153 | _EnsureValidHwnd: 無効 | E-23 (L255) | ○ |

### WindowDpiApi (C-154 - C-158)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-154 | SetProcessPerMonitorDpiAwareness | E-25 (L14-17) | ○ |
| C-155 | SetProcessDpiAwarenessContext | E-25 (L19-22) | ○ |
| C-156 | AdjustWindowRectExForDpi | E-25 (L55-86) | ○ |
| C-157 | GetDpiForWindow | E-25 (L88-115) | ○ |
| C-158 | GetSystemMetricsForDpi | E-25 (L117-144) | ○ |

### windowio - ヘルパー関数・イベントハンドラ (C-159 - C-188)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-159 | ConvertMouseButtonState: 左ボタン | E-27 (L31-47) | ○ |
| C-160 | ConvertMouseButtonState: 中ボタン | E-27 (L37-39) | ○ |
| C-161 | ConvertMouseButtonState: 右ボタン | E-27 (L40-43) | ○ |
| C-162 | ConvertMouseButtonState: 複合 | E-27 (L31-47) | ○ |
| C-163 | ConvertMouseButtonState: ボタンなし | E-27 (L31-47) | ○ |
| C-164 | SetConsoleWindowOwner: 有効プロセス | E-27 (L56-93) | ○ |
| C-165 | SetConsoleWindowOwner: nullプロセス(ルートあり) | E-27 (L70-72) | ○ |
| C-166 | SetConsoleWindowOwner: プロセスなし | E-27 (L84-88) | ○ |
| C-167 | HandleTerminalMouseEvent: VTモード | E-27 (L107-114) | ○ |
| C-168 | HandleTerminalMouseEvent: 非VTモード | E-27 (L107-114) | ○ |
| C-169 | HandleKeyEvent: 通常キー入力 | E-27 (L116-398) | ○ |
| C-170 | HandleKeyEvent: Ctrl+V ペースト | E-27 (L219-222) | ○ |
| C-171 | HandleKeyEvent: Ctrl+A 全選択 | E-27 (L233-235) | ○ |
| C-172 | HandleKeyEvent: Ctrl+F 検索 | E-27 (L236-239) | ○ |
| C-173 | HandleKeyEvent: F11 フルスクリーン | E-27 (L262-269) | ○ |
| C-174 | HandleKeyEvent: Shift+Insert ペースト | E-27 (L278-282) | ○ |
| C-175 | HandleKeyEvent: Ctrl+Shift+V ペースト | E-27 (L214-223) | ○ |
| C-176 | HandleKeyEvent: スキャンコード0フィルタ | E-27 (L160-172) | ○ |
| C-177 | HandleSysKeyEvent: Ctrl+Esc | E-27 (L418-423) | ○ |
| C-178 | HandleSysKeyEvent: Alt+F4 | E-27 (L425-429) | ○ |
| C-179 | HandleSysKeyEvent: Alt+Enter | E-27 (L445-454) | ○ |
| C-180 | HandleSysKeyEvent: Alt+Space | E-27 (L457-468) | ○ |
| C-181 | HandleMouseEvent: 左クリック選択開始 | E-27 (L652-666) | ○ |
| C-182 | HandleMouseEvent: Ctrl+ホイール フォントサイズ | E-27 (L633-646) | ○ |
| C-183 | HandleMouseEvent: Ctrl+Shift+ホイール 透明度 | E-27 (L638-641) | ○ |
| C-184 | HandleMouseEvent: 右クリックコピー | E-27 (L740-745) | ○ |
| C-185 | HandleMouseEvent: 右クリックペースト | E-27 (L746-748) | ○ |
| C-186 | HandleMouseEvent: ダブルクリック単語選択 | E-27 (L715-735) | ○ |
| C-187 | HandleMouseEvent: フォーカスなし | E-27 (L514-517) | ○ |
| C-188 | HandleMouseEvent: 座標クリップ | E-27 (L610-625) | ○ |

### Window (C-189 - C-209)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-189 | CreateInstance: ウィンドウ作成 | E-30 (L37-38) | △ |
| C-190 | GetWindowRect | E-30 (L44) | ○ |
| C-191 | GetWindowHandle | E-30 (L45) | ○ |
| C-192 | GetWindowOpacity | E-30 (L49) | ○ |
| C-193 | SetWindowOpacity | E-30 (L50) | ○ |
| C-194 | ChangeWindowOpacity: 正のデルタ | E-30 (L52) | △ |
| C-195 | ChangeWindowOpacity: 上限 | E-30 (L52) | △ |
| C-196 | ChangeWindowOpacity: 下限 | E-30 (L52) | △ |
| C-197 | IsInFullscreen | E-30 (L56) | ○ |
| C-198 | SetIsFullscreen: 有効化 | E-30 (L57) | △ |
| C-199 | SetIsFullscreen: 無効化 | E-30 (L57) | △ |
| C-200 | ToggleFullscreen | E-30 (L58) | △ |
| C-201 | UpdateWindowSize | E-30 (L69) | △ |
| C-202 | PostUpdateScrollBars | E-29 (L1002-1005) | ○ |
| C-203 | PostUpdateWindowSize: 成功 | E-29 (L983-995) | ○ |
| C-204 | PostUpdateWindowSize: 重複防止 | E-29 (L988-991) | ○ |
| C-205 | SendNotifyBeep | E-29 (L997-1000) | ○ |
| C-206 | _HandlePaint: 正常 | E-29 (L914-941) | ○ |
| C-207 | _HandlePaint: 無効ハンドル | E-29 (L917) | ○ |
| C-208 | _HandleDrop | E-29 (L952-957) | ○ |
| C-209 | UiaSetTextAreaFocus | E-30 (L91) | △ |

## 4) 不足情報（Unknown / Missing）
- **window.cppの一部メソッド実装詳細**: window.cppは非常に大きなファイル（1000行以上）であり、`ChangeWindowOpacity`、`SetIsFullscreen`、`ToggleFullscreen`、`UpdateWindowSize`、`CreateInstance`などの実装詳細はヘッダファイルからの推定に基づいている部分がある。これらのメソッドの実装がwindow.cppのwindowproc.cpp部分に存在する可能性がある。
  - 候補: window.cpp の全行精査 / windowproc.cpp の詳細解析 / 追加のソースファイル確認
- **CON_USERPRIVAPI_INDIRECT条件コンパイルのテスト**: ConsoleControlとWindowDpiApiはコンパイルフラグ（CON_USERPRIVAPI_INDIRECT / CON_DPIAPI_INDIRECT）による分岐がある。間接呼び出しパスのテストケースが十分でない可能性がある。
  - 候補: 各条件コンパイルフラグの有無それぞれのテストケース追加

## 5) リスクフラグ（レビュー観点）
- **リスク1（中リスク）**: Window クラスのフルスクリーン関連テスト（C-198, C-199, C-200）は、ヘッダ宣言のみからの推定であり、実装の複雑さ（モニタ座標保存・復元、最大化状態管理等）に対してテストケースが粗い可能性がある
- **リスク1（中リスク）**: HandleKeyEvent と HandleMouseEvent は非常に多くの条件分岐を持ち、全パスを網羅するには追加テストケースが必要な可能性がある
- **リスク0（低リスク）**: 静的ヘルパー関数（SnapIconSize、GetIconSize、CreateSmallerIcon、ConExtractIcons等）は icon.cpp 内のファイルスコープ関数であり、直接テスト対象としていないが、LoadIconsFromPath を通じて間接的にテストされる
- **リスク0（低リスク）**: precomp.cpp、precomp.h、resource.h はテスト対象外（プリコンパイルヘッダ・リソース定義のため）

## 6) レビュアーチェックリスト（最小）
- [ ] Clipboard のブラケットペーストモード関連テストケース（C-17, C-21, C-25）が実装と整合しているか確認
- [ ] FilterCharacterOnPaste のフィルタ対象文字が実装のswitch-case文と全て一致しているか確認
- [ ] HandleKeyEvent のCtrl/Shift/Alt組み合わせによる全分岐パスが網羅されているか確認
- [ ] HandleMouseEvent のVTモード/QuickEditモード/選択モードの全組み合わせが十分か確認
- [ ] Window クラスのフルスクリーン切り替え関連テスト（C-198-C-200）の実装詳細との整合性確認
- [ ] CON_USERPRIVAPI_INDIRECT / CON_DPIAPI_INDIRECT の条件コンパイルパスのテストケース追加要否判断
- [ ] s_PropertiesUpdate の全設定項目（フォント・カーソル・色テーブル・バッファサイズ等）のテストケース十分性確認
- [ ] SystemConfigurationProvider::GetSettingsFromLink の複雑なCOM初期化・ショートカットシリアル化パスのテストケース十分性確認
