# 境界条件テスト (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 両方 → 分岐種別の判定 - 降順入力 → 「ソート済み」前提への違反検出