---
generated_at: 2026-02-22 14:30:00
metrics:
  claims_total: 96
  claims_with_evidence: 96
  claims_without_evidence: 0
confidence_derived: 1.00
---

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

## 本レポートについて

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

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

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

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

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

---

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

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

- E-01: `backends/imgui_impl_allegro5.cpp` (行1-699)
- E-02: `backends/imgui_impl_allegro5.h` (行1-45)
- E-03: `backends/imgui_impl_android.cpp` (行1-309)
- E-04: `backends/imgui_impl_android.h` (行1-38)
- E-05: `backends/imgui_impl_glut.cpp` (行1-310)
- E-06: `backends/imgui_impl_glut.h` (行1-48)
- E-07: `backends/imgui_impl_null.cpp` (行1-103)
- E-08: `backends/imgui_impl_null.h` (行1-35)
- E-09: `docs/code-to-docs/単体テストケース一覧/plan.md` (行1-150)

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

### Allegro5 バックエンド (UT-BOT-001 - UT-BOT-034)

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | ImGui_ImplAllegro5_Initは有効なディスプレイで初期化が成功する | E-01 (行472-496) | ○ |
| C-02 | ImGui_ImplAllegro5_Initは二重初期化時にアサーションエラー | E-01 (行476) | ○ |
| C-03 | ImGui_ImplAllegro5_Shutdownはリソースを解放する | E-01 (行498-517) | ○ |
| C-04 | ImGui_ImplAllegro5_Shutdownは未初期化時にアサーションエラー | E-01 (行501) | ○ |
| C-05 | ImGui_ImplAllegro5_NewFrameはDisplaySizeを更新する | E-01 (行676-680) | ○ |
| C-06 | ImGui_ImplAllegro5_NewFrameはDeltaTimeを計算する | E-01 (行683-685) | ○ |
| C-07 | ImGui_ImplAllegro5_NewFrameは初回フレームでデフォルトDeltaTime | E-01 (行684) | ○ |
| C-08 | ImGui_ImplAllegro5_RenderDrawDataは描画処理を実行する | E-01 (行140-242) | ○ |
| C-09 | ImGui_ImplAllegro5_RenderDrawDataはDisplaySizeが0以下で早期リターン | E-01 (行143-144) | ○ |
| C-10 | ImGui_ImplAllegro5_RenderDrawDataはUserCallbackを実行する | E-01 (行208-216) | ○ |
| C-11 | ImGui_ImplAllegro5_ProcessEventはマウス移動を処理する | E-01 (行570-576) | ○ |
| C-12 | ImGui_ImplAllegro5_ProcessEventはマウスボタンダウンを処理する | E-01 (行577-581) | ○ |
| C-13 | ImGui_ImplAllegro5_ProcessEventはマウスボタンアップを処理する | E-01 (行577-581) | ○ |
| C-14 | ImGui_ImplAllegro5_ProcessEventは無効なボタン番号を無視する | E-01 (行579) | ○ |
| C-15 | ImGui_ImplAllegro5_ProcessEventはキーダウンを処理する | E-01 (行601-610) | ○ |
| C-16 | ImGui_ImplAllegro5_ProcessEventはキーアップを処理する | E-01 (行601-610) | ○ |
| C-17 | ImGui_ImplAllegro5_ProcessEventは文字入力を処理する | E-01 (行596-600) | ○ |
| C-18 | ImGui_ImplAllegro5_ProcessEventはタッチイベントを処理する | E-01 (行582-591) | ○ |
| C-19 | ImGui_ImplAllegro5_ProcessEventはフォーカス取得を処理する | E-01 (行615-623) | ○ |
| C-20 | ImGui_ImplAllegro5_ProcessEventはフォーカス喪失を処理する | E-01 (行611-614) | ○ |
| C-21 | ImGui_ImplAllegro5_ProcessEventは異なるディスプレイのイベントを無視する | E-01 (行571, 579, 583, 589, 593, 597, 603, 612, 616) | ○ |
| C-22 | ImGui_ImplAllegro5_KeyCodeToImGuiKeyはTABを変換する | E-01 (行363) | ○ |
| C-23 | ImGui_ImplAllegro5_KeyCodeToImGuiKeyは矢印キーを変換する | E-01 (行364-367) | ○ |
| C-24 | ImGui_ImplAllegro5_KeyCodeToImGuiKeyは数字キーを変換する | E-01 (行420-429) | ○ |
| C-25 | ImGui_ImplAllegro5_KeyCodeToImGuiKeyはアルファベットを変換する | E-01 (行430-455) | ○ |
| C-26 | ImGui_ImplAllegro5_KeyCodeToImGuiKeyはファンクションキーを変換する | E-01 (行456-467) | ○ |
| C-27 | ImGui_ImplAllegro5_KeyCodeToImGuiKeyは未知のキーでNoneを返す | E-01 (行468) | ○ |
| C-28 | ImGui_ImplAllegro5_CreateDeviceObjectsはデバイスオブジェクトを作成する | E-01 (行244-255) | ○ |
| C-29 | ImGui_ImplAllegro5_InvalidateDeviceObjectsはデバイスオブジェクトを破棄する | E-01 (行320-338) | ○ |
| C-30 | ImGui_ImplAllegro5_UpdateTextureはWantCreateでテクスチャを作成する | E-01 (行259-294) | ○ |
| C-31 | ImGui_ImplAllegro5_UpdateTextureはWantUpdatesでテクスチャを更新する | E-01 (行295-307) | ○ |
| C-32 | ImGui_ImplAllegro5_UpdateTextureはWantDestroyでテクスチャを破棄する | E-01 (行308-317) | ○ |
| C-33 | ImGui_ImplAllegro5_SetDisplayはディスプレイを設定する | E-01 (行519-543) | ○ |
| C-34 | ImGui_ImplAllegro5_SetDisplayはVertexDeclを再作成する | E-01 (行524-543) | ○ |

