---
generated_at: 2026-02-18 10:30:00
metrics:
  claims_total: 77
  claims_with_evidence: 77
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：public-Rg 単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：77 / 77、根拠なし：0
- 優先レビュー（高）
  1. すべてのテストケースはソースコードに基づいて生成されており、根拠が明確です
  2. Resource Governor関連の9つのコマンドをすべて網羅しています
  3. 正常系・異常系・境界値のテスト観点を各コマンドで適用しています

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

- E-01: `public/Get-DbaRgClassifierFunction.ps1` - Classifier Function取得コマンド
- E-02: `public/Get-DbaRgResourcePool.ps1` - Resource Pool取得コマンド
- E-03: `public/Get-DbaRgWorkloadGroup.ps1` - Workload Group取得コマンド
- E-04: `public/New-DbaRgResourcePool.ps1` - Resource Pool作成コマンド
- E-05: `public/New-DbaRgWorkloadGroup.ps1` - Workload Group作成コマンド
- E-06: `public/Set-DbaRgResourcePool.ps1` - Resource Pool設定変更コマンド
- E-07: `public/Set-DbaRgWorkloadGroup.ps1` - Workload Group設定変更コマンド
- E-08: `public/Remove-DbaRgResourcePool.ps1` - Resource Pool削除コマンド
- E-09: `public/Remove-DbaRgWorkloadGroup.ps1` - Workload Group削除コマンド
- E-10: `docs/code-to-docs/単体テストケース一覧/plan.md` - プロジェクト情報・モジュール分類

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

### Get-DbaRgClassifierFunction (UT-RG-001 - UT-RG-006)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | SqlInstanceパラメータでClassifier Functionを取得できる | E-01 (行90-92: foreach ($instance in $SqlInstance)) | ○ |
| C-02 | InputObjectパラメータでパイプライン入力を処理できる | E-01 (行84-85: [parameter(ValueFromPipeline)]) | ○ |
| C-03 | 返却オブジェクトにNotePropertyが付加される | E-01 (行106-109: Add-Member -Force) | ○ |
| C-04 | Classifier Function未設定時は何も返却されない | E-01 (行105: if ($classifierFunction)) | ○ |
| C-05 | 接続失敗時にエラーが発生する | E-01 (行91: Get-DbaResourceGovernor呼び出し) | ○ |
| C-06 | 複数インスタンスを処理できる | E-01 (行90: foreach ($instance in $SqlInstance)) | ○ |

### Get-DbaRgResourcePool (UT-RG-007 - UT-RG-012)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-07 | InternalタイプでResource Poolを取得できる | E-02 (行117-124: else { $respool = $resourcegov.ResourcePools }) | ○ |
| C-08 | ExternalタイプでExternal Resource Poolを取得できる | E-02 (行109-116: if ($Type -eq "External")) | ○ |
| C-09 | InputObjectでパイプライン入力を処理できる | E-02 (行98-99: [parameter(ValueFromPipeline)]) | ○ |
| C-10 | 返却オブジェクトにNotePropertyが付加される | E-02 (行112-114, 120-122: Add-Member) | ○ |
| C-11 | デフォルトでInternalタイプが選択される | E-02 (行97: [string]$Type = "Internal") | ○ |
| C-12 | Resource Pool不存在時は何も返却されない | E-02 (行111, 119: if ($respool)) | ○ |

### Get-DbaRgWorkloadGroup (UT-RG-013 - UT-RG-017)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-13 | SqlInstanceでWorkload Groupを取得できる | E-03 (行90-92: foreach ($instance in $SqlInstance)) | ○ |
| C-14 | InputObjectでResource Poolから入力を処理できる | E-03 (行84-85: [parameter(ValueFromPipeline)]) | ○ |
| C-15 | 返却オブジェクトにNotePropertyが付加される | E-03 (行97-99: Add-Member) | ○ |
| C-16 | Workload Group不存在時は何も返却されない | E-03 (行96: if ($group)) | ○ |
| C-17 | 複数のResource PoolからWorkload Groupを取得できる | E-03 (行94: foreach ($pool in $InputObject)) | ○ |

