From 3331a7ad8b9793d229f0eeb64ac95dca97510daf Mon Sep 17 00:00:00 2001 From: Hraban Luyat Date: Mon, 10 Oct 2016 15:21:54 +0100 Subject: [PATCH] Reorganize test code --- decoder_test.go | 32 ++++++++++++++++++++++++++ encoder_test.go | 23 +++++++++++++++++++ opus_test.go | 61 ------------------------------------------------- utils_test.go | 25 ++++++++++++++++++++ 4 files changed, 80 insertions(+), 61 deletions(-) create mode 100644 decoder_test.go create mode 100644 utils_test.go diff --git a/decoder_test.go b/decoder_test.go new file mode 100644 index 0000000..e17883f --- /dev/null +++ b/decoder_test.go @@ -0,0 +1,32 @@ +// Copyright © 2015, 2016 Hraban Luyat +// +// License for use of this code is detailed in the LICENSE file + +package opus + +import ( + "testing" +) + +func TestDecoderNew(t *testing.T) { + dec, err := NewDecoder(48000, 1) + if err != nil || dec == nil { + t.Errorf("Error creating new decoder: %v", err) + } + dec, err = NewDecoder(12345, 1) + if err == nil || dec != nil { + t.Errorf("Expected error for illegal samplerate 12345") + } +} + +func TestDecoderUnitialized(t *testing.T) { + var dec Decoder + _, err := dec.Decode(nil, nil) + if err != errDecUninitialized { + t.Errorf("Expected \"unitialized decoder\" error: %v", err) + } + _, err = dec.DecodeFloat32(nil, nil) + if err != errDecUninitialized { + t.Errorf("Expected \"unitialized decoder\" error: %v", err) + } +} diff --git a/encoder_test.go b/encoder_test.go index b37489f..527a5e3 100644 --- a/encoder_test.go +++ b/encoder_test.go @@ -6,6 +6,29 @@ package opus import "testing" +func TestEncoderNew(t *testing.T) { + enc, err := NewEncoder(48000, 1, APPLICATION_VOIP) + if err != nil || enc == nil { + t.Errorf("Error creating new encoder: %v", err) + } + enc, err = NewEncoder(12345, 1, APPLICATION_VOIP) + if err == nil || enc != nil { + t.Errorf("Expected error for illegal samplerate 12345") + } +} + +func TestEncoderUnitialized(t *testing.T) { + var enc Encoder + _, err := enc.Encode(nil, nil) + if err != errEncUninitialized { + t.Errorf("Expected \"unitialized encoder\" error: %v", err) + } + _, err = enc.EncodeFloat32(nil, nil) + if err != errEncUninitialized { + t.Errorf("Expected \"unitialized encoder\" error: %v", err) + } +} + func TestEncoderDTX(t *testing.T) { enc, err := NewEncoder(8000, 1, APPLICATION_VOIP) if err != nil || enc == nil { diff --git a/opus_test.go b/opus_test.go index 230f426..fc91c2c 100644 --- a/opus_test.go +++ b/opus_test.go @@ -5,7 +5,6 @@ package opus import ( - "math" "strings" "testing" ) @@ -16,52 +15,6 @@ func TestVersion(t *testing.T) { } } -func TestEncoderNew(t *testing.T) { - enc, err := NewEncoder(48000, 1, APPLICATION_VOIP) - if err != nil || enc == nil { - t.Errorf("Error creating new encoder: %v", err) - } - enc, err = NewEncoder(12345, 1, APPLICATION_VOIP) - if err == nil || enc != nil { - t.Errorf("Expected error for illegal samplerate 12345") - } -} - -func TestDecoderNew(t *testing.T) { - dec, err := NewDecoder(48000, 1) - if err != nil || dec == nil { - t.Errorf("Error creating new decoder: %v", err) - } - dec, err = NewDecoder(12345, 1) - if err == nil || dec != nil { - t.Errorf("Expected error for illegal samplerate 12345") - } -} - -func TestEncoderUnitialized(t *testing.T) { - var enc Encoder - _, err := enc.Encode(nil, nil) - if err != errEncUninitialized { - t.Errorf("Expected \"unitialized encoder\" error: %v", err) - } - _, err = enc.EncodeFloat32(nil, nil) - if err != errEncUninitialized { - t.Errorf("Expected \"unitialized encoder\" error: %v", err) - } -} - -func TestDecoderUnitialized(t *testing.T) { - var dec Decoder - _, err := dec.Decode(nil, nil) - if err != errDecUninitialized { - t.Errorf("Expected \"unitialized decoder\" error: %v", err) - } - _, err = dec.DecodeFloat32(nil, nil) - if err != errDecUninitialized { - t.Errorf("Expected \"unitialized decoder\" error: %v", err) - } -} - func TestOpusErrstr(t *testing.T) { // I scooped this -1 up from opus_defines.h, it's OPUS_BAD_ARG. Not pretty, // but it's better than not testing at all. Again, accessing #defines from @@ -72,20 +25,6 @@ func TestOpusErrstr(t *testing.T) { } } -func addSineFloat32(buf []float32, sampleRate int, freq float64) { - factor := 2 * math.Pi * freq / float64(sampleRate) - for i := range buf { - buf[i] += float32(math.Sin(float64(i) * factor)) - } -} - -func addSine(buf []int16, sampleRate int, freq float64) { - factor := 2 * math.Pi * freq / float64(sampleRate) - for i := range buf { - buf[i] += int16(math.Sin(float64(i)*factor) * math.MaxInt16) - } -} - func TestCodec(t *testing.T) { // Create bogus input sound const G4 = 391.995 diff --git a/utils_test.go b/utils_test.go new file mode 100644 index 0000000..849db92 --- /dev/null +++ b/utils_test.go @@ -0,0 +1,25 @@ +// Copyright © 2015, 2016 Hraban Luyat +// +// License for use of this code is detailed in the LICENSE file + +package opus + +import ( + "math" +) + +// utility functions for unit tests + +func addSineFloat32(buf []float32, sampleRate int, freq float64) { + factor := 2 * math.Pi * freq / float64(sampleRate) + for i := range buf { + buf[i] += float32(math.Sin(float64(i) * factor)) + } +} + +func addSine(buf []int16, sampleRate int, freq float64) { + factor := 2 * math.Pi * freq / float64(sampleRate) + for i := range buf { + buf[i] += int16(math.Sin(float64(i)*factor) * math.MaxInt16) + } +} -- 2.48.1