package audio import ( "testing" "github.com/qvest-digital/go-mxl/mxl" ) func TestBatchSize(t *testing.T) { tests := []struct { name string rate mxl.Rational want uint64 }{ {name: "44.1 kHz", rate: mxl.Rational{Num: 44100, Den: 1}, want: 441}, {name: "48 kHz", rate: mxl.Rational{Num: 48000, Den: 1}, want: 480}, {name: "96 kHz", rate: mxl.Rational{Num: 96000, Den: 1}, want: 960}, {name: "192 kHz", rate: mxl.Rational{Num: 192000, Den: 1}, want: 1920}, {name: "minimum", rate: mxl.Rational{Num: 1, Den: 1}, want: 1}, {name: "zero numerator", rate: mxl.Rational{Num: 0, Den: 1}, want: 1}, {name: "zero denominator", rate: mxl.Rational{Num: 48000, Den: 0}, want: 1}, } for _, tc := range tests { t.Run(tc.name, func(t *testing.T) { if got := batchSize(tc.rate); got != tc.want { t.Fatalf("batchSize(%d/%d) = %d, want %d", tc.rate.Num, tc.rate.Den, got, tc.want) } }) } }