"""Execute the production presentation-state policy; no network claim.""" from policy_harness import ROOT, body, run source=ROOT/'addons/core/Scripts/Game/ERR/ERR_RadioFeedback.c' function=body(source,'static ERR_RadioFeedback Next(').replace('ERR_RadioFeedback.', 'ERR_RadioFeedback::') run('''#include enum class ERR_RadioFeedback {INACTIVE, WAITING, TRANSMITTING, INTERRUPTED}; '''+function+''' int main() { using S=ERR_RadioFeedback; const S emptyExpected[]={S::WAITING,S::WAITING,S::INTERRUPTED,S::INTERRUPTED}; for (int previous=0;previous<4;++previous) { S state=static_cast(previous); // Terminal/new-round state always clears; stale occupancy cannot resurrect it. assert(Next(state,false,false)==S::INACTIVE); assert(Next(state,false,true)==S::INACTIVE); assert(Next(state,true,true)==S::TRANSMITTING); assert(Next(state,true,false)==emptyExpected[previous]); } S state=Next(S::INACTIVE,true,false); assert(state==S::WAITING); for (int sample=0;sample<100;++sample) state=Next(state,true,false); assert(state==S::WAITING); // initial wait is not an interruption state=Next(state,true,true); assert(state==S::TRANSMITTING); state=Next(state,true,false); assert(state==S::INTERRUPTED); for (int sample=0;sample<100;++sample) state=Next(state,true,false); assert(state==S::INTERRUPTED); // do not alternate guide messages while empty state=Next(state,true,true); assert(state==S::TRANSMITTING); state=Next(state,false,true); assert(state==S::INACTIVE); assert(Next(state,true,false)==S::WAITING); // fresh round has no stale interruption } ''') print('PASS: actual radio feedback policy, initial wait, interruption persistence, resumption and terminal/new-round reset')