mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2025-01-08 10:41:19 +00:00
e46714c9a8
Former-commit-id: 7bc42f4bf78f03ddecd07d309699e5771bf2e501 [formerly 9367511015a33dd13d1c605c7d4da94617a0138d] Former-commit-id: 0dd05673b86cee96f5b5d436b58584d9c78c3e0b
83 lines
1.8 KiB
Go
83 lines
1.8 KiB
Go
package utils
|
|
|
|
import (
|
|
"math/rand"
|
|
"reflect"
|
|
//"runtime"
|
|
"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(1000)
|
|
|
|
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 ------ %v", blob, serializedblob, testbody)
|
|
}
|
|
|
|
}
|