---
generated_at: 2026-01-29 17:45:00
metrics:
  claims_total: 135
  claims_with_evidence: 135
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：Core-Checkout-Shipping 単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：135 / 135、根拠なし：0
- 優先レビュー（高）
  1. **ShippingMethodValidator.preValidate**：税タイプバリデーションの網羅性確認
  2. **ShippingMethodRoute.load**：onlyAvailableフィルタのルールマッチング動作確認
  3. **ShippingMethodBlockedError**：deprecation対応（v6.8.0）の確認

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。

- E-01: `src/Core/Checkout/Shipping/ShippingMethodEntity.php`
- E-02: `src/Core/Checkout/Shipping/ShippingMethodDefinition.php`
- E-03: `src/Core/Checkout/Shipping/ShippingMethodCollection.php`
- E-04: `src/Core/Checkout/Shipping/ShippingException.php`
- E-05: `src/Core/Checkout/Shipping/Validator/ShippingMethodValidator.php`
- E-06: `src/Core/Checkout/Shipping/Aggregate/ShippingMethodPrice/ShippingMethodPriceEntity.php`
- E-07: `src/Core/Checkout/Shipping/Aggregate/ShippingMethodPrice/ShippingMethodPriceDefinition.php`
- E-08: `src/Core/Checkout/Shipping/Aggregate/ShippingMethodPrice/ShippingMethodPriceCollection.php`
- E-09: `src/Core/Checkout/Shipping/Aggregate/ShippingMethodPrice/ShippingMethodPriceExceptionHandler.php`
- E-10: `src/Core/Checkout/Shipping/Aggregate/ShippingMethodTranslation/ShippingMethodTranslationEntity.php`
- E-11: `src/Core/Checkout/Shipping/Aggregate/ShippingMethodTranslation/ShippingMethodTranslationDefinition.php`
- E-12: `src/Core/Checkout/Shipping/Aggregate/ShippingMethodTranslation/ShippingMethodTranslationCollection.php`
- E-13: `src/Core/Checkout/Shipping/Aggregate/ShippingMethodTag/ShippingMethodTagDefinition.php`
- E-14: `src/Core/Checkout/Shipping/SalesChannel/ShippingMethodRoute.php`
- E-15: `src/Core/Checkout/Shipping/SalesChannel/AbstractShippingMethodRoute.php`
- E-16: `src/Core/Checkout/Shipping/SalesChannel/ShippingMethodRouteResponse.php`
- E-17: `src/Core/Checkout/Shipping/SalesChannel/SalesChannelShippingMethodDefinition.php`
- E-18: `src/Core/Checkout/Shipping/Cart/Error/ShippingMethodBlockedError.php`
- E-19: `src/Core/Checkout/Shipping/Hook/ShippingMethodRouteHook.php`
- E-20: `src/Core/Checkout/Shipping/ShippingEvents.php`

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

