44 lines
873 B
Go
44 lines
873 B
Go
package wrapio
|
|
|
|
import (
|
|
"bytes"
|
|
"io"
|
|
"io/ioutil"
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
func TestWrapper(t *testing.T) {
|
|
if file, err := ioutil.TempFile("", "wrap.test"); err == nil {
|
|
defer os.Remove(file.Name())
|
|
defer file.Close()
|
|
file.Write([]byte("abcdef"))
|
|
|
|
data := make([]byte, 12)
|
|
|
|
w := NewWrapper(file, 6, 1, 6)
|
|
if n, err := w.ReadAt(data, 1); err == nil || err == io.EOF {
|
|
if !bytes.Equal(data[:n], []byte("cdefa")) {
|
|
t.Errorf("Exp cdefa, Got %s", data[:n])
|
|
}
|
|
} else {
|
|
t.Error(err.Error())
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestWrap(t *testing.T) {
|
|
if file, err := ioutil.TempFile("", "wrap.test"); err == nil {
|
|
w := NewWrapWriter(file, 0, 3)
|
|
w.Write([]byte("abcdef"))
|
|
|
|
r := NewWrapReader(file, 0, 2)
|
|
data := make([]byte, 6)
|
|
r.Read(data)
|
|
if !bytes.Equal(data, []byte("dedede")) {
|
|
t.Error("Wrapper error!")
|
|
}
|
|
file.Close()
|
|
os.Remove(file.Name())
|
|
}
|
|
}
|