test(08-01): future-proof frequency bounds and rename test
- Replace hardcoded [60, 1100] Hz bounds with Nyquist-based validation (0, 22050) - Rename TestNumLayersMatchesAllClasses to TestClassFreqConfigsMatchAllClasses - Remove duplicate TestClassFreqConfigsComplete (subset of TestAllClassesHaveConfig) - All tests green
This commit is contained in:
+7
-12
@@ -16,10 +16,13 @@ func TestAllClassesHaveConfig(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestFrequenciesInRange(t *testing.T) {
|
func TestFrequenciesInRange(t *testing.T) {
|
||||||
|
const nyquist = float64(synth.SampleRate) / 2.0 // 22050 Hz
|
||||||
for class, cfg := range synth.ClassFreqConfigs {
|
for class, cfg := range synth.ClassFreqConfigs {
|
||||||
// D-05: unknown buckets use 850-1100 Hz dissonant range; known classes use 60-800 Hz
|
if cfg.BaseHz <= 0 {
|
||||||
if cfg.BaseHz < 60 || cfg.BaseHz > 1100 {
|
t.Errorf("class %q BaseHz=%.1f must be positive", class, cfg.BaseHz)
|
||||||
t.Errorf("class %q BaseHz=%.1f is out of range [60, 1100]", class, cfg.BaseHz)
|
}
|
||||||
|
if cfg.BaseHz >= nyquist {
|
||||||
|
t.Errorf("class %q BaseHz=%.1f exceeds Nyquist (%.1f Hz)", class, cfg.BaseHz, nyquist)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -50,15 +53,7 @@ func TestPanPositionsInRange(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestClassFreqConfigsComplete(t *testing.T) {
|
func TestClassFreqConfigsMatchAllClasses(t *testing.T) {
|
||||||
for _, class := range classify.AllClasses() {
|
|
||||||
if _, ok := synth.ClassFreqConfigs[class]; !ok {
|
|
||||||
t.Errorf("ClassFreqConfigs missing entry for class %q", class)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestNumLayersMatchesAllClasses(t *testing.T) {
|
|
||||||
if len(synth.ClassFreqConfigs) != len(classify.AllClasses()) {
|
if len(synth.ClassFreqConfigs) != len(classify.AllClasses()) {
|
||||||
t.Errorf("ClassFreqConfigs has %d entries but AllClasses() has %d entries",
|
t.Errorf("ClassFreqConfigs has %d entries but AllClasses() has %d entries",
|
||||||
len(synth.ClassFreqConfigs), len(classify.AllClasses()))
|
len(synth.ClassFreqConfigs), len(classify.AllClasses()))
|
||||||
|
|||||||
Reference in New Issue
Block a user