github.com/enbility/spine-go@v0.7.0/model/datagram_additions_test.go (about) 1 package model 2 3 import ( 4 "testing" 5 6 "github.com/enbility/spine-go/util" 7 "github.com/stretchr/testify/assert" 8 ) 9 10 const emptyResult string = "Send: Unknown 0 unknown" 11 12 func TestTestPrintMessageOverview_Emtpty(t *testing.T) { 13 datagram := &DatagramType{} 14 15 result := datagram.PrintMessageOverview(true, "", "") 16 assert.Equal(t, emptyResult, result) 17 } 18 19 func TestPrintMessageOverview_Read_Send(t *testing.T) { 20 datagram := &DatagramType{ 21 Header: HeaderType{ 22 AddressSource: &FeatureAddressType{ 23 Device: util.Ptr(AddressDeviceType("localdevice")), 24 }, 25 AddressDestination: &FeatureAddressType{ 26 Device: util.Ptr(AddressDeviceType("localdevice")), 27 }, 28 MsgCounter: util.Ptr(MsgCounterType(1)), 29 CmdClassifier: util.Ptr(CmdClassifierTypeRead), 30 }, 31 Payload: PayloadType{ 32 Cmd: []CmdType{ 33 {}, 34 }, 35 }, 36 } 37 38 result := datagram.PrintMessageOverview(false, "", "") 39 assert.NotEqual(t, emptyResult, result) 40 } 41 42 func TestPrintMessageOverview_Read_Recv(t *testing.T) { 43 datagram := &DatagramType{ 44 Header: HeaderType{ 45 AddressSource: &FeatureAddressType{}, 46 AddressDestination: &FeatureAddressType{ 47 Device: util.Ptr(AddressDeviceType("localdevice")), 48 }, 49 MsgCounter: util.Ptr(MsgCounterType(1)), 50 CmdClassifier: util.Ptr(CmdClassifierTypeRead), 51 }, 52 Payload: PayloadType{ 53 Cmd: []CmdType{ 54 {}, 55 }, 56 }, 57 } 58 59 result := datagram.PrintMessageOverview(true, "", "") 60 assert.NotEqual(t, emptyResult, result) 61 } 62 63 func TestPrintMessageOverview_Reply_Recv(t *testing.T) { 64 datagram := &DatagramType{ 65 Header: HeaderType{ 66 AddressSource: &FeatureAddressType{}, 67 AddressDestination: &FeatureAddressType{ 68 Device: util.Ptr(AddressDeviceType("localdevice")), 69 }, 70 MsgCounter: util.Ptr(MsgCounterType(1)), 71 MsgCounterReference: util.Ptr(MsgCounterType(1)), 72 CmdClassifier: util.Ptr(CmdClassifierTypeReply), 73 }, 74 Payload: PayloadType{ 75 Cmd: []CmdType{ 76 {}, 77 }, 78 }, 79 } 80 81 result := datagram.PrintMessageOverview(true, "", "") 82 assert.NotEqual(t, emptyResult, result) 83 } 84 85 func TestPrintMessageOverview_Result_Recv(t *testing.T) { 86 datagram := &DatagramType{ 87 Header: HeaderType{ 88 AddressSource: &FeatureAddressType{}, 89 AddressDestination: &FeatureAddressType{ 90 Device: util.Ptr(AddressDeviceType("localdevice")), 91 }, 92 MsgCounter: util.Ptr(MsgCounterType(1)), 93 MsgCounterReference: util.Ptr(MsgCounterType(1)), 94 CmdClassifier: util.Ptr(CmdClassifierTypeResult), 95 }, 96 Payload: PayloadType{ 97 Cmd: []CmdType{ 98 { 99 ResultData: &ResultDataType{ 100 ErrorNumber: util.Ptr(ErrorNumberType(1)), 101 }, 102 }, 103 }, 104 }, 105 } 106 107 result := datagram.PrintMessageOverview(true, "", "") 108 assert.NotEqual(t, emptyResult, result) 109 } 110 111 func TestPrintMessageOverview_Write_Recv(t *testing.T) { 112 datagram := &DatagramType{ 113 Header: HeaderType{ 114 AddressSource: &FeatureAddressType{}, 115 AddressDestination: &FeatureAddressType{ 116 Device: util.Ptr(AddressDeviceType("localdevice")), 117 }, 118 MsgCounter: util.Ptr(MsgCounterType(1)), 119 MsgCounterReference: util.Ptr(MsgCounterType(1)), 120 CmdClassifier: util.Ptr(CmdClassifierTypeWrite), 121 }, 122 Payload: PayloadType{ 123 Cmd: []CmdType{ 124 {}, 125 }, 126 }, 127 } 128 129 result := datagram.PrintMessageOverview(true, "", "") 130 assert.NotEqual(t, emptyResult, result) 131 }