feat: add benchmark-programs — 58 telecom COBOL test programs
作为子目录纳入系统,与核心测试管道协同 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# 境界条件テスト (Edge Case Tests)
|
||||
|
||||
## 概要
|
||||
COBOL プログラムの型判定システムの検証に特化した境界条件テスト集。
|
||||
通常のテストパターンではカバーできない特殊ケースを網羅。
|
||||
|
||||
## テスト一覧
|
||||
|
||||
| プログラム | カバー内容 | 件数 |
|
||||
|-----------|-----------|------|
|
||||
| `prog-struct-edge.cbl` | PERFORM THRU, GO TO DEPENDING, 段落スルー, ALTER | 6 |
|
||||
| `data-type-edge.cbl` | REDEFINES連鎖, ODO=0, JUSTIFIED, BLANK ZERO, SIGN, 編集記号 | 8 |
|
||||
| `file-status-edge.cbl` | STATUS 35/37/41/44/47/48 | 5 |
|
||||
| `numeric-edge.cbl` | COMP-3符号, SIZE ERROR, ROUNDED, 桁あふれ, 混算, ゼロ除算 | 9 |
|
||||
| `level88-edge.cbl` | 88-level THRU範囲, 複数値, 境界値 | 10 |
|
||||
| `matching-edge.cbl` | 0%一致, 100%一致, 全同キー, 降順 | 4 |
|
||||
| `ambiguous-type-edge.cbl` | matching+key切混淆, IF+EVALUATE hybrid | 2 |
|
||||
|
||||
## 追加境界データ
|
||||
既存の各プログラムディレクトリに `*-empty.dat` (0バイト空ファイル) 追加:
|
||||
01~08, 10~12, 24, 30, 31, 34, 35
|
||||
|
||||
## 実行方法
|
||||
```bash
|
||||
cd cross-cutting/edge-cases && bash run.sh
|
||||
```
|
||||
|
||||
## 判定エンジン検証
|
||||
以下の混淆パターンは型判定エンジンの正しさを検証する:
|
||||
- `ambiguous-type-edge.cbl`: 2入力+WS-PREV-KEY+累算器 → matching? key切?
|
||||
- IF + EVALUATE 両方 → 分岐種別の判定
|
||||
- 降順入力 → 「ソート済み」前提への違反検出
|
||||
Reference in New Issue
Block a user