# 离线只读验证：不访问网络、不操作设备，只读取同目录合成输入。
import json, math, struct, statistics
from pathlib import Path
def check(d):
 from urllib.parse import parse_qs
 out=[]
 for x in d:
  t=x['type'].split(';')[0].strip().lower()
  try:
   if t=='application/json':
    v=json.loads(x['body'])['volume']; out.append(f'JSON数字{v}' if type(v) is int else '字段类型错误')
   elif t=='application/x-www-form-urlencoded': out.append('表单文本'+parse_qs(x['body'])['volume'][0])
   else: out.append('媒体类型不支持')
  except (ValueError,KeyError,TypeError): out.append('负载无效')
 return out

if __name__=='__main__':
 fixture=json.loads(Path(__file__).with_name('fixture.json').read_text(encoding='utf-8'))
 actual=check(fixture['input'])
 assert actual==fixture['expected'], {'实际':actual,'预期':fixture['expected']}
 print(json.dumps({'状态':'通过','实际':actual,'边界':'仅离线合成样例，现场未测'},ensure_ascii=False))