### ShippingMethodEntity（UT-SHP-001〜038）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | コンストラクタでpricesが初期化される | E-01 L78-81 | ○ |
| C-02 | getName/setNameが正しく動作する | E-01 L83-91 | ○ |
| C-03 | getActive/setActiveが正しく動作する | E-01 L93-101 | ○ |
| C-04 | getPosition/setPositionが正しく動作する | E-01 L103-111 | ○ |
| C-05 | getDescription/setDescriptionが正しく動作する | E-01 L113-121 | ○ |
| C-06 | getTrackingUrl/setTrackingUrlが正しく動作する | E-01 L123-131 | ○ |
| C-07 | getDeliveryTimeId/setDeliveryTimeIdが正しく動作する | E-01 L133-141 | ○ |
| C-08 | getDeliveryTime/setDeliveryTimeが正しく動作する | E-01 L143-151 | ○ |
| C-09 | getTranslations/setTranslationsが正しく動作する | E-01 L153-161 | ○ |
| C-10 | getOrderDeliveries/setOrderDeliveriesが正しく動作する | E-01 L163-171 | ○ |
| C-11 | getSalesChannelDefaultAssignments/setSalesChannelDefaultAssignmentsが正しく動作する | E-01 L173-181 | ○ |
| C-12 | getSalesChannels/setSalesChannelsが正しく動作する | E-01 L183-191 | ○ |
| C-13 | getPrices/setPricesが正しく動作する | E-01 L193-201 | ○ |
| C-14 | getAvailabilityRule/setAvailabilityRuleが正しく動作する | E-01 L203-211 | ○ |
| C-15 | getAvailabilityRuleId/setAvailabilityRuleIdが正しく動作する | E-01 L213-221 | ○ |
| C-16 | getMediaId/setMediaIdが正しく動作する | E-01 L223-231 | ○ |
| C-17 | getTaxId/setTaxIdが正しく動作する | E-01 L233-241 | ○ |
| C-18 | getMedia/setMediaが正しく動作する | E-01 L243-251 | ○ |
| C-19 | getTags/setTagsが正しく動作する | E-01 L253-261 | ○ |
| C-20 | getTaxType/setTaxTypeが正しく動作する | E-01 L263-271 | ○ |
| C-21 | getTechnicalName/setTechnicalNameが正しく動作する | E-01 L273-281 | ○ |
| C-22 | getTax/setTaxが正しく動作する | E-01 L283-291 | ○ |
| C-23 | getAppShippingMethod/setAppShippingMethodが正しく動作する | E-01 L293-301 | ○ |
| C-24 | TAX_TYPE_AUTO定数が'auto' | E-01 L28 | ○ |
| C-25 | TAX_TYPE_FIXED定数が'fixed' | E-01 L29 | ○ |
| C-26 | TAX_TYPE_HIGHEST定数が'highest' | E-01 L30 | ○ |
| C-27 | POSITION_DEFAULT定数が1 | E-01 L31 | ○ |
| C-28 | ACTIVE_DEFAULT定数がfalse | E-01 L32 | ○ |

### ShippingMethodDefinition（UT-SHP-039〜044）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-29 | getEntityNameが'shipping_method'を返す | E-02 L41-46 | ○ |
| C-30 | getCollectionClassがShippingMethodCollection::classを返す | E-02 L48-51 | ○ |
| C-31 | getEntityClassがShippingMethodEntity::classを返す | E-02 L53-56 | ○ |
| C-32 | getDefaultsがtaxType='auto', position=1, active=falseを返す | E-02 L58-65 | ○ |
| C-33 | sinceが'6.0.0.0'を返す | E-02 L67-70 | ○ |
| C-34 | defineFieldsが必要なフィールドを定義する | E-02 L72-102 | ○ |

### ShippingMethodCollection（UT-SHP-045〜053）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-35 | filterByActiveRulesがルールでフィルタリングする | E-03 L21-37 | ○ |
| C-36 | availabilityRuleIdがnullの場合は常に含まれる | E-03 L30-32 | ○ |
| C-37 | getPriceIdsが全価格IDを返す | E-03 L42-51 | ○ |
| C-38 | getPricesが全価格コレクションを返す | E-03 L53-64 | ○ |
| C-39 | sortShippingMethodsByPreferenceがソートする | E-03 L71-79 | ○ |
| C-40 | getApiAliasが'shipping_method_collection'を返す | E-03 L81-84 | ○ |
| C-41 | getExpectedClassがShippingMethodEntity::classを返す | E-03 L86-89 | ○ |

### ShippingException（UT-SHP-054〜058）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-42 | shippingMethodNotFoundがSHIPPING_METHOD_NOT_FOUND例外を生成する | E-04 L18-27 | ○ |
| C-43 | duplicateShippingMethodPriceがDUPLICATE_PRICE例外を生成する | E-04 L29-38 | ○ |
| C-44 | duplicateTechnicalNameがDUPLICATE_TECHNICAL_NAME例外を生成する | E-04 L40-48 | ○ |

### ShippingMethodValidator（UT-SHP-059〜068）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-45 | getSubscribedEventsがPreWriteValidationEventを返す | E-05 L42-47 | ○ |
| C-46 | preValidateが有効な税タイプを許可する | E-05 L29-33, L70-80 | ○ |
| C-47 | preValidateが無効な税タイプを拒否する | E-05 L70-80 | ○ |
| C-48 | taxType='fixed'でtaxIdがnullの場合にエラー | E-05 L82-93 | ○ |
| C-49 | InsertCommand/UpdateCommand以外はスキップ | E-05 L52-54 | ○ |
| C-50 | shipping_method以外のエンティティはスキップ | E-05 L56-58 | ○ |

