|
- package config
-
- import (
- "os"
- "path/filepath"
- "testing"
- )
-
- func TestDefaultValidate(t *testing.T) {
- cfg := Default()
- if err := cfg.Validate(); err != nil {
- t.Fatalf("default config invalid: %v", err)
- }
- }
-
- func TestLoadAndValidate(t *testing.T) {
- dir := t.TempDir()
- path := filepath.Join(dir, "config.json")
- if err := os.WriteFile(path, []byte(`{"audio":{"toneLeftHz":900,"toneRightHz":1700,"toneAmplitude":0.3},"fm":{"frequencyMHz":99.9},"backend":{"kind":"file","outputPath":"out.f32"},"control":{"listenAddress":"127.0.0.1:8088"}}`), 0o644); err != nil {
- t.Fatalf("write config: %v", err)
- }
- cfg, err := Load(path)
- if err != nil {
- t.Fatalf("load config: %v", err)
- }
- if cfg.Audio.ToneLeftHz != 900 {
- t.Fatalf("unexpected left tone: %v", cfg.Audio.ToneLeftHz)
- }
- }
-
- func TestValidateRejectsBadFrequency(t *testing.T) {
- cfg := Default()
- cfg.FM.FrequencyMHz = 200
- if err := cfg.Validate(); err == nil {
- t.Fatal("expected validation error")
- }
- }
|