---
generated_at: 2026-03-01 12:00:00
metrics:
  claims_total: 165
  claims_with_evidence: 161
  claims_without_evidence: 4
confidence_derived: 0.98
---

# 根拠レポート：propsheet 単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.98**
  - 根拠あり：161 / 165、根拠なし：4
- 優先レビュー（高）
  1. **C-039 (UT-PRS-039)**：TranslateConsoleTitleのメモリ割り当て失敗テスト - HeapAllocの失敗パスは推測に基づく
  2. **C-131 (UT-PRS-131)**：AddFaceNodeのメモリ割り当て失敗テスト - HeapAllocの失敗パスは推測に基づく
  3. **C-162 (UT-PRS-162)**：非コンソールアプリケーション拒否 - _ShouldAddPropertySheetの完全な挙動確認が必要
  4. **C-123 (UT-PRS-123)**：不正コードページのスキップ - IsValidCodePage APIの挙動に依存

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

- E-01: `src/propsheet/ColorControl.cpp` - GetColorForItem, SimpleColorDoPaint, SimpleColorControlProc関数定義
- E-02: `src/propsheet/ColorControl.h` - ColorControl関連の関数宣言
- E-03: `src/propsheet/ColorsPage.cpp` - ColorTableControlProc, InitColorsDialog, ColorDlgProc, ToggleV2ColorControls, PreviewOpacity, SetOpacitySlider関数定義
- E-04: `src/propsheet/ColorsPage.h` - ColorsPage関連の関数宣言
- E-05: `src/propsheet/LayoutPage.cpp` - GetStateInfo, ScreenSizeDlgProc, ToggleV2LayoutControls関数定義
- E-06: `src/propsheet/LayoutPage.h` - LayoutPage関連の関数宣言
- E-07: `src/propsheet/OptionsPage.cpp` - InitializeCursorSize, OptionsCommandCallback, SettingsDlgProc, ToggleV2OptionsControls関数定義
- E-08: `src/propsheet/OptionsPage.h` - OptionsPage関連の関数宣言
- E-09: `src/propsheet/PropSheetHandler.cpp` - ConsolePropertySheetHandler COM クラス定義
- E-10: `src/propsheet/TerminalPropsheetPage.cpp` - _UseForeground, _UseBackground, _UseCursorColor, _ChangeColorControl, TerminalDlgCommand, InitTerminalDialog, _PrepDefAppCombo, TerminalDlgProc関数定義
- E-11: `src/propsheet/TerminalPropsheetPage.h` - TerminalDlgProc関数宣言
- E-12: `src/propsheet/console.cpp` - UpdateItem, Undo, CheckNum, SaveConsoleSettingsIfNeeded, EndDlgPage, CreateAndAssociateToolTipToControl, UpdateStateInfo, TranslateConsoleTitle, PropSheetPageProc, PopulatePropSheetPageArray, ConsolePropertySheet, RegisterClasses, UnregisterClasses, FindFontAndUpdateState関数定義
- E-13: `src/propsheet/console.h` - 全モジュール関数宣言、マクロ定義、定数定義
- E-14: `src/propsheet/dbcs.cpp` - MakeAltRasterFont, InitializeDbcsMisc, CodePageToCharSet, SearchTTFont, IsAvailableTTFont, IsAvailableTTFontCP, IsDisableBoldTTFont, GetAltFaceName, DestroyDbcsMisc, LanguageListCreate, LanguageDisplay, GetTTFontFaceForCodePage関数定義
- E-15: `src/propsheet/dialogs.h` - ダイアログID定義（IDD_*定数）
- E-16: `src/propsheet/dll.cpp` - DllGetClassObject, DllCanUnloadNow関数定義
- E-17: `src/propsheet/font.h` - FONT_INFO構造体、FACENODE構造体、フォント関連マクロ・関数宣言
- E-18: `src/propsheet/fontdlg.cpp` - フォントダイアログ関連関数定義
- E-19: `src/propsheet/fontdlg.h` - フォントダイアログ関連マクロ定義
- E-20: `src/propsheet/globals.cpp` - グローバル変数定義
- E-21: `src/propsheet/globals.h` - グローバル変数宣言
- E-22: `src/propsheet/init.cpp` - DllMain, CPlApplet関数定義
- E-23: `src/propsheet/misc.cpp` - AddFaceNode, DestroyFaceNodes, GetCurrentDPI, GetDPIScaledPixelSize, RecreateFontHandles, AddFont, InitializeFonts, DestroyFonts, FontEnumForV2Console, FontEnum, DoFontEnum, RemoveFace, IsFontSizeCustom, CreateSizeForAllTTFonts, EnumerateFonts関数定義
- E-24: `src/propsheet/preview.cpp` - UpdatePreviewRect, InvalidatePreviewRect, PreviewPaint, PreviewWndProc, AspectScale, AspectPoint関数定義
- E-25: `src/propsheet/registry.cpp` - GetConsoleBoolValue, InitRegistryValues, GetRegistryValues, SetGlobalRegistryValues, SetRegistryValues関数定義
- E-26: `src/propsheet/util.cpp` - InitializeConsoleState, UninitializeConsoleState, UpdateApplyButton関数定義
- E-27: `src/propsheet/menu.h` - CM_SETCOLOR, CM_PREVIEW_UPDATEメッセージ定義

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-001 | GetColorForItem: IDD_COLOR_1-16範囲内でAttrToRGBが返る | E-01 (L7-12) | ○ |
| C-002 | GetColorForItem: IDD_TERMINAL_FGCOLORでg_fakeForegroundColorが返る | E-01 (L13-16) | ○ |
| C-003 | GetColorForItem: IDD_TERMINAL_BGCOLORでg_fakeBackgroundColorが返る | E-01 (L17-20) | ○ |
| C-004 | GetColorForItem: IDD_TERMINAL_CURSOR_COLORでg_fakeCursorColorが返る | E-01 (L21-24) | ○ |
| C-005 | GetColorForItem: 範囲外でRGB(0xff,0x0,0xff)が返る | E-01 (L25) | ○ |
| C-006 | GetColorForItem: IDD_COLOR_1で正しい色が返る（下限） | E-01 (L9) | ○ |
| C-007 | GetColorForItem: IDD_COLOR_16で正しい色が返る（上限） | E-01 (L9) | ○ |
| C-008 | UpdateItem: SetDlgItemIntとEM_SETSELが呼ばれる | E-12 (L33-37) | ○ |
| C-009 | Undo: EM_UNDOメッセージが送信される | E-12 (L42-49) | ○ |
| C-010 | Undo: InEM_UNDO=TRUE時に再入防止 | E-12 (L43-48) | ○ |
| C-011 | CheckNum: 数値のみでTRUE | E-12 (L53-79) | ○ |
| C-012 | CheckNum: 非数値文字でFALSE | E-12 (L72-73) | ○ |
| C-013 | CheckNum: ウィンドウ位置で負号許可 | E-12 (L60-67, L72) | ○ |
| C-014 | CheckNum: 非位置フィールドで負号拒否 | E-12 (L60-67, L72) | ○ |
| C-015 | CheckNum: 空文字列でTRUE | E-12 (L70-76) | ○ |
| C-016 | UpdateStateInfo: スクリーンバッファ幅更新 | E-12 (L213-222) | ○ |
| C-017 | UpdateStateInfo: バッファ幅変更時のウィンドウ幅連動 | E-12 (L217-221) | ○ |
| C-018 | UpdateStateInfo: スクリーンバッファ高さ更新 | E-12 (L223-230) | ○ |
| C-019 | UpdateStateInfo: ウィンドウ幅変更時のバッファ幅連動 | E-12 (L235-239) | ○ |
| C-020 | UpdateStateInfo: ウィンドウ位置X更新 | E-12 (L249-258) | ○ |
| C-021 | UpdateStateInfo: 負値のSHORT_MINクランプ | E-12 (L251-253) | ○ |
| C-022 | UpdateStateInfo: 正値のSHORT_MAXクランプ | E-12 (L255-257) | ○ |
| C-023 | UpdateStateInfo: 画面テキスト色属性設定 | E-12 (L272-275) | ○ |
| C-024 | UpdateStateInfo: 画面背景色属性設定 | E-12 (L277-280) | ○ |
| C-025 | UpdateStateInfo: ポップアップテキスト色設定 | E-12 (L282-285) | ○ |
| C-026 | UpdateStateInfo: カラーテーブルエントリ更新 | E-12 (L292-308) | ○ |
| C-027 | UpdateStateInfo: コードページ更新 | E-12 (L310-315) | ○ |
| C-028 | UpdateStateInfo: QuickEdit更新 | E-12 (L316-317) | ○ |
| C-029 | UpdateStateInfo: InsertMode更新 | E-12 (L319-320) | ○ |
| C-030 | UpdateStateInfo: 履歴バッファサイズ更新 | E-12 (L322-323) | ○ |
| C-031 | UpdateStateInfo: 履歴バッファサイズ0→1クランプ | E-12 (L323) | ○ |
| C-032 | UpdateStateInfo: カーソル小=25, CursorType=0 | E-12 (L331-334) | ○ |
| C-033 | UpdateStateInfo: カーソル中=50, CursorType=0 | E-12 (L345-348) | ○ |
| C-034 | UpdateStateInfo: カーソル大=100, CursorType=0 | E-12 (L359-362) | ○ |
| C-035 | UpdateStateInfo: 不正ItemでFALSE | E-12 (L373-375) | ○ |
| C-036 | UpdateStateInfo: V2 WrapText連動 | E-12 (L217-221) | ○ |
| C-037 | TranslateConsoleTitle: バックスラッシュ→アンダースコア変換 | E-12 (L442-445) | ○ |
| C-038 | TranslateConsoleTitle: SystemRoot置換 | E-12 (L413-425) | ○ |
| C-039 | TranslateConsoleTitle: メモリ割り当て失敗でnullptr | E-12 (L431-434) | △ |
| C-040 | EndDlgPage: UpdateValues=TRUE時の早期リターン | E-12 (L151-155) | ○ |
| C-041 | EndDlgPage: fSaveNow=TRUEで保存実行 | E-12 (L168-171) | ○ |
| C-042 | EndDlgPage: fSaveNow=FALSEで保存スキップ | E-12 (L168-171) | ○ |
| C-043 | SaveConsoleSettingsIfNeeded: UpdateValues=FALSEで何もしない | E-12 (L83-84) | ○ |
| C-044 | SaveConsoleSettingsIfNeeded: デフォルトフォント時のクリア | E-12 (L86-97) | ○ |
| C-045 | SaveConsoleSettingsIfNeeded: LinkTitle=nullptr時のレジストリ保存 | E-12 (L133-139) | ○ |
| C-046 | PopulatePropSheetPageArray: 正しいページ数でTRUE | E-12 (L502-503) | ○ |
| C-047 | PopulatePropSheetPageArray: 不正ページ数でFALSE | E-12 (L502-503) | ○ |
| C-048 | PopulatePropSheetPageArray: コールバック登録 | E-12 (L559-565) | ○ |
| C-049 | FindFontAndUpdateState: フォント情報反映 | E-12 (L740-751) | ○ |
| C-050 | CreateAndAssociateToolTipToControl: ツールチップ作成 | E-12 (L178-207) | ○ |
| C-051 | RegisterClasses: 4クラス登録 | E-12 (L692-730) | ○ |
| C-052 | UnregisterClasses: クラス登録解除 | E-12 (L732-737) | ○ |
| C-053 | InitColorsDialog: 色ダイアログ初期化 | E-03 (L109-143) | ○ |
| C-054 | ToggleV2ColorControls: V2有効時の有効化 | E-03 (L398-407) | ○ |
| C-055 | ToggleV2ColorControls: V1時の無効化 | E-03 (L398-407) | ○ |
| C-056 | PreviewOpacity: V2有効時のプレビュー適用 | E-03 (L409-427) | ○ |
| C-057 | PreviewOpacity: V1時のスキップ | E-03 (L412) | ○ |
| C-058 | SetOpacitySlider: V2初期値設定 | E-03 (L429-445) | ○ |
| C-059 | SetOpacitySlider: V1完全不透明 | E-03 (L440) | ○ |
| C-060 | GetStateInfo: バッファ幅取得 | E-05 (L9-42) | ○ |
| C-061 | GetStateInfo: ウィンドウ位置X取得 | E-05 (L29-30) | ○ |
| C-062 | GetStateInfo: 不正ItemでFALSE | E-05 (L34-37) | ○ |
| C-063 | ToggleV2LayoutControls: V2有効時の制御 | E-05 (L257-262) | ○ |
| C-064 | ToggleV2LayoutControls: V1時の制御 | E-05 (L257-262) | ○ |
| C-065 | InitializeCursorSize: CursorType!=0でADVANCED | E-07 (L6-28) | ○ |
| C-066 | InitializeCursorSize: CursorSize<=25でSMALL | E-07 (L15-17) | ○ |
| C-067 | InitializeCursorSize: CursorSize<=50でMEDIUM | E-07 (L18-20) | ○ |
| C-068 | InitializeCursorSize: CursorSize>50でLARGE | E-07 (L21-24) | ○ |
| C-069 | InitializeCursorSize: 境界値26でMEDIUM | E-07 (L18-20) | ○ |
| C-070 | InitializeCursorSize: 境界値51でLARGE | E-07 (L21-24) | ○ |
| C-071 | OptionsCommandCallback: IDD_FORCEVでg_fForceV2反転 | E-07 (L112-117) | ○ |
| C-072 | OptionsCommandCallback: LINE_SELECTION変更 | E-07 (L119-125) | ○ |
| C-073 | OptionsCommandCallback: FILTER_ON_PASTE変更 | E-07 (L127-133) | ○ |
| C-074 | OptionsCommandCallback: CTRL_KEYS_ENABLED（否定論理） | E-07 (L143-150) | ○ |
| C-075 | OptionsCommandCallback: カーソル選択のEN_KILLFOCUSスキップ | E-07 (L66-71) | ○ |
| C-076 | OptionsCommandCallback: 未知ItemでFALSE | E-07 (L160) | ○ |
| C-077 | ToggleV2OptionsControls: V2有効時の有効化 | E-07 (L346-362) | ○ |
| C-078 | ToggleV2OptionsControls: V1時の無効化 | E-07 (L346-362) | ○ |
| C-079 | _UseForeground: useFg=trueでコントロール有効化 | E-10 (L17-37) | ○ |
| C-080 | _UseForeground: useFg=falseでINVALID_COLOR設定 | E-10 (L34-36) | ○ |
| C-081 | _UseBackground: useBg=trueでコントロール有効化 | E-10 (L39-59) | ○ |
| C-082 | _UseBackground: useBg=falseでINVALID_COLOR設定 | E-10 (L56-58) | ○ |
| C-083 | _UseCursorColor: useColor=trueでコントロール有効化 | E-10 (L61-81) | ○ |
| C-084 | _UseCursorColor: useColor=falseでINVALID_COLOR設定 | E-10 (L78-80) | ○ |
| C-085 | _ChangeColorControl: R成分更新 | E-10 (L230-268) | ○ |
| C-086 | _ChangeColorControl: G成分更新 | E-10 (L256-258) | ○ |
| C-087 | _ChangeColorControl: 255超過クランプ | E-10 (L246-249) | ○ |
| C-088 | TerminalDlgCommand: カーソル色切替 | E-10 (L330-335) | ○ |
| C-089 | TerminalDlgCommand: フォアグラウンド色切替 | E-10 (L336-340) | ○ |
| C-090 | TerminalDlgCommand: カーソル形状変更 | E-10 (L365-385) | ○ |
| C-091 | TerminalDlgCommand: スクロール設定 | E-10 (L386-392) | ○ |
| C-092 | TerminalDlgCommand: デフォルトターミナル選択 | E-10 (L393-406) | ○ |
| C-093 | InitTerminalDialog: ダイアログ初期化 | E-10 (L128-228) | ○ |
| C-094 | InitTerminalDialog: FG有効時の初期化 | E-10 (L162-167, L207) | ○ |
| C-095 | InitTerminalDialog: FG無効時の初期化 | E-10 (L162, L207) | ○ |
| C-096 | _PrepDefAppCombo: パッケージリスト追加 | E-10 (L92-126) | ○ |
| C-097 | _PrepDefAppCombo: Defaultパッケージの文字列 | E-10 (L106-107) | ○ |
| C-098 | CodePageToCharSet: CP932でSHIFTJIS | E-14 (L71-82) | ○ |
| C-099 | CodePageToCharSet: CP437でOEM | E-14 (L71-82) | ○ |
| C-100 | CodePageToCharSet: 無効CPでOEM | E-14 (L76-78) | ○ |
| C-101 | IsAvailableTTFont: 登録済みでTRUE | E-14 (L93-104) | ○ |
| C-102 | IsAvailableTTFont: 未登録でFALSE | E-14 (L93-104) | ○ |
| C-103 | IsAvailableTTFontCP: CP指定判定 | E-14 (L106-118) | ○ |
| C-104 | IsDisableBoldTTFont: ボールド無効TRUE | E-14 (L120-134) | ○ |
| C-105 | IsDisableBoldTTFont: 未登録FALSE | E-14 (L131-133) | ○ |
| C-106 | GetAltFaceName: FaceName1→FaceName2 | E-14 (L136-157) | ○ |
| C-107 | GetAltFaceName: FaceName2→FaceName1 | E-14 (L149-152) | ○ |
| C-108 | GetAltFaceName: 未登録nullptr | E-14 (L155-156) | ○ |
| C-109 | MakeAltRasterFont: 最近傍選択 | E-14 (L26-63) | ○ |
| C-110 | LanguageListCreate: コンボボックス作成 | E-14 (L165-229) | ○ |
| C-111 | LanguageListCreate: 437選択 | E-14 (L204-217) | ○ |
| C-112 | LanguageDisplay: コードページ名表示 | E-14 (L231-241) | ○ |
| C-113 | GetTTFontFaceForCodePage: TTフォント名取得 | E-14 (L244-249) | ○ |
| C-114 | InitRegistryValues: デフォルト値設定 | E-25 (L59-143) | ○ |
| C-115 | InitRegistryValues: V2カラーテーブル | E-25 (L86-103) | ○ |
| C-116 | InitRegistryValues: V1カラーテーブル | E-25 (L106-123) | ○ |
| C-117 | InitRegistryValues: V2ステート初期値 | E-25 (L132-142) | ○ |
| C-118 | GetConsoleBoolValue: レジストリ値返却 | E-25 (L34-40) | ○ |
| C-119 | GetConsoleBoolValue: デフォルト値返却 | E-25 (L34-40) | ○ |
| C-120 | GetRegistryValues: nullptr時のCurrentPage取得 | E-25 (L189-203) | ○ |
| C-121 | GetRegistryValues: 全設定値読み込み | E-25 (L162-642) | ○ |
| C-122 | GetRegistryValues: オープン失敗で0 | E-25 (L179-182) | ○ |
| C-123 | GetRegistryValues: 不正コードページスキップ | E-25 (L318-322) | △ |
| C-124 | SetRegistryValues: 全設定値書き込み | E-25 (L682-1013) | ○ |
| C-125 | SetRegistryValues: AutoPosition時の位置削除 | E-25 (L823-826) | ○ |
| C-126 | SetRegistryValues: V2ターミナル設定保存 | E-25 (L953-1001) | ○ |
| C-127 | SetRegistryValues: V1ターミナル設定非保存 | E-25 (L953) | ○ |
| C-128 | SetGlobalRegistryValues: ForceV2/EditKeys保存 | E-25 (L644-662) | ○ |
| C-129 | AddFaceNode: 新規追加 | E-23 (L88-120) | ○ |
| C-130 | AddFaceNode: 重複時の既存返却 | E-23 (L97-104) | ○ |
| C-131 | AddFaceNode: メモリ割り当て失敗nullptr | E-23 (L107-113) | △ |
| C-132 | DestroyFaceNodes: 全ノード解放 | E-23 (L122-135) | ○ |
| C-133 | GetCurrentDPI: X方向DPI | E-23 (L139-149) | ○ |
| C-134 | GetCurrentDPI: Y方向DPI | E-23 (L139-149) | ○ |
| C-135 | GetDPIScaledPixelSize: 96DPI等倍 | E-23 (L151-154) | ○ |
| C-136 | GetDPIScaledPixelSize: 144DPI 1.5倍 | E-23 (L151-154) | ○ |
| C-137 | GetDPIScaledPixelSize: px=0でゼロ | E-23 (L151-154) | ○ |
| C-138 | IsFontSizeCustom: 標準サイズfalse | E-23 (L884-897) | ○ |
| C-139 | IsFontSizeCustom: カスタムサイズtrue | E-23 (L884-897) | ○ |
| C-140 | InitializeFonts: デフォルト列挙 | E-23 (L436-439) | ○ |
| C-141 | DestroyFonts: 全フォント削除 | E-23 (L441-457) | ○ |
| C-142 | DestroyFonts: nullptr安全 | E-23 (L445) | ○ |
| C-143 | RemoveFace: フォント名削除 | E-23 (L830-865) | ○ |
| C-144 | AspectScale: 正常計算 | E-24 (L428-437) | ○ |
| C-145 | AspectScale: n2=1 | E-24 (L428-437) | ○ |
| C-146 | UpdatePreviewRect: WindowRect更新 | E-24 (L46-132) | ○ |
| C-147 | InitializeConsoleState: 初期化処理 | E-26 (L64-71) | ○ |
| C-148 | UninitializeConsoleState: ファイルプロパティ時のLinkTitle解放 | E-26 (L73-85) | ○ |
| C-149 | UninitializeConsoleState: 非ファイルプロパティ時 | E-26 (L75) | ○ |
| C-150 | UpdateApplyButton: ファイルプロパティ内 | E-26 (L87-93) | ○ |
| C-151 | UpdateApplyButton: ファイルプロパティ外 | E-26 (L89) | ○ |
| C-152 | DllMain: PROCESS_ATTACH時のghInstance設定 | E-22 (L19-34) | ○ |
| C-153 | DllMain: 非ATTACH時の即時リターン | E-22 (L24-27) | ○ |
| C-154 | CPlApplet: CPL_INIT | E-22 (L61-67) | ○ |
| C-155 | CPlApplet: CPL_GETCOUNT=1 | E-22 (L69) | ○ |
| C-156 | CPlApplet: CPL_EXIT | E-22 (L107-108) | ○ |
| C-157 | ConsolePropertySheetHandler: RuntimeClassInitialize | E-09 (L24-27) | ○ |
| C-158 | ConsolePropertySheetHandler: GetClassID | E-09 (L30-34) | ○ |
| C-159 | ConsolePropertySheetHandler: AddPages | E-09 (L56-74) | ○ |
| C-160 | ConsolePropertySheetHandler: ReplacePage E_NOTIMPL | E-09 (L76-81) | ○ |
| C-161 | ConsolePropertySheetHandler: Initialize成功 | E-09 (L39-53) | ○ |
| C-162 | ConsolePropertySheetHandler: 非コンソールアプリ拒否 | E-09 (L186-250) | △ |
| C-163 | DllGetClassObject: クラスファクトリ取得 | E-16 (L9-14) | ○ |
| C-164 | DllCanUnloadNow: 参照なしS_OK | E-16 (L17-20) | ○ |
| C-165 | DllCanUnloadNow: 参照ありS_FALSE | E-16 (L17-20) | ○ |