### ShippingMethodPriceEntity（UT-SHP-069〜084）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-51 | getShippingMethodId/setShippingMethodIdが正しく動作する | E-06 L40-48 | ○ |
| C-52 | getQuantityStart/setQuantityStartが正しく動作する | E-06 L50-58 | ○ |
| C-53 | getQuantityEnd/setQuantityEndが正しく動作する | E-06 L60-68 | ○ |
| C-54 | getCalculation/setCalculationが正しく動作する | E-06 L70-78 | ○ |
| C-55 | getShippingMethod/setShippingMethodが正しく動作する | E-06 L80-88 | ○ |
| C-56 | getRuleId/setRuleIdが正しく動作する | E-06 L90-98 | ○ |
| C-57 | getRule/setRuleが正しく動作する | E-06 L100-108 | ○ |
| C-58 | getCalculationRuleId/setCalculationRuleIdが正しく動作する | E-06 L110-118 | ○ |
| C-59 | getCalculationRule/setCalculationRuleが正しく動作する | E-06 L120-128 | ○ |
| C-60 | getCurrencyPrice/setCurrencyPriceが正しく動作する | E-06 L130-138 | ○ |

### ShippingMethodPriceDefinition（UT-SHP-085〜088）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-61 | getEntityNameが'shipping_method_price'を返す | E-07 L26-29 | ○ |
| C-62 | getCollectionClassがShippingMethodPriceCollection::classを返す | E-07 L31-34 | ○ |
| C-63 | getEntityClassがShippingMethodPriceEntity::classを返す | E-07 L36-39 | ○ |
| C-64 | getParentDefinitionClassがShippingMethodDefinition::classを返す | E-07 L46-49 | ○ |

### ShippingMethodPriceCollection（UT-SHP-089〜092）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-65 | getShippingMethodIdsが配送方法IDの配列を返す | E-08 L17-20 | ○ |
| C-66 | filterByShippingMethodIdがフィルタリングする | E-08 L22-25 | ○ |
| C-67 | getApiAliasが'shipping_method_price_collection'を返す | E-08 L27-30 | ○ |

### ShippingMethodPriceExceptionHandler（UT-SHP-093〜095）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-68 | getPriorityがPRIORITY_DEFAULTを返す | E-09 L12-15 | ○ |
| C-69 | matchExceptionが重複価格エラーをマッチする | E-09 L17-24 | ○ |

### ShippingMethodTranslationEntity（UT-SHP-096〜100）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-70 | getShippingMethodId/setShippingMethodIdが正しく動作する | E-10 L25-33 | ○ |
| C-71 | getName/setNameが正しく動作する | E-10 L35-43 | ○ |
| C-72 | getDescription/setDescriptionが正しく動作する | E-10 L45-53 | ○ |
| C-73 | getTrackingUrl/setTrackingUrlが正しく動作する | E-10 L55-63 | ○ |
| C-74 | getShippingMethod/setShippingMethodが正しく動作する | E-10 L65-73 | ○ |

### ShippingMethodTranslationDefinition（UT-SHP-101〜102）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-75 | getEntityNameが'shipping_method_translation'を返す | E-11 L20-23 | ○ |
| C-76 | getParentDefinitionClassがShippingMethodDefinition::classを返す | E-11 L40-43 | ○ |

### ShippingMethodTranslationCollection（UT-SHP-103〜106）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-77 | getShippingMethodIdsが配送方法IDの配列を返す | E-12 L17-20 | ○ |
| C-78 | filterByShippingMethodIdがフィルタリングする | E-12 L22-25 | ○ |
| C-79 | getLanguageIdsが言語IDの配列を返す | E-12 L30-33 | ○ |
| C-80 | filterByLanguageIdがフィルタリングする | E-12 L35-38 | ○ |

### ShippingMethodRoute（UT-SHP-107〜115）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-81 | getDecoratedがDecorationPatternExceptionをスローする | E-14 L42-45 | ○ |
| C-82 | buildNameがルート名を生成する | E-14 L47-50 | ○ |
| C-83 | loadがアクティブな配送方法をフィルタリングする | E-14 L66-67 | ○ |
| C-84 | loadがmediaアソシエーションを追加する | E-14 L68 | ○ |
| C-85 | loadがデフォルトソートを適用する | E-14 L70-72 | ○ |
| C-86 | loadがonlyAvailableでフィルタリングする | E-14 L79-81 | ○ |
| C-87 | loadがsortShippingMethodsByPreferenceを呼ぶ | E-14 L77 | ○ |
| C-88 | loadがShippingMethodRouteHookを実行する | E-14 L85-89 | ○ |

