Wideband autonomous SDR analysis engine forked from sdr-visual-suite
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

43 行
1.2KB

  1. package pipeline
  2. import (
  3. "testing"
  4. "sdr-wideband-suite/internal/config"
  5. )
  6. func TestApplyNamedProfile(t *testing.T) {
  7. cfg := config.Default()
  8. ApplyNamedProfile(&cfg, "wideband-balanced")
  9. if cfg.Pipeline.Mode != "wideband-balanced" {
  10. t.Fatalf("mode not applied: %s", cfg.Pipeline.Mode)
  11. }
  12. if cfg.Surveillance.AnalysisFFTSize < 4096 {
  13. t.Fatalf("analysis fft too small: %d", cfg.Surveillance.AnalysisFFTSize)
  14. }
  15. if !cfg.Refinement.Enabled {
  16. t.Fatalf("refinement should stay enabled")
  17. }
  18. if cfg.Resources.MaxRefinementJobs < 16 {
  19. t.Fatalf("refinement jobs too small: %d", cfg.Resources.MaxRefinementJobs)
  20. }
  21. }
  22. func TestPolicyFromConfig(t *testing.T) {
  23. cfg := config.Default()
  24. cfg.Pipeline.Mode = "archive"
  25. cfg.Surveillance.AnalysisFFTSize = 8192
  26. cfg.Surveillance.FrameRate = 9
  27. cfg.Refinement.Enabled = true
  28. cfg.Resources.MaxRefinementJobs = 5
  29. cfg.Refinement.MinCandidateSNRDb = 2.5
  30. cfg.Resources.PreferGPU = true
  31. p := PolicyFromConfig(cfg)
  32. if p.Mode != "archive" || p.SurveillanceFFTSize != 8192 || p.SurveillanceFPS != 9 {
  33. t.Fatalf("unexpected policy: %+v", p)
  34. }
  35. if !p.RefinementEnabled || p.MaxRefinementJobs != 5 || p.MinCandidateSNRDb != 2.5 || !p.PreferGPU {
  36. t.Fatalf("unexpected policy details: %+v", p)
  37. }
  38. }