Files
token-go/persist/json_serializer_test.go
2023-10-12 15:35:14 +08:00

60 lines
1.4 KiB
Go

package persist
import (
"testing"
)
func TestJsonSerializer_Serialize(t *testing.T) {
serializer := NewJsonSerializer()
data := struct {
Name string `json:"name"`
Age int `json:"age"`
Email string `json:"email"`
}{
Name: "John Doe",
Age: 30,
Email: "john.doe@example.com",
}
serializedData, err := serializer.Serialize(data)
if err != nil {
t.Fatalf("Failed to serialize data: %v", err)
}
expectedData := `{"name":"John Doe","age":30,"email":"john.doe@example.com"}`
if string(serializedData) != expectedData {
t.Errorf("Serialized data does not match expected value. Got: %s, Want: %s", serializedData, expectedData)
}
}
func TestJsonSerializer_UnSerialize(t *testing.T) {
serializer := NewJsonSerializer()
serializedData := []byte(`{"name":"John Doe","age":30,"email":"john.doe@example.com"}`)
var result struct {
Name string `json:"name"`
Age int `json:"age"`
Email string `json:"email"`
}
err := serializer.UnSerialize(serializedData, &result)
if err != nil {
t.Fatalf("Failed to unserialize data: %v", err)
}
expectedResult := struct {
Name string `json:"name"`
Age int `json:"age"`
Email string `json:"email"`
}{
Name: "John Doe",
Age: 30,
Email: "john.doe@example.com",
}
if result != expectedResult {
t.Errorf("Unserialized data does not match expected value. Got: %+v, Want: %+v", result, expectedResult)
}
}