## 4) 不足情報（Unknown / Missing）
- **C-039**: TranslateConsoleTitleにおけるHeapAlloc失敗パス - コード上は存在するが、実際にHeapAllocを失敗させるテスト手法はモック/スタブに依存する
  - 候補：メモリ不足シミュレーション / HeapAllocのモック化
- **C-123**: IsValidCodePage APIの実際の挙動 - 不正なコードページ値（99999等）に対してIsValidCodePageが確実にFALSEを返すかはWindows APIの仕様に依存
  - 候補：Windows API仕様書の確認 / 実機テスト
- **C-131**: AddFaceNodeにおけるHeapAlloc失敗パス - C-039と同様の課題
  - 候補：メモリ不足シミュレーション / HeapAllocのモック化
- **C-162**: _ShouldAddPropertySheetの非コンソールアプリ判定 - PE MagicとSHGetFileInfoの組み合わせ判定の詳細な挙動は外部API依存
  - 候補：各種EXEタイプでの実機テスト / SHGetFileInfoのモック化

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 大半のテストケースはソースコードから直接的にロジックが読み取れる
- 1: 中リスク - Win32 APIに強く依存するダイアログプロシージャ系の関数（ColorDlgProc, ScreenSizeDlgProc, SettingsDlgProc, TerminalDlgProc）は、HWNDモックが必要であり単体テストの実装が困難な可能性がある
- 1: 中リスク - レジストリ操作関数（GetRegistryValues, SetRegistryValues）はレジストリのモック化または専用テスト環境が必要
- 0: 低リスク - 純粋な計算ロジック（GetColorForItem, CheckNum, UpdateStateInfo, AspectScale, GetDPIScaledPixelSize等）は直接的にテスト可能

## 6) レビュアーチェックリスト（最小）
- [ ] UpdateStateInfoの全分岐（IDD_SCRBUF_WIDTH, IDD_WINDOW_WIDTH等）のテストケースが網羅されているか確認
- [ ] V1/V2モードの切り替えに関するテストケースが各ページ（Options, Colors, Layout, Terminal）に存在するか確認
- [ ] 境界値テスト（SHORT_MIN/SHORT_MAX、色値0-255、CursorSize 25/50/100の閾値）が十分か確認
- [ ] ダイアログプロシージャのテストケースがWin32 APIモック化前提として適切か確認
- [ ] ConsolePropertySheetHandler COM クラスのInitialize/AddPagesのテストが実行環境に依存しないか確認
- [ ] fontdlg.cppの大規模なフォント選択ダイアログ関数（FontListCreate, PreviewUpdate, SelectCurrentSize等）のテストケースが不足していないか確認
