Wideband autonomous SDR analysis engine forked from sdr-visual-suite
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

27 行
1.3KB

  1. package main
  2. import (
  3. "testing"
  4. "sdr-wideband-suite/internal/pipeline"
  5. )
  6. func TestPhaseStateCarriesPhaseResults(t *testing.T) {
  7. ps := &phaseState{
  8. surveillance: pipeline.SurveillanceResult{Level: pipeline.AnalysisLevel{Name: "surveillance"}, NoiseFloor: -90, Scheduled: []pipeline.ScheduledCandidate{{Candidate: pipeline.Candidate{ID: 1}, Priority: 5}}},
  9. refinementInput: pipeline.RefinementInput{Scheduled: []pipeline.ScheduledCandidate{{Candidate: pipeline.Candidate{ID: 1}, Priority: 5}}, SampleRate: 2048000, FFTSize: 2048, CenterHz: 7.1e6},
  10. refinement: pipeline.RefinementResult{Level: pipeline.AnalysisLevel{Name: "refinement"}, Decisions: []pipeline.SignalDecision{{ShouldRecord: true}}, Candidates: []pipeline.Candidate{{ID: 1}}},
  11. queueStats: decisionQueueStats{RecordQueued: 1},
  12. presentation: pipeline.AnalysisLevel{Name: "presentation"},
  13. }
  14. if ps.surveillance.NoiseFloor != -90 || len(ps.surveillance.Scheduled) != 1 {
  15. t.Fatalf("unexpected surveillance state: %+v", ps.surveillance)
  16. }
  17. if len(ps.refinementInput.Scheduled) != 1 || ps.refinementInput.SampleRate != 2048000 {
  18. t.Fatalf("unexpected refinement input: %+v", ps.refinementInput)
  19. }
  20. if len(ps.refinement.Decisions) != 1 || !ps.refinement.Decisions[0].ShouldRecord || len(ps.refinement.Candidates) != 1 {
  21. t.Fatalf("unexpected refinement state: %+v", ps.refinement)
  22. }
  23. }