### New-DbaRgResourcePool (UT-RG-018 - UT-RG-028)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-18 | Internal Resource Poolを作成できる | E-04 (行198-213: $Type -eq "Internal") | ○ |
| C-19 | External Resource Poolを作成できる | E-04 (行186-197: $Type -eq "External") | ○ |
| C-20 | CPU/Memory/IOPS設定を指定して作成できる | E-04 (行133-151: パラメータ定義) | ○ |
| C-21 | SkipReconfigureで再構成をスキップできる | E-04 (行217-218: if ($SkipReconfigure)) | ○ |
| C-22 | Forceで既存プールを削除して再作成できる | E-04 (行169-176: if ($Force)) | ○ |
| C-23 | 同名プール既存時にエラーが発生する | E-04 (行177-180: Stop-Function) | ○ |
| C-24 | MinimumCpuPercentage=0で作成できる | E-04 (行134-135: ValidateRange(0, 100)) | ○ |
| C-25 | MaximumCpuPercentage=100で作成できる | E-04 (行136-137: ValidateRange(1, 100)) | ○ |
| C-26 | MinimumMemoryPercentage=0で作成できる | E-04 (行142-143: ValidateRange(0, 100)) | ○ |
| C-27 | MaximumMemoryPercentage=100で作成できる | E-04 (行144-145: ValidateRange(1, 100)) | ○ |
| C-28 | WhatIfで実際に作成されない | E-04 (行125: SupportsShouldProcess) | ○ |

### New-DbaRgWorkloadGroup (UT-RG-029 - UT-RG-040)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-29 | Workload Groupを作成できる | E-05 (行177-184: $newWorkloadGroup.Create()) | ○ |
| C-30 | カスタム設定で作成できる | E-05 (行119-139: パラメータ定義) | ○ |
| C-31 | デフォルトリソースプールで作成できる | E-05 (行125: [string]$ResourcePool = "default") | ○ |
| C-32 | Forceで既存グループを削除して再作成できる | E-05 (行160-167: if ($Force)) | ○ |
| C-33 | 同名グループ既存時にエラーが発生する | E-05 (行168-171: Stop-Function) | ○ |
| C-34 | SkipReconfigureで再構成をスキップできる | E-05 (行187-188: if ($SkipReconfigure)) | ○ |
| C-35 | Importance=LOWで作成できる | E-05 (行128-129: ValidateSet("LOW", "MEDIUM", "HIGH")) | ○ |
| C-36 | Importance=HIGHで作成できる | E-05 (行128-129: ValidateSet) | ○ |
| C-37 | RequestMaximumMemoryGrantPercentage=1で作成できる | E-05 (行130-131: ValidateRange(1, 100)) | ○ |
| C-38 | RequestMaximumMemoryGrantPercentage=100で作成できる | E-05 (行130-131: ValidateRange(1, 100)) | ○ |
| C-39 | MaximumDegreeOfParallelism=0で作成できる | E-05 (行136-137: ValidateRange(0, 64)) | ○ |
| C-40 | MaximumDegreeOfParallelism=64で作成できる | E-05 (行136-137: ValidateRange(0, 64)) | ○ |

### Set-DbaRgResourcePool (UT-RG-041 - UT-RG-050)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-41 | Resource Pool設定を変更できる | E-06 (行254-260: $resPool.Alter()) | ○ |
| C-42 | InputObjectでパイプライン入力を処理できる | E-06 (行177-178: [Parameter(ValueFromPipeline)]) | ○ |
| C-43 | 複数設定を同時に変更できる | E-06 (行226-250: 各PSBoundParameters確認) | ○ |
| C-44 | External Resource Pool設定を変更できる | E-06 (行215-224: if ($Type -eq "External")) | ○ |
| C-45 | SkipReconfigureで再構成をスキップできる | E-06 (行264-265: if ($SkipReconfigure)) | ○ |
| C-46 | CapCpuPercentageがSQL 2012以降で設定できる | E-06 (行244-250: ServerVersion.Major -ge 11) | ○ |
| C-47 | CapCpuPercentageがSQL 2008で警告が出る | E-06 (行247-249: ServerVersion.Major -lt 11) | ○ |
| C-48 | ResourcePool未指定時にエラーが発生する | E-06 (行183-186: Stop-Function) | ○ |
| C-49 | SqlInstance未指定時にエラーが発生する | E-06 (行187-190: Stop-Function) | ○ |
| C-50 | 返却オブジェクトにNotePropertyが付加される | E-06 (行273-275: Add-Member) | ○ |

