---
generated_at: 2026-01-29 18:10:00
metrics:
  claims_total: 80
  claims_with_evidence: 80
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート: Core-System-TaxProvider 単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）: **1.00**
  - 根拠あり: 80 / 80、根拠なし: 0
- 優先レビュー（高）
  1. **sortByPriority メソッド（UT-TXP-047〜049）**: 優先度ソート機能の重要なビジネスロジック
  2. **availabilityRule リレーション（UT-TXP-015〜021）**: ルール連携による税プロバイダーの利用可否判定
  3. **processUrl フィールド（UT-TXP-032〜035）**: 外部API連携の重要設定

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

- E-01: `src/Core/System/TaxProvider/TaxProviderEntity.php`（税プロバイダーエンティティクラス）
- E-02: `src/Core/System/TaxProvider/TaxProviderDefinition.php`（税プロバイダー定義クラス）
- E-03: `src/Core/System/TaxProvider/TaxProviderCollection.php`（税プロバイダーコレクションクラス）
- E-04: `src/Core/System/TaxProvider/Aggregate/TaxProviderTranslation/TaxProviderTranslationEntity.php`（翻訳エンティティクラス）
- E-05: `src/Core/System/TaxProvider/Aggregate/TaxProviderTranslation/TaxProviderTranslationDefinition.php`（翻訳定義クラス）
- E-06: `src/Core/System/TaxProvider/Aggregate/TaxProviderTranslation/TaxProviderTranslationCollection.php`（翻訳コレクションクラス）

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

### TaxProviderEntity（UT-TXP-001〜035, 071〜077）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | getName()メソッドが存在しnullable stringを返す | E-01 (L41-44) | ○ |
| C-02 | setName()メソッドが存在しnullable stringを受け取る | E-01 (L46-49) | ○ |
| C-03 | isActive()メソッドが存在しboolを返す | E-01 (L51-54) | ○ |
| C-04 | setActive()メソッドが存在しboolを受け取る | E-01 (L56-59) | ○ |
| C-05 | getPriority()メソッドが存在しintを返す | E-01 (L61-64) | ○ |
| C-06 | setPriority()メソッドが存在しintを受け取る | E-01 (L66-69) | ○ |
| C-07 | getIdentifier()メソッドが存在しstringを返す | E-01 (L71-74) | ○ |
| C-08 | setIdentifier()メソッドが存在しstringを受け取る | E-01 (L76-79) | ○ |
| C-09 | getAvailabilityRuleId()メソッドが存在しnullable stringを返す | E-01 (L81-84) | ○ |
| C-10 | setAvailabilityRuleId()メソッドが存在しnullable stringを受け取る | E-01 (L86-89) | ○ |
| C-11 | getAvailabilityRule()メソッドが存在しnullable RuleEntityを返す | E-01 (L91-94) | ○ |
| C-12 | setAvailabilityRule()メソッドが存在しRuleEntityを受け取る | E-01 (L96-99) | ○ |
| C-13 | getTranslations()メソッドが存在しnullable TaxProviderTranslationCollectionを返す | E-01 (L101-104) | ○ |
| C-14 | setTranslations()メソッドが存在しTaxProviderTranslationCollectionを受け取る | E-01 (L106-109) | ○ |
| C-15 | getAppId()メソッドが存在しnullable stringを返す | E-01 (L111-114) | ○ |
| C-16 | setAppId()メソッドが存在しnullable stringを受け取る | E-01 (L116-119) | ○ |
| C-17 | getApp()メソッドが存在しnullable AppEntityを返す | E-01 (L121-124) | ○ |
| C-18 | setApp()メソッドが存在しAppEntityを受け取る | E-01 (L126-129) | ○ |
| C-19 | getProcessUrl()メソッドが存在しnullable stringを返す | E-01 (L131-134) | ○ |
| C-20 | setProcessUrl()メソッドが存在しnullable stringを受け取る | E-01 (L136-139) | ○ |
| C-21 | EntityIdTraitを使用している | E-01 (L19) | ○ |
| C-22 | EntityCustomFieldsTraitを使用している | E-01 (L18) | ○ |
| C-23 | IdAwareインターフェースを実装している | E-01 (L16) | ○ |
| C-24 | RuleIdAwareインターフェースを実装している | E-01 (L16) | ○ |

