-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserialize_test.go
More file actions
83 lines (69 loc) · 2.27 KB
/
serialize_test.go
File metadata and controls
83 lines (69 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package serializer
import (
"testing"
)
type testingInterface struct {
Num int
ValueStr string
}
func TestBase64Encoding(t *testing.T) {
bytes := []byte("abcdef")
encStr := ByteToBase64String(bytes)
if (encStr != "YWJjZGVm") {
t.Error("Unable to encode to Base 64")
}
calculatedBytes, _ := Base64StringToByte(encStr)
if (string(calculatedBytes) != "abcdef") {
t.Error("Unable to decode Base 64 string")
}
}
func TestSerializeInterfaceUsingGob(t *testing.T) {
testInterface := testingInterface{10, "abc"}
serialized, err := SerializeToGob(testInterface)
if (err != nil) {
t.Error("Raised error while serializing interface")
t.Error(err)
}
deserialized := testingInterface{}
err = DeserializeFromGob(serialized, &deserialized)
if (err != nil) {
t.Error("Unable to deserialize bytes using gob")
}
if ((deserialized.ValueStr != testInterface.ValueStr) ||
(deserialized.Num != testInterface.Num)) {
t.Error("The deserialized values dont match the original data")
}
}
func TestSerializeInterfaceUsingGobAndString(t *testing.T) {
testInterface := testingInterface{100, "xyz"}
serialized, err := SerializeInterfaceToString(testInterface)
if (err != nil) {
t.Error("Raised error while serializing interface")
t.Error(err)
}
deserialized := testingInterface{}
err = DeserializeStringToInterface(serialized, &deserialized)
if (err != nil) {
t.Error("Unable to deserialize bytes using gob")
}
if ((deserialized.ValueStr != testInterface.ValueStr) ||
(deserialized.Num != testInterface.Num)) {
t.Error("The deserialized values dont match the original data")
}
}
func TestSerializeStringUsingGobAndString(t *testing.T) {
testStr := "abcded"
serialized, err := SerializeInterfaceToString(testStr)
if (err != nil) {
t.Error("Raised error while serializing interface")
t.Error(err)
}
deserialized := ""
err = DeserializeStringToInterface(serialized, &deserialized)
if (err != nil) {
t.Error("Unable to deserialize bytes using gob")
}
if (deserialized != testStr) {
t.Error("The deserialized string doesnt match the original string")
}
}