---
generated_at: 2026-03-01 12:00:00
metrics:
  claims_total: 160
  claims_with_evidence: 152
  claims_without_evidence: 8
confidence_derived: 0.95
---

# 根拠レポート: nu_plugin_polars 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.95**
  - 根拠あり：152 / 160、根拠なし：8
- 優先レビュー（高）
  1. **UT-POL-002**：tokioランタイム失敗時の挙動 - 実際の失敗条件の再現が困難
  2. **UT-POL-020**：Mutexポイズン時の挙動 - 実際のポイズン条件の再現が困難
  3. **UT-POL-086**：NuLazyFrame collect失敗時 - 無効なLazyFrameの作成方法が不明確

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

- E-01: `crates/nu_plugin_polars/src/lib.rs` - PolarsPlugin構造体定義、Pluginトレイト実装
- E-02: `crates/nu_plugin_polars/src/cache/mod.rs` - Cache構造体定義、Cacheableトレイト定義
- E-03: `crates/nu_plugin_polars/src/dataframe/values/mod.rs` - PolarsPluginType, PolarsPluginObject, CustomValueType, CustomValueSupport定義
- E-04: `crates/nu_plugin_polars/src/dataframe/values/nu_dataframe/mod.rs` - NuDataFrame構造体定義、各種メソッド実装
- E-05: `crates/nu_plugin_polars/src/dataframe/values/nu_lazyframe/mod.rs` - NuLazyFrame構造体定義、各種メソッド実装
- E-06: `crates/nu_plugin_polars/src/dataframe/values/nu_expression/mod.rs` - NuExpression構造体定義、expr_to_value関数
- E-07: `crates/nu_plugin_polars/src/dataframe/values/nu_schema/mod.rs` - NuSchema構造体定義、value_to_schema関数
- E-08: `crates/nu_plugin_polars/src/dataframe/values/file_type.rs` - PolarsFileType enum定義
- E-09: `crates/nu_plugin_polars/src/dataframe/values/nu_dataframe/conversion.rs` - Column構造体、型変換関数群
- E-10: `crates/nu_plugin_polars/src/dataframe/values/nu_dataframe/operations.rs` - NuDataFrame演算メソッド
- E-11: `crates/nu_plugin_polars/src/dataframe/command/core/to_df.rs` - ToDataFrameコマンド実装
- E-12: `crates/nu_plugin_polars/src/dataframe/command/data/filter.rs` - LazyFilterコマンド実装
- E-13: `crates/nu_plugin_polars/src/cache/mod.rs` テストコード - test_remove_plugin_cache_enable
- E-14: `crates/nu_plugin_polars/src/dataframe/values/mod.rs` テストコード - test_dtype_str_to_schema_*
- E-15: `crates/nu_plugin_polars/src/dataframe/values/nu_schema/mod.rs` テストコード - test_value_to_schema
- E-16: `crates/nu_plugin_polars/src/dataframe/values/nu_dataframe/conversion.rs` テストコード - 各型変換テスト

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 (UT-POL-001) | PolarsPluginインスタンスが正常に作成される | E-01 (lib.rs:69-81) | ○ |
| C-02 (UT-POL-002) | tokioランタイム作成失敗時にエラーが返される | E-01 (lib.rs:73-79) | △ |
| C-03 (UT-POL-003) | バージョン文字列が返却される | E-01 (lib.rs:85-87) | ○ |
| C-04 (UT-POL-004) | 全コマンドリストが返却される | E-01 (lib.rs:89-106) | ○ |
| C-05 (UT-POL-005) | キャッシュからカスタム値が削除される | E-01 (lib.rs:108-119), E-02 | ○ |
| C-06 (UT-POL-006) | disable_cache_drop時に削除されない | E-01 (lib.rs:114) | ○ |
| C-07 (UT-POL-007-009) | custom_value_to_base_value各型変換 | E-01 (lib.rs:121-137) | ○ |
| C-08 (UT-POL-010-011) | custom_value_operation演算 | E-01 (lib.rs:139-173) | ○ |
| C-09 (UT-POL-012-013) | follow_path_int/string | E-01 (lib.rs:175-248) | ○ |
| C-10 (UT-POL-014) | partial_cmp比較 | E-01 (lib.rs:250-279) | ○ |
| C-11 (UT-POL-015-016) | handle_panic処理 | E-01 (lib.rs:282-296) | ○ |
| C-12 (UT-POL-017-018) | EngineWrapper get_env_var/use_color | E-01 (lib.rs:36-58) | ○ |
| C-13 (UT-POL-019) | Cache::lock正常系 | E-02 (mod.rs:35-43) | ○ |
| C-14 (UT-POL-020) | Cache::lockポイズン時 | E-02 (mod.rs:36-42) | △ |
| C-15 (UT-POL-021-022) | Cache::insert | E-02 (mod.rs:84-108), E-13 | ○ |
| C-16 (UT-POL-023-025) | Cache::get | E-02 (mod.rs:110-120) | ○ |
| C-17 (UT-POL-026-028) | Cache::remove | E-02 (mod.rs:50-80), E-13 | ○ |
| C-18 (UT-POL-029) | Cache::process_entries | E-02 (mod.rs:122-134) | ○ |
| C-19 (UT-POL-030-031) | Cacheable::cache/get_cached | E-02 (mod.rs:144-165) | ○ |
| C-20 (UT-POL-032-033) | PolarsPluginType型情報 | E-03 (mod.rs:33-73) | ○ |
| C-21 (UT-POL-034-038) | PolarsPluginObject変換 | E-03 (mod.rs:97-214) | ○ |
| C-22 (UT-POL-039-041) | CustomValueType変換 | E-03 (mod.rs:228-283) | ○ |
| C-23 (UT-POL-042-048) | str_to_dtype型変換 | E-03, E-14 | ○ |
| C-24 (UT-POL-049-051) | NuDataFrame基本メソッド | E-04 (mod.rs:128-144) | ○ |
| C-25 (UT-POL-052-057) | NuDataFrame try_from系 | E-04 (mod.rs:146-232) | ○ |
| C-26 (UT-POL-058-070) | NuDataFrameアクセサ | E-04 (mod.rs:255-386) | ○ |
| C-27 (UT-POL-071-078) | NuDataFrame表示/比較 | E-04 (mod.rs:362-454) | ○ |
| C-28 (UT-POL-079-081) | NuDataFrame coerce/fill | E-04 (mod.rs:234-253, 456-483) | ○ |
| C-29 (UT-POL-082-090) | NuLazyFrame | E-05 | ○ |
| C-30 (UT-POL-091-103) | NuExpression | E-06 | ○ |
| C-31 (UT-POL-104-106) | NuSchema | E-07, E-15 | ○ |
| C-32 (UT-POL-107-112) | PolarsFileType | E-08 | ○ |
| C-33 (UT-POL-113-141) | conversion関数群 | E-09, E-16 | ○ |
| C-34 (UT-POL-142-150) | NuDataFrame operations | E-10 | ○ |
| C-35 (UT-POL-151-154) | ToDataFrameコマンド | E-11 | ○ |
| C-36 (UT-POL-155-157) | LazyFilterコマンド | E-12 | ○ |
| C-37 (UT-POL-158-160) | CustomValueSupport | E-03 (mod.rs:351-463) | ○ |

