Files
go-caatsm/internal/domain/aftn_test.go
T
2024-07-19 20:02:18 +08:00

53 lines
1.2 KiB
Go

package domain
import (
"encoding/json"
"time"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
)
var _ = Describe("AFTN", func() {
var original AFTN
BeforeEach(func() {
original = AFTN{
Header: Header{
StartSignal: "ZCZC",
SendID: "TMQ2611",
SendTime: "151524",
},
PriorityAndSender: PriorityAndSender{
Priority: "FF",
Sender: "ZBTJZPZX",
},
TimeAndReceiver: TimeAndReceiver{
Time: "151524",
Receiver: "ZGGGZPZX",
},
Text: "Test message",
ReceivedTime: time.Now(),
Category: "Test",
BodyData: nil,
}
})
Describe("Marshalling and Unmarshalling", func() {
It("should marshal and unmarshal correctly", func() {
data, err := json.Marshal(original)
Expect(err).NotTo(HaveOccurred())
var unmarshalled AFTN
err = json.Unmarshal(data, &unmarshalled)
Expect(err).NotTo(HaveOccurred())
Expect(unmarshalled.Header).To(Equal(original.Header))
Expect(unmarshalled.PriorityAndSender).To(Equal(original.PriorityAndSender))
Expect(unmarshalled.TimeAndReceiver).To(Equal(original.TimeAndReceiver))
Expect(unmarshalled.Text).To(Equal(original.Text))
Expect(unmarshalled.Category).To(Equal(original.Category))
})
})
})