"""Run the canonical synthetic partial and correction from this package alone."""
import json
from pathlib import Path
import sys

ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(ROOT / 'implementations/python'))
from algorithm import resolve_suspense

cases = json.loads((ROOT / 'datasets/suspense-cases.json').read_text(encoding='utf8'))['cases']
state = cases[0]['state']
for case in cases[:4]:
    out = resolve_suspense(state, case['command'], case['context'])
    assert out == case['expected']
    state = out['state']
    print(json.dumps({k: out['result'][k] for k in ('operation','version','classified_minor','remaining_minor','cash_delta_minor','active_resolution_ids')}))
