Wideband autonomous SDR analysis engine forked from sdr-visual-suite
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

48 lines
1.1KB

  1. package config
  2. import (
  3. "os"
  4. "testing"
  5. )
  6. func TestLoadConfig(t *testing.T) {
  7. data := []byte("center_hz: 100.0e6\nfft_size: 1024\n")
  8. f, err := os.CreateTemp(t.TempDir(), "cfg*.yaml")
  9. if err != nil {
  10. t.Fatalf("temp: %v", err)
  11. }
  12. if _, err := f.Write(data); err != nil {
  13. t.Fatalf("write: %v", err)
  14. }
  15. _ = f.Close()
  16. cfg, err := Load(f.Name())
  17. if err != nil {
  18. t.Fatalf("load: %v", err)
  19. }
  20. if cfg.CenterHz != 100.0e6 {
  21. t.Fatalf("center hz: %v", cfg.CenterHz)
  22. }
  23. if cfg.FFTSize != 2048 {
  24. t.Fatalf("fft size: %v", cfg.FFTSize)
  25. }
  26. if cfg.Surveillance.AnalysisFFTSize != 2048 {
  27. t.Fatalf("analysis fft size: %v", cfg.Surveillance.AnalysisFFTSize)
  28. }
  29. if cfg.FrameRate <= 0 {
  30. t.Fatalf("frame rate default not applied")
  31. }
  32. if cfg.Surveillance.AnalysisFFTSize != cfg.FFTSize {
  33. t.Fatalf("analysis fft size not aligned: %d vs %d", cfg.Surveillance.AnalysisFFTSize, cfg.FFTSize)
  34. }
  35. if cfg.Pipeline.Mode == "" {
  36. t.Fatalf("pipeline mode default not applied")
  37. }
  38. if !cfg.Refinement.Enabled {
  39. t.Fatalf("refinement default not applied")
  40. }
  41. if cfg.EventPath == "" {
  42. t.Fatalf("event path default not applied")
  43. }
  44. }