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

# 根拠レポート：Avalonia.Markup.Xaml 単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

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

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

- E-01: `src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs`
- E-02: `src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StaticResourceExtension.cs`
- E-03: `src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/DynamicResourceExtension.cs`
- E-04: `src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindingExtension.cs`
- E-05: `src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/ReflectionBindingExtension.cs`
- E-06: `src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/RelativeSourceExtension.cs`
- E-07: `src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/ResolveByNameExtension.cs`
- E-08: `src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/OnPlatformExtension.cs`
- E-09: `src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/OnFormFactorExtension.cs`
- E-10: `src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/On.cs`
- E-11: `src/Markup/Avalonia.Markup.Xaml/Converters/ColorToBrushConverter.cs`
- E-12: `src/Markup/Avalonia.Markup.Xaml/Converters/TimeSpanTypeConverter.cs`
- E-13: `src/Markup/Avalonia.Markup.Xaml/Converters/PointsListTypeConverter.cs`
- E-14: `src/Markup/Avalonia.Markup.Xaml/Converters/IconTypeConverter.cs`
- E-15: `src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs`
- E-16: `src/Markup/Avalonia.Markup.Xaml/Converters/BitmapTypeConverter.cs`
- E-17: `src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaUriTypeConverter.cs`
- E-18: `src/Markup/Avalonia.Markup.Xaml/Converters/FontFamilyTypeConverter.cs`
- E-19: `src/Markup/Avalonia.Markup.Xaml/Templates/ControlTemplate.cs`
- E-20: `src/Markup/Avalonia.Markup.Xaml/Templates/DataTemplate.cs`
- E-21: `src/Markup/Avalonia.Markup.Xaml/Templates/TreeDataTemplate.cs`
- E-22: `src/Markup/Avalonia.Markup.Xaml/Templates/TemplateContent.cs`
- E-23: `src/Markup/Avalonia.Markup.Xaml/Templates/ItemsPanelTemplate.cs`
- E-24: `src/Markup/Avalonia.Markup.Xaml/Templates/Template.cs`
- E-25: `src/Markup/Avalonia.Markup.Xaml/Templates/FocusAdornerTemplate.cs`
- E-26: `src/Markup/Avalonia.Markup.Xaml/Styling/StyleInclude.cs`
- E-27: `src/Markup/Avalonia.Markup.Xaml/Styling/ResourceInclude.cs`
- E-28: `src/Markup/Avalonia.Markup.Xaml/Styling/MergeResourceInclude.cs`
- E-29: `src/Markup/Avalonia.Markup.Xaml/Parsers/PropertyParser.cs`
- E-30: `src/Markup/Avalonia.Markup.Xaml/EagerParentStackEnumerator.cs`
- E-31: `src/Markup/Avalonia.Markup.Xaml/RuntimeXamlLoaderDocument.cs`
- E-32: `src/Markup/Avalonia.Markup.Xaml/RuntimeXamlLoaderConfiguration.cs`
- E-33: `src/Markup/Avalonia.Markup.Xaml/XamlLoadException.cs`
- E-34: `src/Markup/Avalonia.Markup.Xaml/Extensions.cs`
- E-35: `src/Markup/Avalonia.Markup.Xaml/Data/DynamicResourceExpression.cs`
- E-36: `src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/PropertyInfoAccessorFactory.cs`
- E-37: `src/Markup/Avalonia.Markup.Xaml/XamlIl/Runtime/XamlIlRuntimeHelpers.cs`
- E-38: `src/Markup/Avalonia.Markup.Xaml/Diagnostics/XamlSourceInfo.cs`
- E-39: `src/Markup/Avalonia.Markup.Xaml/MarkupExtension.cs`

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

### AvaloniaXamlLoader（UT-MXL-001〜006）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | Load(object)はプリコンパイル済みXAMLがない場合にXamlLoadExceptionをスロー | E-01 (23-25行目: throw new XamlLoadException) | ○ |
| C-02 | Load(IServiceProvider, object)も同様にXamlLoadExceptionをスロー | E-01 (33-35行目) | ○ |
| C-03 | Load(Uri, Uri?)はuriがnullの場合にArgumentNullExceptionをスロー | E-01 (64-65行目: if (uri is null) throw new ArgumentNullException) | ○ |
| C-04 | IAssetLoaderが未登録の場合にInvalidOperationExceptionをスロー | E-01 (69-72行目) | ○ |
| C-05 | 相対URIでbaseUriがnullの場合にInvalidOperationExceptionをスロー | E-01 (77行目) | ○ |
| C-06 | 正常系でコンパイル済みXAMLオブジェクトが返却される | E-01 (82-97行目) | ○ |

