feat: improve test case

This commit is contained in:
weloe
2023-10-12 15:35:14 +08:00
parent ac8674dc3e
commit 2d802fd47b

View File

@@ -0,0 +1,59 @@
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)
}
}