---
generated_at: 2026-02-18 15:30:00
metrics:
  claims_total: 79
  claims_with_evidence: 79
  claims_without_evidence: 0
confidence_derived: 1.00
---

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

## 本レポートについて

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

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

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

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

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

---

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

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

- E-01: `public/Get-DbaWsfcCluster.ps1`
- E-02: `public/Get-DbaWsfcNode.ps1`
- E-03: `public/Get-DbaWsfcDisk.ps1`
- E-04: `public/Get-DbaWsfcAvailableDisk.ps1`
- E-05: `public/Get-DbaWsfcSharedVolume.ps1`
- E-06: `public/Get-DbaWsfcNetwork.ps1`
- E-07: `public/Get-DbaWsfcNetworkInterface.ps1`
- E-08: `public/Get-DbaWsfcResource.ps1`
- E-09: `public/Get-DbaWsfcRole.ps1`
- E-10: `public/Get-DbaWsfcResourceType.ps1`
- E-11: `public/Get-DbaWsfcResourceGroup.ps1`
- E-12: `docs/code-to-docs/単体テストケース一覧/plan.md`

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

### Get-DbaWsfcCluster（UT-WSF-001 〜 011）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | ComputerNameパラメータでクラスター情報取得 | E-01 L102-107 param定義、L109-113 process実装 | ○ |
| C-02 | デフォルト値として$env:COMPUTERNAMEを使用 | E-01 L104 `$ComputerName = $env:COMPUTERNAME` | ○ |
| C-03 | 複数ComputerName指定時のforeach処理 | E-01 L109 `foreach ($computer in $computername)` | ○ |
| C-04 | Credentialパラメータによる認証 | E-01 L105 `[PSCredential]$Credential`、L110 Get-DbaCmObject呼出 | ○ |
| C-05 | StateプロパティのAdd-Member追加 | E-01 L111 `Add-Member -Force -NotePropertyName State` | ○ |
| C-06 | Select-DefaultViewによるプロパティ選択 | E-01 L112 `Select-DefaultView -Property Name, Fqdn, State...` | ○ |
| C-07 | 存在しないComputerNameでのエラー処理 | E-01 L110 Get-DbaCmObject呼出（内部でエラー処理） | ○ |
| C-08 | EnableExceptionパラメータの存在 | E-01 L106 `[switch]$EnableException` | ○ |
| C-09 | 無効な資格情報でのエラー | E-01 L110 Get-DbaCmObject -Credential | ○ |
| C-10 | 空文字列ComputerNameの境界値 | E-01 L104 パラメータ型DbaInstanceParameter[] | ○ |
| C-11 | nullComputerNameの境界値 | E-01 L104 デフォルト値の存在 | ○ |

### Get-DbaWsfcNode（UT-WSF-012 〜 018）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-12 | ノード情報取得の基本機能 | E-02 L71-78 process実装、L74 MSCluster_Node取得 | ○ |
| C-13 | デフォルト値の動作 | E-02 L67 `$ComputerName = $env:COMPUTERNAME` | ○ |
| C-14 | ClusterName/ClusterFqdnプロパティ追加 | E-02 L75-76 Add-Member | ○ |
| C-15 | マルチノード対応 | E-02 L74 MSCluster_Node（複数ノード返却） | ○ |
| C-16 | 認証機能 | E-02 L68 `[PSCredential]$Credential` | ○ |
| C-17 | エラーハンドリング | E-02 L73-74 Get-DbaWsfcCluster/Get-DbaCmObject | ○ |
| C-18 | EnableException | E-02 L69 `[switch]$EnableException` | ○ |

### Get-DbaWsfcDisk（UT-WSF-019 〜 026）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-19 | ディスク情報取得の基本機能 | E-03 L70-96 process実装 | ○ |
| C-20 | 複数ディスク対応 | E-03 L73 `foreach ($resource in $resources)`、L75 `foreach ($disk in $disks)` | ○ |
| C-21 | dbasizeオブジェクトでのサイズ返却 | E-03 L86-87 `[dbasize]($diskpart.TotalSize * 1MB)` | ○ |
| C-22 | ClusterName/ClusterFqdn設定 | E-03 L78-79 PSCustomObject内で設定 | ○ |
| C-23 | 認証機能 | E-03 L68 `[PSCredential]$Credential` | ○ |
| C-24 | Physical Diskなしの場合 | E-03 L72 `Where-Object Type -eq 'Physical Disk'` | ○ |
| C-25 | エラーハンドリング | E-03 L72 Get-DbaWsfcResource呼出 | ○ |
| C-26 | パーティションなしの境界値 | E-03 L76 Get-CimAssociatedInstance | ○ |

