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.

34 líneas
1009B

  1. package pipeline
  2. import (
  3. "testing"
  4. "sdr-wideband-suite/internal/classifier"
  5. )
  6. func TestDecideSignalAction(t *testing.T) {
  7. policy := Policy{AutoRecordClasses: []string{"WFM"}, AutoDecodeClasses: []string{"RDS", "WFM"}}
  8. cls := &classifier.Classification{ModType: classifier.ClassWFM}
  9. decision := DecideSignalAction(policy, Candidate{ID: 1, Hint: "WFM"}, cls)
  10. if !decision.ShouldRecord {
  11. t.Fatalf("expected record decision")
  12. }
  13. if !decision.ShouldAutoDecode {
  14. t.Fatalf("expected auto decode decision")
  15. }
  16. }
  17. func TestDecideSignalActionUsesHintWithoutClass(t *testing.T) {
  18. policy := Policy{AutoRecordClasses: []string{"WFM"}, AutoDecodeClasses: []string{"FT8"}}
  19. decision := DecideSignalAction(policy, Candidate{ID: 2, Hint: "WFM"}, nil)
  20. if !decision.ShouldRecord {
  21. t.Fatalf("expected record decision from hint")
  22. }
  23. if decision.ShouldAutoDecode {
  24. t.Fatalf("unexpected auto decode decision from hint")
  25. }
  26. if decision.Reason == "" {
  27. t.Fatalf("expected reason for hint-based decision")
  28. }
  29. }