### ShippingMethodRouteResponse（UT-SHP-116）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-89 | getShippingMethodsがShippingMethodCollectionを返す | E-16 L16-19 | ○ |

### SalesChannelShippingMethodDefinition（UT-SHP-117）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-90 | processCriteriaが販売チャネルフィルタを追加する | E-17 L15-18 | ○ |

### ShippingMethodBlockedError（UT-SHP-118〜127）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-91 | コンストラクタがエラーメッセージを設定する | E-18 L19-38 | ○ |
| C-92 | isPersistentがfalseを返す | E-18 L40-43 | ○ |
| C-93 | getParametersがid, name, reasonを含む配列を返す | E-18 L45-52 | ○ |
| C-94 | getShippingMethodIdがIDを返す | E-18 L57-60 | ○ |
| C-95 | getNameが名前を返す | E-18 L62-65 | ○ |
| C-96 | getReasonが理由を返す | E-18 L70-73 | ○ |
| C-97 | blockOrderがtrueを返す | E-18 L75-78 | ○ |
| C-98 | getIdがエラーIDを生成する | E-18 L80-89 | ○ |
| C-99 | getLevelがLEVEL_WARNINGを返す | E-18 L91-94 | ○ |
| C-100 | getMessageKeyが'shipping-method-blocked'を返す | E-18 L96-99 | ○ |

### ShippingMethodRouteHook（UT-SHP-128〜130）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-101 | getNameが'shipping-method-route-request'を返す | E-19 L38-41 | ○ |
| C-102 | getCollectionがShippingMethodCollectionを返す | E-19 L43-46 | ○ |
| C-103 | isOnlyAvailableがonlyAvailableフラグを返す | E-19 L48-51 | ○ |

### ShippingEvents（UT-SHP-131〜135）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-104 | SHIPPING_METHOD_WRITTEN_EVENTが正しい値を持つ | E-20 L10 | ○ |
| C-105 | SHIPPING_METHOD_DELETED_EVENTが正しい値を持つ | E-20 L12 | ○ |
| C-106 | SHIPPING_METHOD_LOADED_EVENTが正しい値を持つ | E-20 L14 | ○ |
| C-107 | SHIPPING_METHOD_PRICE_WRITTEN_EVENTが正しい値を持つ | E-20 L22 | ○ |
| C-108 | SHIPPING_METHOD_TRANSLATION_WRITTEN_EVENTが正しい値を持つ | E-20 L34 | ○ |

## 4) 不足情報（Unknown / Missing）
- **特になし**：全てのテストケースに対してソースコードの根拠が確認できました。

## 5) リスクフラグ（レビュー観点）
- **0（低リスク）**：全テストケースがソースコードに基づいており、根拠が明確です。
- **注意点**：
  - `ShippingMethodCollection::filterByActiveRules`は`@deprecated tag:v6.8.0`のため、将来のバージョンでテストが不要になる可能性があります。
  - `ShippingMethodBlockedError`のコンストラクタパラメータはv6.8.0で変更予定です。
  - `ShippingMethodRouteCacheTagsEvent`と`ShippingMethodRouteCacheKeyEvent`はv6.8.0で削除予定のため、テストケースを生成していません。

## 6) レビュアーチェックリスト（最小）
- [ ] ShippingMethodValidatorの税タイプバリデーションが全3種類（auto, fixed, highest）をカバーしているか確認
- [ ] ShippingMethodRoute.loadのonlyAvailableフラグの動作がRuleIdMatcherと連携していることを確認
- [ ] ShippingMethodBlockedErrorのdeprecation警告（v6.8.0）が考慮されているか確認
- [ ] ShippingMethodCollectionのfilterByActiveRulesがdeprecatedであることが考慮されているか確認
- [ ] 価格計算ロジック（ShippingMethodPriceEntity）のquantityStart/quantityEndの境界値テストが十分か確認