### Android バックエンド (UT-BOT-035 - UT-BOT-056)

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-35 | ImGui_ImplAndroid_Initは有効なウィンドウで初期化成功 | E-03 (行264-276) | ○ |
| C-36 | ImGui_ImplAndroid_InitはBackendPlatformNameを設定する | E-03 (行273) | ○ |
| C-37 | ImGui_ImplAndroid_Shutdownは正常に終了する | E-03 (行278-282) | ○ |
| C-38 | ImGui_ImplAndroid_NewFrameはDisplaySizeを設定する | E-03 (行289-294) | ○ |
| C-39 | ImGui_ImplAndroid_NewFrameはDeltaTimeを計算する | E-03 (行298-303) | ○ |
| C-40 | ImGui_ImplAndroid_NewFrameは初回フレームでデフォルトDeltaTime | E-03 (行302) | ○ |
| C-41 | ImGui_ImplAndroid_NewFrameはDisplayFramebufferScaleを設定する | E-03 (行295-296) | ○ |
| C-42 | ImGui_ImplAndroid_HandleInputEventはキーダウンを処理する | E-03 (行182-192) | ○ |
| C-43 | ImGui_ImplAndroid_HandleInputEventはキーアップを処理する | E-03 (行182-192) | ○ |
| C-44 | ImGui_ImplAndroid_HandleInputEventはモディファイアキーを処理する | E-03 (行172-175) | ○ |
| C-45 | ImGui_ImplAndroid_HandleInputEventはタッチダウンを処理する | E-03 (行222-234) | ○ |
| C-46 | ImGui_ImplAndroid_HandleInputEventはタッチアップを処理する | E-03 (行222-234) | ○ |
| C-47 | ImGui_ImplAndroid_HandleInputEventはマウスボタンプレスを処理する | E-03 (行236-243) | ○ |
| C-48 | ImGui_ImplAndroid_HandleInputEventはマウス移動を処理する | E-03 (行245-248) | ○ |
| C-49 | ImGui_ImplAndroid_HandleInputEventはホバー移動を処理する | E-03 (行245-248) | ○ |
| C-50 | ImGui_ImplAndroid_HandleInputEventはスクロールを処理する | E-03 (行249-251) | ○ |
| C-51 | ImGui_ImplAndroid_HandleInputEventはマウスソースを設定する | E-03 (行207-208) | ○ |
| C-52 | ImGui_ImplAndroid_HandleInputEventはペンソースを設定する | E-03 (行210-212) | ○ |
| C-53 | ImGui_ImplAndroid_HandleInputEventはタッチスクリーンソースを設定する | E-03 (行214-216) | ○ |
| C-54 | ImGui_ImplAndroid_HandleInputEventは未知のイベントで0を返す | E-03 (行257-258) | ○ |
| C-55 | ImGui_ImplAndroid_KeyCodeToImGuiKeyはAKEYCODEを変換する | E-03 (行46-157) | ○ |
| C-56 | ImGui_ImplAndroid_KeyCodeToImGuiKeyは未知のキーでNoneを返す | E-03 (行155) | ○ |

