prysm-pulse/sharding/utils/marshal_test.go
nisdas 0cf0c8b8d8 sharding/utils: Shifting to utils package(#92)
Former-commit-id: 3eb0cfbf6c9c2a7ec9619d2f93c1be8ca8b670c9 [formerly 108d9e22841fc81bb11be3fd6c0f54a65c257b0c]
Former-commit-id: d128c55b6437515a3cc654f502e267f43a691cc9
2018-05-17 06:20:10 +08:00

82 lines
1.8 KiB
Go

package utils
import (
"math/rand"
"reflect"
"testing"
)
func buildtxblobs(size int64) []interface{} {
tempbody := make([]interface{}, size)
for i := int64(0); i < size; i++ {
tempbody[i] = buildblob(size)
}
return tempbody
}
func buildblob(size int64) []interface{} {
tempbody := make([]interface{}, size)
for i := int64(0); i < size; i++ {
tempbody[i] = byte(rand.Int())
}
return tempbody
}
func TestConvertInterface(t *testing.T) {
var slice interface{}
slice = []interface{}{0, 1, 2, 3, 4, 5}
convertedValue, err := convertInterface(slice, reflect.Slice)
if err != nil {
t.Fatalf("Error: %v %v", err, convertedValue)
}
}
func TestSize(t *testing.T) {
size := int64(800)
blob := buildtxblobs(size)
chunksafterSerialize := size / chunkDataSize
terminalchunk := size % chunkDataSize
if terminalchunk != 0 {
chunksafterSerialize = chunksafterSerialize + 1
}
chunksafterSerialize = chunksafterSerialize * size
sizeafterSerialize := chunksafterSerialize * chunkSize
serializedblob, err := Serialize(blob)
if err != nil {
t.Fatalf("Error Serializing blob:%v %v", err, serializedblob)
}
if int64(len(serializedblob)) != sizeafterSerialize {
t.Fatalf("Error Serializing blobs the lengths are not the same: %v , %v", int64(len(serializedblob)), sizeafterSerialize)
}
}
func TestSerializeAndDeserializeblob(t *testing.T) {
var testbody interface{}
blob := buildtxblobs(31)
serializedblob, err := Serialize(blob)
if err != nil {
t.Fatalf("Error Serializing blob:%v %v", err, serializedblob)
}
err2 := Deserialize(serializedblob, &testbody)
if err2 != nil {
t.Fatalf("Error Serializing blob:%v", err2)
}
if !reflect.DeepEqual(blob, testbody) {
t.Fatalf("Error Serializing blobs, the serialized and deserialized versions are not the same: %v ------ %v", blob, testbody)
}
}