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  }