|
- package main
-
- import (
- "testing"
-
- "sdr-wideband-suite/internal/pipeline"
- )
-
- func TestPhaseStateCarriesPhaseResults(t *testing.T) {
- ps := &phaseState{
- surveillance: pipeline.SurveillanceResult{Level: pipeline.AnalysisLevel{Name: "surveillance"}, NoiseFloor: -90, Scheduled: []pipeline.ScheduledCandidate{{Candidate: pipeline.Candidate{ID: 1}, Priority: 5}}},
- refinement: pipeline.RefinementStep{
- Input: pipeline.RefinementInput{Scheduled: []pipeline.ScheduledCandidate{{Candidate: pipeline.Candidate{ID: 1}, Priority: 5}}, SampleRate: 2048000, FFTSize: 2048, CenterHz: 7.1e6},
- Result: pipeline.RefinementResult{Level: pipeline.AnalysisLevel{Name: "refinement"}, Decisions: []pipeline.SignalDecision{{ShouldRecord: true}}, Candidates: []pipeline.Candidate{{ID: 1}}},
- },
- arbitration: arbitrationState{Queue: decisionQueueStats{RecordQueued: 1}},
- presentation: pipeline.AnalysisLevel{Name: "presentation"},
- }
- if ps.surveillance.NoiseFloor != -90 || len(ps.surveillance.Scheduled) != 1 {
- t.Fatalf("unexpected surveillance state: %+v", ps.surveillance)
- }
- if len(ps.refinement.Input.Scheduled) != 1 || ps.refinement.Input.SampleRate != 2048000 {
- t.Fatalf("unexpected refinement input: %+v", ps.refinement.Input)
- }
- if len(ps.refinement.Result.Decisions) != 1 || !ps.refinement.Result.Decisions[0].ShouldRecord || len(ps.refinement.Result.Candidates) != 1 {
- t.Fatalf("unexpected refinement state: %+v", ps.refinement.Result)
- }
- }
|