{
  "topic": "OPC UA NumericRange 解析",
  "origin": "本文原创合成数据，未采集真实设备",
  "cases": [
    {
      "case_id": "一维闭区间",
      "kind": "正例",
      "input": {
        "shape": [
          5
        ],
        "flat": [
          10,
          11,
          12,
          13,
          14
        ],
        "range": "1:3"
      },
      "expected": {
        "selected": [
          11,
          12,
          13
        ],
        "shape": [
          3
        ],
        "indices": [
          [
            1
          ],
          [
            2
          ],
          [
            3
          ]
        ]
      }
    },
    {
      "case_id": "单个索引",
      "kind": "正例",
      "input": {
        "shape": [
          5
        ],
        "flat": [
          10,
          11,
          12,
          13,
          14
        ],
        "range": "1"
      },
      "expected": {
        "selected": [
          11
        ],
        "shape": [
          1
        ],
        "indices": [
          [
            1
          ]
        ]
      }
    },
    {
      "case_id": "双端范围相等",
      "kind": "显式负例",
      "input": {
        "shape": [
          5
        ],
        "flat": [
          10,
          11,
          12,
          13,
          14
        ],
        "range": "1:1"
      },
      "expected_error": "NumericRange双端范围必须严格递增"
    },
    {
      "case_id": "二维子块",
      "kind": "正例",
      "input": {
        "shape": [
          2,
          3
        ],
        "flat": [
          10,
          11,
          12,
          20,
          21,
          22
        ],
        "range": "0:1,1:2"
      },
      "expected": {
        "selected": [
          11,
          12,
          21,
          22
        ],
        "shape": [
          2,
          2
        ],
        "indices": [
          [
            0,
            1
          ],
          [
            0,
            2
          ],
          [
            1,
            1
          ],
          [
            1,
            2
          ]
        ]
      }
    },
    {
      "case_id": "反向范围",
      "kind": "显式负例",
      "input": {
        "shape": [
          5
        ],
        "flat": [
          10,
          11,
          12,
          13,
          14
        ],
        "range": "3:1"
      },
      "expected_error": "NumericRange双端范围必须严格递增"
    },
    {
      "case_id": "超界范围",
      "kind": "显式负例",
      "input": {
        "shape": [
          5
        ],
        "flat": [
          10,
          11,
          12,
          13,
          14
        ],
        "range": "2:9"
      },
      "expected_error": "范围超出本地数组"
    }
  ]
}
