---
generated_at: 2026-02-22 12:30:00
metrics:
  claims_total: 95
  claims_with_evidence: 95
  claims_without_evidence: 0
confidence_derived: 1.00
---

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

## 本レポートについて

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

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

1. **根拠の有無確認**：各テストケースに対して、ソースコードの実装が根拠として存在するか
2. **根拠との整合性**：テストケースの内容がソースコードの実装と矛盾していないか
3. **網羅性**：対象モジュール内の全クラス・メソッドを適切にカバーしているか

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：95 / 95、根拠なし：0
- 優先レビュー（高）
  1. **UT-FLU-046**: CalculateAccentShades のシェード計算ロジック - アルゴリズムの正確性要確認
  2. **UT-FLU-051**: FluentTheme コンストラクタ - XAML依存のため統合テスト推奨
  3. **UT-FLU-074**: Light/Dark以外のテーマ拒否 - セキュリティ/整合性観点で重要

## 2) 参照した情報（Evidence一覧）
> 解析対象としたソースコードファイル

- E-01: `src/Avalonia.Themes.Fluent/ColorPaletteResources.cs`
- E-02: `src/Avalonia.Themes.Fluent/ColorPaletteResources.Properties.cs`
- E-03: `src/Avalonia.Themes.Fluent/Accents/SystemAccentColors.cs`
- E-04: `src/Avalonia.Themes.Fluent/FluentTheme.xaml.cs`
- E-05: `src/Avalonia.Themes.Fluent/ColorPaletteResourcesCollection.cs`
- E-06: `src/Avalonia.Themes.Fluent/Properties/AssemblyInfo.cs`

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

### ColorPaletteResources クラス (E-01, E-02)

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | HasResources は _hasAccentColor または _colors.Count > 0 で判定される | E-01 L21 | ○ |
| C-02 | TryGetResource は SystemAccentColor 系キーで特別処理を行う | E-01 L23-78 | ○ |
| C-03 | GetColor は _colors 辞書から色を取得する | E-01 L80-88 | ○ |
| C-04 | SetColor は default(Color) で辞書からキーを削除する | E-01 L90-100 | ○ |
| C-05 | OnPropertyChanged で AccentProperty 変更時にシェード計算される | E-01 L102-118 | ○ |
| C-06 | Accent プロパティは DirectProperty として定義される | E-02 L12-13 | ○ |
| C-07 | 各カラープロパティは GetColor/SetColor を通じて辞書アクセスする | E-02 L27-157 | ○ |

### SystemAccentColors クラス (E-03)

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-08 | HasResources は常に true を返す | E-03 L26 | ○ |
| C-09 | TryGetResource は7種のアクセントキーを処理する | E-03 L27-83 | ○ |
| C-10 | OnAddOwner で ColorValuesChanged イベントをサブスクライブする | E-03 L85-93 | ○ |
| C-11 | OnRemoveOwner で ColorValuesChanged イベントをアンサブスクライブする | E-03 L95-103 | ○ |
| C-12 | EnsureColors は遅延初期化パターンを使用する | E-03 L105-117 | ○ |
| C-13 | GetFromOwner は Application と Visual で異なる処理を行う | E-03 L119-127 | ○ |
| C-14 | CalculateAccentShades は HSL 色空間でシェードを計算する | E-03 L129-153 | ○ |
| C-15 | デフォルトアクセントカラーは RGB(0, 120, 215) | E-03 L20 | ○ |

### FluentTheme クラス (E-04)

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-16 | コンストラクタで XAML をロードし Palettes を初期化する | E-04 L28-44 | ○ |
| C-17 | DensityStyle は Normal と Compact の2値を取る | E-04 L10-14, L46-56 | ○ |
| C-18 | TryGetResource は Compact モードで CompactStyles を優先検索する | E-04 L70-80 | ○ |
| C-19 | OnPropertyChanged で DensityStyle 変更時に通知を発行する | E-04 L60-68 | ○ |
| C-20 | ColorPaletteResourcesCollection が存在しない場合 InvalidOperationException をスローする | E-04 L34-35 | ○ |

### ColorPaletteResourcesCollection クラス (E-05)

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-21 | 内部辞書は初期容量2で作成される | E-05 L17 | ○ |
| C-22 | Light/Dark 以外のテーマを追加すると InvalidOperationException をスローする | E-05 L26-29 | ○ |
| C-23 | TryGetResource で theme が null または Default の場合 Light にフォールバックする | E-05 L44-48 | ○ |
| C-24 | OnAddOwner で全パレットに Owner を伝播する | E-05 L60-66 | ○ |
| C-25 | OnRemoveOwner で全パレットから Owner を削除する | E-05 L69-76 | ○ |
| C-26 | IDictionary インターフェースを完全実装している | E-05 L78-149 | ○ |

### 全テストケースの根拠対応

| Claim ID | テストID範囲 | 主張カテゴリ | Evidence | 状態 |
|---|---|---|---|---|
| C-01 ~ C-07 | UT-FLU-001 ~ UT-FLU-029 | ColorPaletteResources のテスト | E-01, E-02 | ○ |
| C-08 ~ C-15 | UT-FLU-030 ~ UT-FLU-050 | SystemAccentColors のテスト | E-03 | ○ |
| C-16 ~ C-20 | UT-FLU-051 ~ UT-FLU-062 | FluentTheme のテスト | E-04 | ○ |
| C-21 ~ C-26 | UT-FLU-063 ~ UT-FLU-095 | ColorPaletteResourcesCollection のテスト | E-05 | ○ |

## 4) 不足情報（Unknown / Missing）

本モジュールの解析において、以下の情報は直接参照できませんでした：

- **XAMLリソース定義**: FluentTheme.xaml のリソース定義内容
  - 影響: FluentTheme コンストラクタのテスト（UT-FLU-051 ~ 054）は実際のXAMLロードに依存
  - 対処: 統合テストまたはモックを使用した単体テストを推奨

- **プラットフォーム固有実装**: IPlatformSettings の具体的な実装
  - 影響: SystemAccentColors のプラットフォーム連携テスト
  - 対処: モックを使用した単体テストを推奨

## 5) リスクフラグ（レビュー観点）

- **リスクレベル 0（低リスク）**: 単純なプロパティアクセス、列挙、コレクション操作（UT-FLU-077 ~ 095）
- **リスクレベル 1（中リスク）**: カラー辞書操作、イベントサブスクリプション（UT-FLU-015 ~ 029, 036 ~ 044）
- **リスクレベル 2（高リスク）**:
  - シェード計算ロジック（UT-FLU-046 ~ 048）: 色計算の正確性がUI表示に直結
  - テーマバリアント制約（UT-FLU-074）: Light/Dark以外の拒否がシステム整合性に影響
  - XAMLロード（UT-FLU-051 ~ 054）: 初期化失敗がアプリケーション起動に影響

## 6) レビュアーチェックリスト（最小）

- [ ] CalculateAccentShades のシェード計算値が Windows Fluent Design の仕様と一致するか確認
- [ ] Light/Dark 以外のテーマバリアント（HighContrast等）のサポート要否を確認
- [ ] FluentTheme 初期化時のXAMLリソース依存が単体テストで適切にモック可能か確認
- [ ] プラットフォーム固有のアクセントカラー取得がモック可能か確認
- [ ] 境界値テスト（明度0/255）での色計算結果がクランプされることを確認
- [ ] DensityStyle 切り替え時のリソース再評価タイミングが適切か確認
