/
field_bytes_test.go
90 lines (73 loc) · 1.89 KB
/
field_bytes_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package quickfix
import (
"bytes"
"testing"
)
func TestFieldBytes_NewField(t *testing.T) {
f := newFieldBytes(Tag(8), []byte("blahblah"))
if f == nil {
t.Error("f should not be nil")
}
expectedData := []byte("8=blahblah")
if !bytes.Equal(f.Data, expectedData) {
t.Errorf("Expected %v, got %v", expectedData, f.Data)
}
expectedValue := []byte("blahblah")
if !bytes.Equal(f.Value, expectedValue) {
t.Errorf("Expected %v, got %v", expectedValue, f.Value)
}
}
func TestFieldBytes_ParseField(t *testing.T) {
stringField := "8=FIX.4.0"
f := fieldBytes{}
err := f.parseField([]byte(stringField))
if err != nil {
t.Error("Unexpected error", err)
}
if f.Tag != Tag(8) {
t.Error("Unexpected tag", f.Tag)
}
if !bytes.Equal(f.Data, []byte(stringField)) {
t.Errorf("Expected %v got %v", stringField, f.Data)
}
if !bytes.Equal(f.Value, []byte("FIX.4.0")) {
t.Error("Unxpected value", f.Value)
}
}
func TestFieldBytes_ParseFieldFail(t *testing.T) {
stringField := "not_tag_equal_value"
f := fieldBytes{}
err := f.parseField([]byte(stringField))
if err == nil {
t.Error("Expected Error")
}
stringField = "tag_not_an_int=uhoh"
err = f.parseField([]byte(stringField))
if err == nil {
t.Error("Expected Error")
}
}
func TestFieldBytes_String(t *testing.T) {
stringField := "8=FIX.4.0"
f := fieldBytes{}
f.parseField([]byte(stringField))
if f.String() != "8=FIX.4.0" {
t.Error("Unexpected string value", f.String())
}
}
func TestFieldBytes_Length(t *testing.T) {
stringField := "8=FIX.4.0"
f := fieldBytes{}
f.parseField([]byte(stringField))
if f.Length() != len(stringField) {
t.Error("Unexpected Length", f.Length())
}
}
func TestFieldBytes_Total(t *testing.T) {
stringField := "1=hello"
f := fieldBytes{}
f.parseField([]byte(stringField))
if f.Total() != 643 {
t.Error("Total is the summation of the ascii byte values of the field string, got ", f.Total())
}
}