32 lines
915 B
Go
32 lines
915 B
Go
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)
|
|
}
|
|
})
|
|
}
|
|
}
|