Files
questshock/modding/hacked/ss1/content/movie/Write_test.go
T

51 lines
1.3 KiB
Go

package movie_test
import (
"bytes"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/inkyblackness/hacked/ss1/content/movie"
"github.com/inkyblackness/hacked/ss1/content/text"
)
func TestWriteOfEmptyContainerCreatesMinimumSizeData(t *testing.T) {
var container movie.Container
buffer := bytes.NewBuffer(nil)
err := movie.Write(buffer, container, text.DefaultCodepage())
require.Nil(t, err)
assert.Equal(t, 0x0800, len(buffer.Bytes()))
}
func TestWriteCanSaveEmptyContainer(t *testing.T) {
var container movie.Container
buffer := bytes.NewBuffer(nil)
err := movie.Write(buffer, container, text.DefaultCodepage())
require.Nil(t, err)
_, err = movie.Read(bytes.NewReader(buffer.Bytes()), text.DefaultCodepage())
require.Nil(t, err)
}
func TestWriteSavesAudio(t *testing.T) {
dataBytes := []byte{0x01, 0x02, 0x03}
var container movie.Container
container.Audio.Sound.SampleRate = 22050.0
container.Audio.Sound.Samples = dataBytes
buffer := bytes.NewBuffer(nil)
err := movie.Write(buffer, container, text.DefaultCodepage())
require.Nil(t, err)
result, err := movie.Read(bytes.NewReader(buffer.Bytes()), text.DefaultCodepage())
require.Nil(t, err)
require.NotNil(t, result)
assert.Equal(t, dataBytes, result.Audio.Sound.Samples)
}