### GLUT バックエンド (UT-BOT-057 - UT-BOT-081)

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-57 | ImGui_ImplGLUT_Initは初期化成功 | E-05 (行167-180) | ○ |
| C-58 | ImGui_ImplGLUT_InitはBackendPlatformNameを設定する | E-05 (行173-176) | ○ |
| C-59 | ImGui_ImplGLUT_Shutdownは正常に終了する | E-05 (行197-201) | ○ |
| C-60 | ImGui_ImplGLUT_InstallFuncsはコールバックを登録する | E-05 (行182-195) | ○ |
| C-61 | ImGui_ImplGLUT_NewFrameはDeltaTimeを計算する | E-05 (行203-213) | ○ |
| C-62 | ImGui_ImplGLUT_NewFrameはDeltaTimeが0以下にならない | E-05 (行209-210) | ○ |
| C-63 | ImGui_ImplGLUT_KeyboardFuncは文字入力を処理する | E-05 (行236-237) | ○ |
| C-64 | ImGui_ImplGLUT_KeyboardFuncはキーダウンを処理する | E-05 (行239-241) | ○ |
| C-65 | ImGui_ImplGLUT_KeyboardFuncは制御文字をフィルタする | E-05 (行236) | ○ |
| C-66 | ImGui_ImplGLUT_KeyboardUpFuncはキーアップを処理する | E-05 (行245-251) | ○ |
| C-67 | ImGui_ImplGLUT_SpecialFuncは特殊キーダウンを処理する | E-05 (行254-260) | ○ |
| C-68 | ImGui_ImplGLUT_SpecialUpFuncは特殊キーアップを処理する | E-05 (行263-269) | ○ |
| C-69 | ImGui_ImplGLUT_MouseFuncは左ボタンダウンを処理する | E-05 (行272-282) | ○ |
| C-70 | ImGui_ImplGLUT_MouseFuncは右ボタンダウンを処理する | E-05 (行278) | ○ |
| C-71 | ImGui_ImplGLUT_MouseFuncは中ボタンダウンを処理する | E-05 (行279) | ○ |
| C-72 | ImGui_ImplGLUT_MouseFuncはボタンアップを処理する | E-05 (行280-281) | ○ |
| C-73 | ImGui_ImplGLUT_MouseFuncはマウス位置を更新する | E-05 (行275) | ○ |
| C-74 | ImGui_ImplGLUT_MouseWheelFuncは上スクロールを処理する | E-05 (行285-292) | ○ |
| C-75 | ImGui_ImplGLUT_MouseWheelFuncは下スクロールを処理する | E-05 (行289-290) | ○ |
| C-76 | ImGui_ImplGLUT_MouseWheelFuncはスクロール量0で何もしない | E-05 (行289) | ○ |
| C-77 | ImGui_ImplGLUT_ReshapeFuncはウィンドウサイズを更新する | E-05 (行295-299) | ○ |
| C-78 | ImGui_ImplGLUT_MotionFuncはマウス移動を処理する | E-05 (行301-305) | ○ |
| C-79 | ImGui_ImplGLUT_KeyToImGuiKeyはTABを変換する | E-05 (行58) | ○ |
| C-80 | ImGui_ImplGLUT_KeyToImGuiKeyは特殊キーを変換する | E-05 (行59-67) | ○ |
| C-81 | ImGui_ImplGLUT_KeyToImGuiKeyは未知のキーでNoneを返す | E-05 (行163) | ○ |

