53 lines
1.2 KiB
Go
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))
|
|
})
|
|
})
|
|
})
|