### Set-DbaRgWorkloadGroup (UT-RG-051 - UT-RG-058)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-51 | Workload Group設定を変更できる | E-07 (行188-194: $wklGroup.Alter()) | ○ |
| C-52 | InputObjectでパイプライン入力を処理できる | E-07 (行132-133: [Parameter(ValueFromPipeline)]) | ○ |
| C-53 | 複数設定を同時に変更できる | E-07 (行168-185: 各PSBoundParameters確認) | ○ |
| C-54 | SkipReconfigureで再構成をスキップできる | E-07 (行198-199: if ($SkipReconfigure)) | ○ |
| C-55 | WorkloadGroup未指定時にエラーが発生する | E-07 (行138-141: Stop-Function) | ○ |
| C-56 | SqlInstance未指定時にエラーが発生する | E-07 (行142-145: Stop-Function) | ○ |
| C-57 | RequestMaximumCpuTimeInSeconds=0で設定できる | E-07 (行123-124: ValidateRange(0, [int]::MaxValue)) | ○ |
| C-58 | RequestMemoryGrantTimeoutInSeconds=0で設定できる | E-07 (行125-126: ValidateRange(0, [int]::MaxValue)) | ○ |

### Remove-DbaRgResourcePool (UT-RG-059 - UT-RG-067)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-59 | Internal Resource Poolを削除できる | E-08 (行111-112: Type -eq "Internal") | ○ |
| C-60 | External Resource Poolを削除できる | E-08 (行113-115: Type -eq "External") | ○ |
| C-61 | InputObjectでパイプライン入力を処理できる | E-08 (行83-84: [Parameter(ValueFromPipeline)]) | ○ |
| C-62 | SkipReconfigureで再構成をスキップできる | E-08 (行130-131: if ($SkipReconfigure)) | ○ |
| C-63 | ResourcePool未指定時にエラーが発生する | E-08 (行88-91: Stop-Function) | ○ |
| C-64 | SqlInstance未指定時にエラーが発生する | E-08 (行92-95: Stop-Function) | ○ |
| C-65 | InputObjectからTypeが自動判定される(Internal) | E-08 (行97-99: -is [ResourcePool]) | ○ |
| C-66 | InputObjectからTypeが自動判定される(External) | E-08 (行100-102: -is [ExternalResourcePool]) | ○ |
| C-67 | WhatIfで実際に削除されない | E-08 (行73: SupportsShouldProcess) | ○ |

### Remove-DbaRgWorkloadGroup (UT-RG-068 - UT-RG-077)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-68 | Workload Groupを削除できる | E-09 (行136: $wklGroup.Drop()) | ○ |
| C-69 | InputObjectでパイプライン入力を処理できる | E-09 (行93-94: [Parameter(ValueFromPipeline)]) | ○ |
| C-70 | 削除結果オブジェクトが正しく返却される | E-09 (行127-143: PSCustomObject作成) | ○ |
| C-71 | SkipReconfigureで再構成をスキップできる | E-09 (行147-148: if ($SkipReconfigure)) | ○ |
| C-72 | デフォルトリソースプールから削除できる | E-09 (行89: [string]$ResourcePool = "default") | ○ |
| C-73 | WorkloadGroup未指定時にエラーが発生する | E-09 (行98-101: Stop-Function) | ○ |
| C-74 | SqlInstance未指定時にエラーが発生する | E-09 (行102-105: Stop-Function) | ○ |
| C-75 | 削除失敗時にIsRemoved=$falseが返却される | E-09 (行139-142: catch { IsRemoved = $false }) | ○ |
| C-76 | WhatIfで実際に削除されない | E-09 (行82: SupportsShouldProcess) | ○ |
| C-77 | External Resource Poolから削除できる | E-09 (行116-118: ResourcePoolType -eq "External") | ○ |

## 4) 不足情報（Unknown / Missing）
- 該当なし
  - すべてのテストケースはソースコードの実装に基づいて生成されており、根拠が明確です

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

## 6) レビュアーチェックリスト（最小）
- [ ] テストケースが各コマンドの主要なパラメータをカバーしているか確認
- [ ] 正常系・異常系・境界値のバランスが適切か確認
- [ ] Resource Governor固有の要件（SQL Serverバージョン依存機能など）が考慮されているか確認
- [ ] パイプライン入力のテストケースが含まれているか確認
- [ ] ShouldProcess（WhatIf/Confirm）のテストケースが含まれているか確認
