Просмотр исходного кода

test: cover overlapping monitor windows

master
Jan Svabenik 7 часов назад
Родитель
Сommit
65b9845d40
1 измененных файлов: 39 добавлений и 0 удалений
  1. +39
    -0
      internal/pipeline/decisions_test.go

+ 39
- 0
internal/pipeline/decisions_test.go Просмотреть файл

@@ -77,3 +77,42 @@ func TestDecideSignalActionWindowAutoDecode(t *testing.T) {
t.Fatalf("expected decode window match to be set")
}
}

func TestDecideSignalActionOverlappingRecordDecodeWindows(t *testing.T) {
policy := Policy{
MonitorWindows: finalizeMonitorWindows([]MonitorWindow{
{
Label: "record-zone",
StartHz: 100,
EndHz: 200,
CenterHz: 150,
SpanHz: 100,
AutoRecord: true,
},
{
Label: "decode-zone",
StartHz: 140,
EndHz: 260,
CenterHz: 200,
SpanHz: 120,
AutoDecode: true,
},
}),
}
decision := DecideSignalAction(policy, Candidate{ID: 5, CenterHz: 150}, nil)
if !decision.ShouldRecord {
t.Fatalf("expected record decision from overlapping window")
}
if !decision.ShouldAutoDecode {
t.Fatalf("expected decode decision from overlapping window")
}
if decision.RecordWindow == nil || decision.RecordWindow.Label != "record-zone" {
t.Fatalf("expected record window match to be record-zone")
}
if decision.DecodeWindow == nil || decision.DecodeWindow.Label != "decode-zone" {
t.Fatalf("expected decode window match to be decode-zone")
}
if decision.MonitorDetail == nil || decision.MonitorDetail.Label != "record-zone" {
t.Fatalf("expected record-zone to be preferred monitor detail, got %+v", decision.MonitorDetail)
}
}

Загрузка…
Отмена
Сохранить