1
0
Fork 0
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.1 KiB
Go

package gzip
import (
"bytes"
"compress/gzip"
"io"
"testing"
)
func Test_Compressor_SingleRead(t *testing.T) {
originalData := []byte("This is a test string, xxxxx -- xxxxxx -- test should compress")
reader := bytes.NewReader(originalData)
compressor := NewCompressor(reader, DefaultBufferSize)
// Create a buffer to hold compressed data
compressedBuffer := make([]byte, DefaultBufferSize)
n, err := compressor.Read(compressedBuffer)
if err != nil && err != io.EOF {
t.Fatalf("Unexpected error while reading: %v", err)
}
// Decompress the compressed data
r, err := gzip.NewReader(bytes.NewReader(compressedBuffer[:n]))
if err != nil {
t.Fatalf("Failed to create gzip reader: %v", err)
}
decompressedBuffer := new(bytes.Buffer)
_, err = io.Copy(decompressedBuffer, r)
if err != nil {
t.Fatalf("Failed to decompress: %v", err)
}
// Verify the decompressed data matches original data
if !bytes.Equal(decompressedBuffer.Bytes(), originalData) {
t.Fatalf("Decompressed data does not match original. Got %v, expected %v", decompressedBuffer.Bytes(), originalData)
}
}
func Test_Compressor_MultipleRead(t *testing.T) {
}