Wideband autonomous SDR analysis engine forked from sdr-visual-suite
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

24 líneas
1002B

  1. package pipeline
  2. import "testing"
  3. func TestRefinementWindowClampsToPolicy(t *testing.T) {
  4. policy := Policy{RefinementMinSpanHz: 12000, RefinementMaxSpanHz: 20000, RefinementAutoSpan: false}
  5. win := RefinementWindowForCandidate(policy, Candidate{CenterHz: 1e6, BandwidthHz: 8000})
  6. if win.SpanHz != 12000 || win.Source != "policy:min_span" {
  7. t.Fatalf("expected min clamp, got span %.0f source %q", win.SpanHz, win.Source)
  8. }
  9. win = RefinementWindowForCandidate(policy, Candidate{CenterHz: 1e6, BandwidthHz: 50000})
  10. if win.SpanHz != 20000 || win.Source != "policy:max_span" {
  11. t.Fatalf("expected max clamp, got span %.0f source %q", win.SpanHz, win.Source)
  12. }
  13. }
  14. func TestRefinementWindowDefaultsWhenEmpty(t *testing.T) {
  15. policy := Policy{RefinementAutoSpan: false}
  16. win := RefinementWindowForCandidate(policy, Candidate{CenterHz: 1e6, BandwidthHz: 0})
  17. if win.SpanHz != 12000 || win.Source != "default" {
  18. t.Fatalf("expected default span, got span %.0f source %q", win.SpanHz, win.Source)
  19. }
  20. }