github.com/yut-kt/gowave@v0.1.4/gowave_benchmark_test.go (about) 1 package gowave 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/yut-kt/gowave/internal/samples/wave_member_structs" 8 ) 9 10 var waveFiles = map[string]*Wave{ 11 "internal/samples/waves/X.wav": { 12 riffChunk: wave_member_structs.GetRiffChunkX(), 13 fmtChunk: wave_member_structs.GetFmtChunkX(), 14 dataChunk: wave_member_structs.GetDataChunkX(), 15 }, 16 } 17 18 func BenchmarkNew(b *testing.B) { 19 for waveFile := range waveFiles { 20 f, err := os.Open(waveFile) 21 if err != nil { 22 b.Errorf("os.Open(%v) error = %v", waveFile, err) 23 } 24 if _, err := New(f); err != nil { 25 b.Errorf("New(f) error = %v", err) 26 } 27 } 28 } 29 30 func BenchmarkWave_ReadSamples(b *testing.B) { 31 for _, wave := range waveFiles { 32 if _, err := wave.ReadSamples(); err != nil { 33 b.Errorf("wave.ReadSamples() error = %v", err) 34 } 35 } 36 } 37 38 func BenchmarkWave_ReadNSamples(b *testing.B) { 39 for _, wave := range waveFiles { 40 if _, err := wave.ReadNSamples(1000); err != nil { 41 b.Errorf("wave.ReadNSamples(1000) error = %v", err) 42 } 43 } 44 }