4 "github.com/stretchr/testify/assert"
9 func TestNewsCategoryListData15_MarshalBinary(t *testing.T) {
13 Articles map[uint32]*NewsArtData
14 SubCats map[string]NewsCategoryListData15
27 name: "returns expected bytes when type is a bundle",
29 Type: [2]byte{0x00, 0x02},
30 Articles: map[uint32]*NewsArtData{
48 name: "returns expected bytes when type is a category",
50 Type: [2]byte{0x00, 0x03},
51 Articles: map[uint32]*NewsArtData{
63 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
64 0x00, 0x00, 0x00, 0x00,
65 0x00, 0x00, 0x00, 0x00,
72 for _, tt := range tests {
73 t.Run(tt.name, func(t *testing.T) {
74 newscat := &NewsCategoryListData15{
77 Articles: tt.fields.Articles,
78 SubCats: tt.fields.SubCats,
79 AddSN: tt.fields.AddSN,
80 DeleteSN: tt.fields.DeleteSN,
83 gotData, err := io.ReadAll(newscat)
84 if newscat.Type == [2]byte{0, 3} {
85 // zero out the random GUID before comparison
86 for i := 4; i < 20; i++ {
90 if (err != nil) != tt.wantErr {
91 t.Errorf("MarshalBinary() error = %v, wantErr %v", err, tt.wantErr)
94 if !assert.Equal(t, tt.wantData, gotData) {
95 t.Errorf("MarshalBinary() gotData = %v, want %v", gotData, tt.wantData)