---
generated_at: 2026-01-28 14:20:00
metrics:
  claims_total: 54
  claims_with_evidence: 54
  claims_without_evidence: 0
confidence_derived: 1.00
---

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

## 本レポートについて

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

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

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

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

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

---

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

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

- E-01: `lib/data_model/gdpr_models/gdpr_pdf_model.dart` - GdprPdfModelクラス、DownloadPdfクラスの定義
- E-02: `lib/data_model/gdpr_models/gdpr_request_search_model.dart` - GdprSearchModalクラスの定義
- E-03: `lib/data_model/gdpr_models/gdpr_request_model.dart` - GdprRequestModel、Datum、PaginatorInfoクラスの定義

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

### GdprPdfModel クラス（UT-GDPR-001 〜 006）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | GdprPdfModel.fromJsonで全フィールドがパースされる | E-01: L17-18 factory GdprPdfModel.fromJson | ○ |
| C-02 | GdprPdfModel.fromJsonでnull値が処理される | E-01: L7-9 全フィールドがnullable (?) 定義 | ○ |
| C-03 | GdprPdfModel.fromJsonで空JSONが処理される | E-01: L7-9 全フィールドがoptional | ○ |
| C-04 | GdprPdfModel.toJsonで全フィールドがJSON化される | E-01: L20 toJsonメソッド定義 | ○ |
| C-05 | GdprPdfModel.toJsonでnull値が処理される | E-01: L7-9 nullable定義、L20 toJson | ○ |
| C-06 | GdprPdfModelコンストラクタが動作する | E-01: L11-15 名前付きパラメータのコンストラクタ | ○ |

### DownloadPdf クラス（UT-GDPR-007 〜 012）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-07 | DownloadPdf.fromJsonで全フィールドがパースされる | E-01: L33-34 factory DownloadPdf.fromJson | ○ |
| C-08 | DownloadPdf.fromJsonでnull値が処理される | E-01: L25-26 fileName?, extension? nullable定義 | ○ |
| C-09 | DownloadPdf.fromJsonで空JSONが処理される | E-01: L25-26 全フィールドがoptional | ○ |
| C-10 | DownloadPdf.toJsonで全フィールドがJSON化される | E-01: L36 toJsonメソッド定義 | ○ |
| C-11 | DownloadPdf.toJsonでnull値が処理される | E-01: L25-26 nullable定義、L36 toJson | ○ |
| C-12 | DownloadPdfコンストラクタが動作する | E-01: L28-31 名前付きパラメータのコンストラクタ | ○ |

### GdprSearchModal クラス（UT-GDPR-013 〜 022）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-13 | GdprSearchModal.fromJsonで全フィールドがパースされる | E-02: L43-44 factory fromJson | ○ |
| C-14 | JsonKeyアノテーション__typenameマッピング | E-02: L6-7 @JsonKey(name: "__typename") | ○ |
| C-15 | GdprSearchModal.fromJsonでnull値が処理される | E-02: L7-27 全フィールドがnullable定義 | ○ |
| C-16 | GdprSearchModal.fromJsonで空JSONが処理される | E-02: 全フィールドがoptional | ○ |
| C-17 | createdAt/updatedAtが文字列としてパースされる | E-02: L22-25 String? createdAt, updatedAt定義 | ○ |
| C-18 | responseStatusがboolとしてパースされる | E-02: L26-27 bool? responseStatus定義 | ○ |
| C-19 | GdprSearchModal.toJsonで全フィールドがJSON化される | E-02: L46 toJsonメソッド定義 | ○ |
| C-20 | toJsonでJsonKeyマッピングが動作する | E-02: L6-7 @JsonKey定義 | ○ |
| C-21 | GdprSearchModal.toJsonでnull値が処理される | E-02: nullable定義、toJson | ○ |
| C-22 | GdprSearchModalコンストラクタが動作する | E-02: L29-41 名前付きパラメータのコンストラクタ | ○ |

