Splited encoding per object type, added public methods for serialization
This commit is contained in:
12 files changed
+637
-365
No files matched your search
@@ -0,0 +1,68 @@
|
||||
package bson
|
||||
|
||||
import (
|
||||
"math/big"
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/keep-network/paillier"
|
||||
)
|
||||
|
||||
var pdzkp = &paillier.PartialDecryptionZKP{
|
||||
PartialDecryption: paillier.PartialDecryption{
|
||||
Id: 1,
|
||||
Decryption: b(171),
|
||||
},
|
||||
Key: &paillier.ThresholdPublicKey{
|
||||
PublicKey: paillier.PublicKey{
|
||||
N: (b(345)),
|
||||
},
|
||||
TotalNumberOfDecryptionServers: 7,
|
||||
Threshold: 98,
|
||||
V: b(101),
|
||||
Vi: []*big.Int{b(77), b(67)},
|
||||
},
|
||||
E: b(112),
|
||||
Z: b(88),
|
||||
C: b(99),
|
||||
}
|
||||
|
||||
func TestPdzkpBsonSerialization(t *testing.T) {
|
||||
serialized, err := SerializePartialDecryptionZKP(pdzkp)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
deserialized, err := DeserializePartialDecryptionZKP(serialized)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if !reflect.DeepEqual(pdzkp, deserialized) {
|
||||
t.Errorf(
|
||||
"Unexpected serialization result\nActual: %v\nExpected: %v\n",
|
||||
deserialized,
|
||||
pdzkp,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
func TestPdzkpJsonSerialization(t *testing.T) {
|
||||
serialized, err := JsonSerializePartialDecryptionZKP(pdzkp)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
deserialized, err := JsonDeserializePartialDecryptionZKP(serialized)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if !reflect.DeepEqual(pdzkp, deserialized) {
|
||||
t.Errorf(
|
||||
"Unexpected serialization result\nActual: %v\nExpected: %v\n",
|
||||
deserialized,
|
||||
pdzkp,
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user