### StaticResourceExtension（UT-MXL-007〜014）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-07 | デフォルトコンストラクタでインスタンス作成可能 | E-02 (16-18行目) | ○ |
| C-08 | リソースキー指定コンストラクタ | E-02 (20-23行目) | ○ |
| C-09 | ResourceKeyがnullの場合にArgumentExceptionをスロー | E-02 (34-37行目) | ○ |
| C-10 | リソースが見つかった場合に値を返却 | E-02 (76-82行目) | ○ |
| C-11 | リソースが見つからない場合にKeyNotFoundExceptionをスロー | E-02 (108行目) | ○ |
| C-12 | ColorからBrushへの変換 | E-02 (80, 90行目: ColorToBrushConverter.Convert) | ○ |
| C-13 | GetDictionaryVariantがnullスタックでnullを返却 | E-02 (113-116行目) | ○ |
| C-14 | IThemeVariantProviderからテーマバリアント取得 | E-02 (118-140行目) | ○ |

### DynamicResourceExtension（UT-MXL-015〜020）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-15 | デフォルトコンストラクタ | E-03 (17-19行目) | ○ |
| C-16 | リソースキー指定コンストラクタ | E-03 (21-24行目) | ○ |
| C-17 | ProvideValueでBindingBaseを返却 | E-03 (29-47行目) | ○ |
| C-18 | テンプレート内でTemplate優先度が設定される | E-03 (31-32行目) | ○ |
| C-19 | ResourceKeyがnullの場合にInvalidOperationExceptionをスロー | E-03 (51-52行目) | ○ |
| C-20 | CreateInstanceでDynamicResourceExpressionを返却 | E-03 (53行目) | ○ |

### CompiledBindingExtension（UT-MXL-021〜024）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-21 | デフォルトコンストラクタ | E-04 (15-17行目) | ○ |
| C-22 | パス指定コンストラクタ | E-04 (19-22行目) | ○ |
| C-23 | ProvideValueで新しいCompiledBindingを返却 | E-04 (24-42行目) | ○ |
| C-24 | DefaultAnchorが設定される | E-04 (39行目) | ○ |

### ReflectionBindingExtension（UT-MXL-025〜027）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-25 | デフォルトコンストラクタ | E-05 (17行目) | ○ |
| C-26 | パス指定コンストラクタ | E-05 (23行目) | ○ |
| C-27 | ProvideValueで新しいReflectionBindingを返却 | E-05 (25-47行目) | ○ |

### RelativeSourceExtension（UT-MXL-028〜030）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-28 | デフォルトコンストラクタでMode=FindAncestor, AncestorLevel=1 | E-06 (9-11, 30, 36行目) | ○ |
| C-29 | モード指定コンストラクタ | E-06 (13-16行目) | ○ |
| C-30 | ProvideValueで新しいRelativeSourceを返却 | E-06 (18-27行目) | ○ |

### ResolveByNameExtension（UT-MXL-031〜034）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-31 | 名前指定コンストラクタ | E-07 (10-13行目) | ○ |
| C-32 | 名前スコープがない場合にnullを返却 | E-07 (22-25行目) | ○ |
| C-33 | 名前解決完了時に値を返却 | E-07 (29-30行目) | ○ |
| C-34 | 名前解決未完了時にUnsetValueを返却 | E-07 (40行目) | ○ |

### OnPlatformExtension（UT-MXL-035〜042）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-35 | デフォルトコンストラクタ | E-08 (8-11行目) | ○ |
| C-36 | デフォルト値指定コンストラクタ | E-08 (13-16行目) | ○ |
| C-37〜42 | ShouldProvideOptionでプラットフォーム判定 | E-08 (72-87行目: ShouldProvideOptionInternal) | ○ |

### OnFormFactorExtension（UT-MXL-043〜045）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-43〜45 | ShouldProvideOptionでフォームファクター判定 | E-09 (20-23, 39-42行目) | ○ |