### GdprRequestModel クラス（UT-GDPR-023 〜 032）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-23 | GdprRequestModel.fromJsonで全フィールドがパースされる | E-03: L25-26 factory fromJson | ○ |
| C-24 | paginatorInfoがネストオブジェクトとしてパースされる | E-03: L8-9 PaginatorInfo? paginatorInfo定義 | ○ |
| C-25 | dataがList<Datum>としてパースされる | E-03: L10-11 List<Datum>? data定義 | ○ |
| C-26 | 空のdata配列が空リストとして処理される | E-03: L10-11 List型定義、json_serializable処理 | ○ |
| C-27 | GdprRequestModel.fromJsonでnull値が処理される | E-03: L7-15 全フィールドがnullable | ○ |
| C-28 | GdprRequestModel.fromJsonで空JSONが処理される | E-03: 全フィールドがoptional | ○ |
| C-29 | GdprRequestModel.toJsonで全フィールドがJSON化される | E-03: L28 toJsonメソッド定義 | ○ |
| C-30 | ネストオブジェクトがJSON化される | E-03: L8-9, L28 PaginatorInfo含むtoJson | ○ |
| C-31 | dataリストがJSON配列として出力される | E-03: L10-11, L28 List<Datum>含むtoJson | ○ |
| C-32 | GdprRequestModelコンストラクタが動作する | E-03: L17-23 名前付きパラメータのコンストラクタ | ○ |

### Datum クラス（UT-GDPR-033 〜 043）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-33 | Datum.fromJsonで全フィールドがパースされる | E-03: L67 factory Datum.fromJson | ○ |
| C-34 | JsonKeyアノテーション__typenameマッピング | E-03: L33-34 @JsonKey(name: "__typename") | ○ |
| C-35 | revokedAtがdynamic型として処理される | E-03: L47-48 dynamic revokedAt定義 | ○ |
| C-36 | revokedAt=nullが正しく処理される | E-03: L47-48 dynamic型（null許容） | ○ |
| C-37 | Datum.fromJsonでnull値が処理される | E-03: L34-52 全フィールドがnullable | ○ |
| C-38 | Datum.fromJsonで空JSONが処理される | E-03: 全フィールドがoptional | ○ |
| C-39 | Datum.toJsonで全フィールドがJSON化される | E-03: L69 toJsonメソッド定義 | ○ |
| C-40 | toJsonでJsonKeyマッピングが動作する | E-03: L33-34 @JsonKey定義 | ○ |
| C-41 | revokedAtがdynamic型として正しくJSON化される | E-03: L47-48, L69 dynamic定義、toJson | ○ |
| C-42 | Datum.toJsonでnull値が処理される | E-03: nullable定義、toJson | ○ |
| C-43 | Datumコンストラクタが動作する | E-03: L54-65 名前付きパラメータのコンストラクタ | ○ |

### PaginatorInfo クラス（UT-GDPR-044 〜 054）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-44 | PaginatorInfo.fromJsonで全フィールドがパースされる | E-03: L93-94 factory fromJson | ○ |
| C-45 | JsonKeyアノテーション__typenameマッピング | E-03: L74-75 @JsonKey(name: "__typename") | ○ |
| C-46 | int型フィールドが正しくパースされる | E-03: L77-83 int? count, currentPage, lastPage, total | ○ |
| C-47 | PaginatorInfo.fromJsonでnull値が処理される | E-03: L75-83 全フィールドがnullable | ○ |
| C-48 | PaginatorInfo.fromJsonで空JSONが処理される | E-03: 全フィールドがoptional | ○ |
| C-49 | count=0が正しく処理される | E-03: L77 int? count定義（0は有効値） | ○ |
| C-50 | 大きな数値が正しくパースされる | E-03: L77-83 int型定義 | ○ |
| C-51 | PaginatorInfo.toJsonで全フィールドがJSON化される | E-03: L96 toJsonメソッド定義 | ○ |
| C-52 | toJsonでJsonKeyマッピングが動作する | E-03: L74-75 @JsonKey定義 | ○ |
| C-53 | PaginatorInfo.toJsonでnull値が処理される | E-03: nullable定義、toJson | ○ |
| C-54 | PaginatorInfoコンストラクタが動作する | E-03: L85-91 名前付きパラメータのコンストラクタ | ○ |

## 4) 不足情報（Unknown / Missing）
- なし（全てのテストケースにソースコードからの根拠あり）

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 全てのテストケースがソースコードに基づいており、json_serializableによる標準的なモデルクラスのテストケースです

### 考慮すべきリスク
1. **生成コードの存在**: `.g.dart`ファイルが生成されていることが前提
2. **json_serializableの動作**: ライブラリの仕様に依存するテストケースが含まれる
3. **dynamic型の扱い**: `Datum.revokedAt`がdynamic型のため、様々な型の値が入る可能性がある

## 6) レビュアーチェックリスト（最小）
- [ ] `.g.dart`ファイルが生成されていることを確認
- [ ] json_serializableの設定（build.yaml）を確認
- [ ] dynamic型フィールド（revokedAt）の実際の使用パターンを確認
- [ ] JsonKeyアノテーションのマッピングが実際のAPIレスポンスと一致することを確認
- [ ] nullable処理がjson_serializableの設定と整合することを確認
