Kirika/audio/filter/filter_test.go
DataHoarder bf39ddac3a
All checks were successful
continuous-integration/drone/push Build is passing
Update several sections to use atomic[T] instead of pointers
2022-08-03 15:38:29 +02:00

37 lines
833 B
Go

package filter
import (
"git.gammaspectra.live/S.O.N.G/Kirika/audio"
"git.gammaspectra.live/S.O.N.G/Kirika/audio/format/flac"
"git.gammaspectra.live/S.O.N.G/Kirika/test"
"os"
"testing"
)
func TestFilterChainNoResample(t *testing.T) {
t.Parallel()
fp, err := os.Open(test.TestSingleSample24)
if err != nil {
t.Error(err)
return
}
defer fp.Close()
source, err := flac.NewFormat().Open(fp)
if err != nil {
t.Error(err)
return
}
result := NewFilterChain(source, NewVolumeFilter(0.5), MonoFilter{}, StereoFilter{})
sink := audio.NewForwardSink(audio.NewNullSink())
sink.Process(result)
if result.GetChannels() != 2 {
t.Errorf("Wrong Channel Count %d != %d", result.GetChannels(), 2)
}
if sink.GetSamplesRead() != 17323031 {
t.Errorf("Wrong Sample Count %d != %d", sink.GetSamplesRead(), 17323031)
}
}