"""Offline-Prüfer für genau eine fiktive Tokenwerk-Aufgabe; keine Codeausführung/API."""
import json, sys
from decimal import Decimal
from pathlib import Path
def check(v):
    expected = {'auftrag_id', 'artikel', 'menge', 'einzelpreis_eur', 'gesamt_eur', 'liefertermin'}
    if not isinstance(v, dict) or set(v) != expected: return False
    if v['auftrag_id'] != 'TK-014' or v['artikel'] != 'USB-C-Adapter': return False
    if type(v['menge']) is not int or v['menge'] != 3: return False
    for key, target in [('einzelpreis_eur', '12.50'), ('gesamt_eur', '37.50')]:
        if isinstance(v[key], bool) or not isinstance(v[key], (int, Decimal)): return False
        if Decimal(v[key]) != Decimal(target): return False
    return v['liefertermin'] is None
if __name__ == '__main__':
    try:
        p = Path(sys.argv[1]); assert p.stat().st_size <= 65536, 'Datei zu groß'
        v = json.loads(p.read_text(encoding='utf-8-sig'), parse_float=Decimal)
        passed = check(v)
        print('BESTANDEN: Diese sechs Felder stimmen.' if passed else 'NICHT BESTANDEN: Felder oder Typen weichen ab.')
        sys.exit(0 if passed else 1)
    except (OSError, ValueError, IndexError, AssertionError) as error:
        print('NICHT BESTANDEN: JSON-Datei und Aufruf prüfen.'); sys.exit(2)