## 4) 不足情報（Unknown / Missing）
- **tokioランタイム失敗条件（UT-POL-002）**: 通常の環境でtokioランタイムの初期化失敗を再現することは困難。リソース枯渇などの特殊条件が必要。
  - 候補：システムリソース制限のモック / テスト用のフェイクランタイム / 統合テストでの検証

- **Mutexポイズン条件（UT-POL-020）**: スレッドパニック後のMutexポイズン状態を再現するテストは複雑。
  - 候補：意図的にパニックを発生させるスレッドのテスト / ポイズンをシミュレートするモック

- **NuLazyFrame collect失敗（UT-POL-086）**: 無効なLazyFrameの構築方法が不明確。
  - 候補：不正なクエリを含むLazyFrameの作成 / polarsライブラリの特定のエラー条件

- **cloud module**: `crates/nu_plugin_polars/src/cloud/`配下のAWS/Azure/GCPモジュールは今回のスコープ外
  - 候補：別途クラウド連携テストケースの作成

## 5) リスクフラグ（レビュー観点）
- **1: 中リスク** - 異常系テストケース（UT-POL-002, UT-POL-020, UT-POL-086等）の再現性
  - これらのテストケースは実際の実装時に条件の調整が必要
- **0: 低リスク** - 正常系テストケースはソースコードの構造と一致
- **0: 低リスク** - 既存のテストコード（E-13〜E-16）がテストパターンの参考になる

## 6) レビュアーチェックリスト（最小）
- [ ] 各テストケースの入力値と期待結果が具体的かつ実行可能か
- [ ] 境界値テストケース（空配列、最大値など）が適切にカバーされているか
- [ ] 異常系テストケースで想定するエラー型（ShellError::*）が正しいか
- [ ] 優先度「高」のテストケースがビジネスロジックの重要部分をカバーしているか
- [ ] 既存テストコード（E-13〜E-16）との整合性があるか
- [ ] cloudモジュール（AWS/Azure/GCP）のテストケースが別途必要かどうか