### Converters（UT-MXL-046〜083）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-46〜50 | ColorToBrushConverterの変換処理 | E-11 (58-86行目) | ○ |
| C-51〜54 | TimeSpanTypeConverterの変換処理 | E-12 (10-21行目) | ○ |
| C-55〜59 | PointsListTypeConverterの変換処理 | E-13 (11-29行目) | ○ |
| C-60〜64 | IconTypeConverterの変換処理 | E-14 (13-46行目) | ○ |
| C-65〜70 | AvaloniaPropertyTypeConverterの変換処理 | E-15 (18-72行目) | ○ |
| C-71〜74 | BitmapTypeConverterの変換処理 | E-16 (12-29行目) | ○ |
| C-75〜80 | AvaloniaUriTypeConverterの変換処理 | E-17 (10-26行目) | ○ |
| C-81〜83 | FontFamilyTypeConverterの変換処理 | E-18 (11-22行目) | ○ |

### Templates（UT-MXL-084〜101）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-84〜85 | ControlTemplate.Build | E-19 (17行目) | ○ |
| C-86〜90 | DataTemplate.Match, Build | E-20 (17-34行目) | ○ |
| C-91〜95 | TreeDataTemplate.Match, BindChildren, Build | E-21 (22-50行目) | ○ |
| C-96〜99 | TemplateContent.Load | E-22 (9-19行目) | ○ |
| C-100 | ItemsPanelTemplate.Build | E-23 (14行目) | ○ |
| C-101 | Template.Build | E-24 (13行目) | ○ |

### Styling（UT-MXL-102〜111）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-102〜107 | StyleIncludeの動作 | E-26 (28-101行目) | ○ |
| C-108〜111 | ResourceIncludeの動作 | E-27 (27-90行目) | ○ |

### PropertyParser（UT-MXL-112〜118）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-112〜118 | PropertyParser.Parseの解析処理 | E-29 (9-88行目) | ○ |

### EagerParentStackEnumerator（UT-MXL-119〜122）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-119〜122 | TryGetNext, TryGetNextOfTypeの動作 | E-30 (15-46行目) | ○ |

### RuntimeXamlLoaderDocument（UT-MXL-123〜126）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-123〜126 | 各種コンストラクタ | E-31 (10-54行目) | ○ |

### RuntimeXamlLoaderConfiguration（UT-MXL-127）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-127 | デフォルト値の確認 | E-32 (11-29行目) | ○ |

### XamlLoadException（UT-MXL-128〜130）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-128〜130 | 各種コンストラクタ | E-33 (7-17行目) | ○ |

### Extensions（UT-MXL-131〜139）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-131〜139 | 拡張メソッドの動作 | E-34 (13-97行目) | ○ |

### DynamicResourceExpression（UT-MXL-140〜143）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-140〜143 | 式の開始・停止処理 | E-35 (35-111行目) | ○ |

### PropertyInfoAccessorFactory（UT-MXL-144〜152）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-144〜152 | アクセサの作成・動作 | E-36 (12-217行目) | ○ |

### XamlIlRuntimeHelpers（UT-MXL-153〜158）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-153〜158 | ランタイムヘルパーの動作 | E-37 (24-104, 283-356行目) | ○ |

### XamlSourceInfo（UT-MXL-159〜168）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-159〜168 | ソース情報の設定・取得 | E-38 (43-149行目) | ○ |

### MarkupExtension（UT-MXL-169）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-169 | 抽象基底クラス | E-39 (5-8行目) | ○ |

### On（UT-MXL-170〜171）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-170〜171 | Options, Contentプロパティ | E-10 (6-14行目) | ○ |

## 4) 不足情報（Unknown / Missing）
- なし：全てのテストケースはソースコードの実装に基づいて生成されています。

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコードから直接抽出されており、根拠が明確です。

## 6) レビュアーチェックリスト（最小）
- [ ] テストケースの網羅性：公開メソッド・プロパティが全て対象になっているか
- [ ] テスト観点の妥当性：正常系・異常系・境界値のバランスは適切か
- [ ] 優先度の妥当性：ビジネスクリティカルな機能に高優先度が設定されているか
- [ ] 前提条件の明確さ：テスト実行に必要な環境・状態が明記されているか
- [ ] 期待結果の検証可能性：期待結果が具体的で検証可能か
- [ ] プラットフォーム固有テスト（OnPlatformExtension等）の環境依存性を考慮しているか
- [ ] 非同期処理（ResolveByNameExtension等）のテストタイミングが適切か
