segmento/pkg/media/media_test.go

28 lines
729 B
Go

package media_test
import (
"segmento/pkg/media"
"testing"
"time"
"github.com/stretchr/testify/require"
)
func TestSegmenterImplements(t *testing.T) {
require.Implements(t, (*media.Segmenter)(nil), new(media.MP3Segmenter))
}
func TestSegment(t *testing.T) {
segment := media.NewSegment(10*time.Second, 0)
require.Equal(t, time.Duration(0), segment.Duration())
require.True(t, segment.CanWrite(9*time.Second))
require.True(t, segment.CanWrite(10*time.Second))
require.False(t, segment.CanWrite(11*time.Second))
d := segment.IncrementDuration(10 * time.Second)
require.Equal(t, segment.Duration(), d)
require.Equal(t, 10*time.Second, segment.Duration())
require.False(t, segment.CanWrite(1*time.Millisecond))
}