Wideband autonomous SDR analysis engine forked from sdr-visual-suite
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

55 строки
1.6KB

  1. package pipeline
  2. import (
  3. "testing"
  4. "sdr-wideband-suite/internal/detector"
  5. )
  6. func TestRefinementResultCarriesDecisions(t *testing.T) {
  7. res := RefinementResult{
  8. Level: AnalysisLevel{Name: "refinement"},
  9. Signals: []detector.Signal{{ID: 1}},
  10. Decisions: []SignalDecision{{ShouldRecord: true}},
  11. Candidates: []Candidate{{ID: 1}},
  12. }
  13. if len(res.Signals) != 1 || len(res.Decisions) != 1 || len(res.Candidates) != 1 {
  14. t.Fatalf("unexpected refinement result: %+v", res)
  15. }
  16. }
  17. func TestSurveillanceResultCarriesScheduledCandidates(t *testing.T) {
  18. res := SurveillanceResult{
  19. Candidates: []Candidate{{ID: 1}},
  20. Scheduled: []ScheduledCandidate{{Candidate: Candidate{ID: 1}, Priority: 10}},
  21. }
  22. if len(res.Candidates) != 1 || len(res.Scheduled) != 1 {
  23. t.Fatalf("unexpected surveillance result: %+v", res)
  24. }
  25. }
  26. func TestRefinementInputCarriesScheduledCandidates(t *testing.T) {
  27. res := RefinementInput{
  28. Level: AnalysisLevel{Name: "refinement"},
  29. Candidates: []Candidate{{ID: 2}},
  30. Scheduled: []ScheduledCandidate{{Candidate: Candidate{ID: 2}, Priority: 4}},
  31. Plan: RefinementPlan{
  32. TotalCandidates: 1,
  33. Budget: 4,
  34. },
  35. SampleRate: 2048000,
  36. FFTSize: 2048,
  37. CenterHz: 7.1e6,
  38. Source: "surveillance-detector",
  39. }
  40. if len(res.Candidates) != 1 || len(res.Scheduled) != 1 {
  41. t.Fatalf("unexpected refinement input: %+v", res)
  42. }
  43. if res.SampleRate != 2048000 || res.FFTSize != 2048 || res.CenterHz != 7.1e6 {
  44. t.Fatalf("unexpected refinement input fields: %+v", res)
  45. }
  46. if res.Plan.TotalCandidates != 1 || res.Plan.Budget != 4 {
  47. t.Fatalf("unexpected refinement plan fields: %+v", res.Plan)
  48. }
  49. }