github.com/enbility/spine-go@v0.7.0/model/messaging_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 func TestMessagingListDataType_Update(t *testing.T) { 11 sut := MessagingListDataType{ 12 MessagingData: []MessagingDataType{ 13 { 14 MessagingNumber: util.Ptr(MessagingNumberType(0)), 15 Text: util.Ptr(MessagingDataTextType("old")), 16 }, 17 { 18 MessagingNumber: util.Ptr(MessagingNumberType(1)), 19 Text: util.Ptr(MessagingDataTextType("old")), 20 }, 21 }, 22 } 23 24 newData := MessagingListDataType{ 25 MessagingData: []MessagingDataType{ 26 { 27 MessagingNumber: util.Ptr(MessagingNumberType(1)), 28 Text: util.Ptr(MessagingDataTextType("new")), 29 }, 30 }, 31 } 32 33 // Act 34 _, success := sut.UpdateList(false, true, &newData, NewFilterTypePartial(), nil) 35 assert.True(t, success) 36 37 data := sut.MessagingData 38 // check the non changing items 39 assert.Equal(t, 2, len(data)) 40 item1 := data[0] 41 assert.Equal(t, 0, int(*item1.MessagingNumber)) 42 assert.Equal(t, "old", string(*item1.Text)) 43 // check properties of updated item 44 item2 := data[1] 45 assert.Equal(t, 1, int(*item2.MessagingNumber)) 46 assert.Equal(t, "new", string(*item2.Text)) 47 }