### TaxProviderDefinition（UT-TXP-036〜045）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-25 | ENTITY_NAMEが'tax_provider'である | E-02 (L27) | ○ |
| C-26 | getEntityName()がself::ENTITY_NAMEを返す | E-02 (L29-32) | ○ |
| C-27 | getCollectionClass()がTaxProviderCollection::classを返す | E-02 (L34-37) | ○ |
| C-28 | getEntityClass()がTaxProviderEntity::classを返す | E-02 (L39-42) | ○ |
| C-29 | since()が'6.5.0.0'を返す | E-02 (L44-47) | ○ |
| C-30 | getDefaults()がposition=1, active=trueを返す | E-02 (L49-55) | ○ |
| C-31 | idフィールドにPrimaryKey, Required, ApiAwareフラグがある | E-02 (L60) | ○ |
| C-32 | identifierフィールドにRequiredフラグがある | E-02 (L61) | ○ |
| C-33 | priorityフィールドにRequired, ApiAwareフラグがある | E-02 (L65) | ○ |
| C-34 | availabilityRuleにRestrictDeleteフラグがある | E-02 (L72) | ○ |

### TaxProviderCollection（UT-TXP-046〜050）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-35 | getApiAlias()が'tax_provider_collection'を返す | E-03 (L14-17) | ○ |
| C-36 | sortByPriority()がpriorityの降順でソートする | E-03 (L19-22) | ○ |
| C-37 | getExpectedClass()がTaxProviderEntity::classを返す | E-03 (L24-27) | ○ |

### TaxProviderTranslationEntity（UT-TXP-051〜060, 078〜080）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-38 | getTaxProviderId()メソッドが存在しstringを返す | E-04 (L21-24) | ○ |
| C-39 | setTaxProviderId()メソッドが存在しstringを受け取る | E-04 (L26-29) | ○ |
| C-40 | getName()メソッドが存在しnullable stringを返す | E-04 (L31-34) | ○ |
| C-41 | setName()メソッドが存在しnullable stringを受け取る | E-04 (L36-39) | ○ |
| C-42 | getTaxProvider()メソッドが存在しnullable TaxProviderEntityを返す | E-04 (L41-44) | ○ |
| C-43 | setTaxProvider()メソッドが存在しnullable TaxProviderEntityを受け取る | E-04 (L46-49) | ○ |
| C-44 | EntityCustomFieldsTraitを使用している | E-04 (L13) | ○ |
| C-45 | TranslationEntityを継承している | E-04 (L11) | ○ |

### TaxProviderTranslationDefinition（UT-TXP-061〜068）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-46 | ENTITY_NAMEが'tax_provider_translation'である | E-05 (L17) | ○ |
| C-47 | getEntityName()がself::ENTITY_NAMEを返す | E-05 (L19-22) | ○ |
| C-48 | getCollectionClass()がTaxProviderTranslationCollection::classを返す | E-05 (L24-27) | ○ |
| C-49 | getEntityClass()がTaxProviderTranslationEntity::classを返す | E-05 (L29-32) | ○ |
| C-50 | since()が'6.5.0.0'を返す | E-05 (L34-37) | ○ |
| C-51 | getParentDefinitionClass()がTaxProviderDefinition::classを返す | E-05 (L39-42) | ○ |
| C-52 | nameフィールドにRequiredフラグがある | E-05 (L47) | ○ |
| C-53 | customFieldsフィールドにApiAwareフラグがある | E-05 (L48) | ○ |

### TaxProviderTranslationCollection（UT-TXP-069〜070）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-54 | getApiAlias()が'tax_provider_translation_collection'を返す | E-06 (L14-17) | ○ |
| C-55 | getExpectedClass()がTaxProviderTranslationEntity::classを返す | E-06 (L19-22) | ○ |

## 4) 不足情報（Unknown / Missing）
- 根拠なしの項目はありません。全てのテストケースはソースコードから直接確認されています。

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 全てのテストケースがソースコードに基づいており、根拠が明確です。

### 注意点
1. **sortByPriority()**: 降順ソートのロジックは `$b->getPriority() <=> $a->getPriority()` で実装されている。境界値テスト（同一優先度、空コレクション）については実装上の挙動を確認すること。
2. **RestrictDelete**: availabilityRuleリレーションに設定されているRestrictDeleteフラグにより、関連するRuleが削除されるとエラーになる。統合テストでの検証が推奨される。
3. **processUrl**: 外部API URLの妥当性検証はコード上では行われていない。実際の運用では入力バリデーションを検討すること。

## 6) レビュアーチェックリスト（最小）
- [ ] TaxProviderEntity の全ゲッター/セッターが正しくテストケースに含まれているか
- [ ] TaxProviderDefinition のフィールド定義とフラグが正確に反映されているか
- [ ] TaxProviderCollection の sortByPriority() の降順ソートロジックが正しいか
- [ ] TaxProviderTranslationEntity と親エンティティの関係が正しくテストされているか
- [ ] TaxProviderTranslationDefinition の必須フィールド（name）が正しくテストされているか
- [ ] 全てのインターフェース実装（IdAware, RuleIdAware）が確認されているか
- [ ] トレイト（EntityIdTrait, EntityCustomFieldsTrait）の機能がテストされているか