### Null バックエンド (UT-BOT-082 - UT-BOT-096)

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-82 | ImGui_ImplNull_Initは初期化成功 | E-07 (行25-30) | ○ |
| C-83 | ImGui_ImplNull_Initはプラットフォームとレンダラを初期化する | E-07 (行27-28) | ○ |
| C-84 | ImGui_ImplNull_Shutdownは正常に終了する | E-07 (行32-36) | ○ |
| C-85 | ImGui_ImplNull_NewFrameはフレーム開始処理を実行する | E-07 (行38-42) | ○ |
| C-86 | ImGui_ImplNullPlatform_InitはHasMouseCursorsを設定する | E-07 (行44-49) | ○ |
| C-87 | ImGui_ImplNullPlatform_ShutdownはHasMouseCursorsをクリアする | E-07 (行51-55) | ○ |
| C-88 | ImGui_ImplNullPlatform_NewFrameはDisplaySizeを設定する | E-07 (行60) | ○ |
| C-89 | ImGui_ImplNullPlatform_NewFrameはDeltaTimeを設定する | E-07 (行61) | ○ |
| C-90 | ImGui_ImplNullRender_Initはレンダラフラグを設定する | E-07 (行64-69) | ○ |
| C-91 | ImGui_ImplNullRender_Shutdownはレンダラフラグをクリアする | E-07 (行72-77) | ○ |
| C-92 | ImGui_ImplNullRender_NewFrameは呼び出せる | E-07 (行79-81) | ○ |
| C-93 | ImGui_ImplNullRender_RenderDrawDataはテクスチャ更新を処理する | E-07 (行94-100) | ○ |
| C-94 | ImGui_ImplNullRender_UpdateTextureはWantCreateをOKに変更する | E-07 (行85-86) | ○ |
| C-95 | ImGui_ImplNullRender_UpdateTextureはWantDestroyをDestroyedに変更する | E-07 (行87-91) | ○ |
| C-96 | ImGui_ImplNullRender_RenderDrawDataはnull Texturesで何もしない | E-07 (行96) | ○ |

## 4) 不足情報（Unknown / Missing）
- なし：全てのテストケースはソースコード分析に基づいて生成されており、根拠が確認されています。

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコード実装から直接導出されている
- 注意点:
  - C++テンプレートやマクロの挙動は実行時のみ確認可能
  - プラットフォーム固有の条件コンパイル（#ifdef）による差異に注意
  - Allegro5、Android NDK、GLUT/FreeGLUTライブラリの依存関係

## 6) レビュアーチェックリスト（最小）
- [ ] 各バックエンドの初期化/終了シーケンスが適切にテストされているか確認
- [ ] イベント処理（キーボード、マウス、タッチ）の網羅性を確認
- [ ] 境界値テスト（null入力、空データ、最小化時）が含まれているか確認
- [ ] プラットフォーム固有の条件（ALLEGRO_HAS_CLIPBOARD、FreeGLUT拡張など）が考慮されているか確認
- [ ] Nullバックエンドのテストが他のバックエンドと独立して実行可能か確認