### Get-DbaWsfcAvailableDisk（UT-WSF-027 〜 032）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-27 | 利用可能ディスク取得 | E-04 L77-86 process実装、L80 MSCluster_AvailableDisk | ○ |
| C-28 | NoteProperty追加 | E-04 L83-85 Add-Member | ○ |
| C-29 | 認証機能 | E-04 L75 `[PSCredential]$Credential` | ○ |
| C-30 | 複数ディスク対応 | E-04 L80 Get-DbaCmObject（配列返却） | ○ |
| C-31 | ディスクなしの場合 | E-04 L80 MSCluster_AvailableDisk（空の場合あり） | ○ |
| C-32 | エラーハンドリング | E-04 L79-80 Get-DbaWsfcCluster/Get-DbaCmObject | ○ |

### Get-DbaWsfcSharedVolume（UT-WSF-033 〜 037）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-33 | CSV情報取得 | E-05 L60-68 process実装、L63 ClusterSharedVolume | ○ |
| C-34 | NoteProperty追加 | E-05 L65-67 Add-Member | ○ |
| C-35 | 認証機能 | E-05 L58 `[PSCredential]$Credential` | ○ |
| C-36 | CSV未構成の場合 | E-05 L63 ClusterSharedVolume（空の場合あり） | ○ |
| C-37 | エラーハンドリング | E-05 L62-63 Get-DbaWsfcCluster/Get-DbaCmObject | ○ |

### Get-DbaWsfcNetwork（UT-WSF-038 〜 043）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-38 | ネットワーク情報取得 | E-06 L67-76 process実装、L71 MSCluster_Network | ○ |
| C-39 | NoteProperty追加 | E-06 L72-73 Add-Member | ○ |
| C-40 | IPv4/IPv6アドレス情報 | E-06 L75 Select-DefaultView IPv4Addresses, IPv6Addresses | ○ |
| C-41 | 複数ネットワーク対応 | E-06 L71 Get-DbaCmObject（配列返却） | ○ |
| C-42 | 認証機能 | E-06 L65 `[PSCredential]$Credential` | ○ |
| C-43 | エラーハンドリング | E-06 L69-71 Get-DbaWsfcCluster/Get-DbaCmObject | ○ |

### Get-DbaWsfcNetworkInterface（UT-WSF-044 〜 049）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-44 | インターフェース情報取得 | E-07 L74-81 process実装、L77 MSCluster_NetworkInterface | ○ |
| C-45 | NoteProperty追加 | E-07 L78-79 Add-Member | ○ |
| C-46 | DHCP情報 | E-07 L80 Select-DefaultView DhcpEnabled | ○ |
| C-47 | マルチノード対応 | E-07 L77 MSCluster_NetworkInterface（全ノード） | ○ |
| C-48 | 認証機能 | E-07 L72 `[PSCredential]$Credential` | ○ |
| C-49 | エラーハンドリング | E-07 L76-77 Get-DbaWsfcCluster/Get-DbaCmObject | ○ |

### Get-DbaWsfcResource（UT-WSF-050 〜 056）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-50 | リソース情報取得 | E-08 L99-109 process実装、L102 MSCluster_Resource | ○ |
| C-51 | NoteProperty追加 | E-08 L104-106 Add-Member | ○ |
| C-52 | 複数リソース対応 | E-08 L103 `foreach ($resource in $resources)` | ○ |
| C-53 | Get-ResourceStateによる状態変換 | E-08 L104 `Get-ResourceState $resource.State` | ○ |
| C-54 | 認証機能 | E-08 L97 `[PSCredential]$Credential` | ○ |
| C-55 | エラーハンドリング | E-08 L101-102 Get-DbaWsfcCluster/Get-DbaCmObject | ○ |
| C-56 | EnableException | E-08 L98 `[switch]$EnableException` | ○ |

