X-Git-Url: https://git.r.bdr.sh/rbdr/mobius/blobdiff_plain/a55350daaf83498b7a237c027ad0dd2377f06fee..e59041902fbc6fb62b5c9ff8e9b4849d4bf853ea:/hotline/field_test.go?ds=sidebyside diff --git a/hotline/field_test.go b/hotline/field_test.go index ecae9c7..213d9c3 100644 --- a/hotline/field_test.go +++ b/hotline/field_test.go @@ -90,12 +90,12 @@ func Test_fieldScanner(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - gotAdvance, gotToken, err := fieldScanner(tt.args.data, tt.args.in1) - if !tt.wantErr(t, err, fmt.Sprintf("fieldScanner(%v, %v)", tt.args.data, tt.args.in1)) { + gotAdvance, gotToken, err := FieldScanner(tt.args.data, tt.args.in1) + if !tt.wantErr(t, err, fmt.Sprintf("FieldScanner(%v, %v)", tt.args.data, tt.args.in1)) { return } - assert.Equalf(t, tt.wantAdvance, gotAdvance, "fieldScanner(%v, %v)", tt.args.data, tt.args.in1) - assert.Equalf(t, tt.wantToken, gotToken, "fieldScanner(%v, %v)", tt.args.data, tt.args.in1) + assert.Equalf(t, tt.wantAdvance, gotAdvance, "FieldScanner(%v, %v)", tt.args.data, tt.args.in1) + assert.Equalf(t, tt.wantToken, gotToken, "FieldScanner(%v, %v)", tt.args.data, tt.args.in1) }) } } @@ -172,7 +172,7 @@ func TestField_Read(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { f := &Field{ - ID: tt.fields.ID, + Type: tt.fields.ID, FieldSize: tt.fields.FieldSize, Data: tt.fields.Data, readOffset: tt.fields.readOffset, @@ -186,3 +186,46 @@ func TestField_Read(t *testing.T) { }) } } + +func TestField_DecodeInt(t *testing.T) { + type fields struct { + Data []byte + } + tests := []struct { + name string + fields fields + want int + wantErr assert.ErrorAssertionFunc + }{ + { + name: "with 2 bytes of input", + fields: fields{Data: []byte{0, 1}}, + want: 1, + wantErr: assert.NoError, + }, + { + name: "with 4 bytes of input", + fields: fields{Data: []byte{0, 1, 0, 0}}, + want: 65536, + wantErr: assert.NoError, + }, + { + name: "with invalid number of bytes of input", + fields: fields{Data: []byte{1, 0, 0, 0, 0, 0, 0, 0}}, + want: 0, + wantErr: assert.Error, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + f := &Field{ + Data: tt.fields.Data, + } + got, err := f.DecodeInt() + if !tt.wantErr(t, err) { + return + } + assert.Equalf(t, tt.want, got, "DecodeInt()") + }) + } +}