package main import ( "testing" "sdr-wideband-suite/internal/pipeline" ) func TestEnforceDecisionBudgets(t *testing.T) { decisions := []pipeline.SignalDecision{ {ShouldRecord: true, ShouldAutoDecode: true}, {ShouldRecord: true, ShouldAutoDecode: true}, {ShouldRecord: true, ShouldAutoDecode: false}, } recorded, decoded := enforceDecisionBudgets(decisions, 1, 1) if recorded != 1 || decoded != 1 { t.Fatalf("unexpected counts: record=%d decode=%d", recorded, decoded) } if decisions[0].ShouldRecord != true || decisions[0].ShouldAutoDecode != true { t.Fatalf("expected first decision to remain allowed") } if decisions[1].ShouldRecord || decisions[1].ShouldAutoDecode { t.Fatalf("expected second decision to be budgeted off") } if decisions[2].ShouldRecord { t.Fatalf("expected third decision to be budgeted off") } }