### Get-DbaWsfcRole（UT-WSF-057 〜 061）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-57 | ロール情報取得 | E-09 L89-97 process実装、L92 MSCluster_ResourceGroup | ○ |
| C-58 | NoteProperty追加 | E-09 L93-95 Add-Member | ○ |
| C-59 | OwnerNode取得 | E-09 L96 Select-DefaultView OwnerNode | ○ |
| C-60 | 認証機能 | E-09 L87 `[PSCredential]$Credential` | ○ |
| C-61 | エラーハンドリング | E-09 L91-92 Get-DbaWsfcCluster/Get-DbaCmObject | ○ |

### Get-DbaWsfcResourceType（UT-WSF-062 〜 066）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-62 | リソースタイプ情報取得 | E-10 L78-85 process実装、L81 MSCluster_ResourceType | ○ |
| C-63 | NoteProperty追加 | E-10 L82-83 Add-Member | ○ |
| C-64 | DisplayName/DllName取得 | E-10 L84 Select-DefaultView DisplayName, DllName | ○ |
| C-65 | 認証機能 | E-10 L76 `[PSCredential]$Credential` | ○ |
| C-66 | エラーハンドリング | E-10 L80-81 Get-DbaWsfcCluster/Get-DbaCmObject | ○ |

### Get-DbaWsfcResourceGroup（UT-WSF-067 〜 079）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-67 | リソースグループ情報取得 | E-11 L95-108 process実装、L98 MSCluster_ResourceGroup | ○ |
| C-68 | Nameパラメータでフィルター | E-11 L81 `[string[]]$Name`、L99-101 Where-Object | ○ |
| C-69 | NoteProperty追加 | E-11 L103-105 Add-Member | ○ |
| C-70 | Get-ResourceGroupStateによる状態変換 | E-11 L85-93 関数定義、L103 呼出 | ○ |
| C-71 | 認証機能 | E-11 L80 `[PSCredential]$Credential` | ○ |
| C-72 | 複数Nameフィルター | E-11 L100 `Where-Object Name -in $Name` | ○ |
| C-73 | エラーハンドリング | E-11 L97-98 Get-DbaWsfcCluster/Get-DbaCmObject | ○ |
| C-74 | 存在しないName指定 | E-11 L99-101 Where-Object（空結果） | ○ |
| C-75 | 状態コード-1でUnknown | E-11 L87 `switch -1 { "Unknown" }` | ○ |
| C-76 | 状態コード0でOnline | E-11 L88 `switch 0 { "Online" }` | ○ |
| C-77 | 状態コード1でOffline | E-11 L89 `switch 1 { "Offline" }` | ○ |
| C-78 | 状態コード2でFailed | E-11 L90 `switch 2 { "Failed" }` | ○ |
| C-79 | 未定義状態コードの処理 | E-11 L91 `default { $state }` | ○ |

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

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

### 注意点
1. **Get-ResourceState関数**: 複数のコマンドで使用されているが、private関数として別ファイルに定義されていると推測される。この関数の実装詳細によって状態変換のテストケースが影響を受ける可能性がある。
2. **Get-DbaCmObject**: 内部で使用されるCIM接続関数。エラーハンドリングの詳細な動作はこの関数の実装に依存する。
3. **WSFCクラスター環境**: 全てのコマンドはWindows Server Failover Clusterが構成された環境でのみテスト可能。モック環境でのテストには追加の考慮が必要。

## 6) レビュアーチェックリスト（最小）
- [ ] 各コマンドの基本機能（正常系）テストケースが含まれているか確認
- [ ] エラーハンドリング（存在しないComputerName）のテストケースが含まれているか確認
- [ ] EnableExceptionパラメータの動作テストが含まれているか確認
- [ ] Get-ResourceGroupState関数の境界値テストが適切か確認
- [ ] Nameパラメータによるフィルタリング機能（Get-DbaWsfcResourceGroup）のテストが網羅的か確認
- [ ] 認証（Credential）パラメータのテストケースが各コマンドに含まれているか確認
