forked from bensema/gotdx
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathblock_test.go
More file actions
40 lines (36 loc) · 1.06 KB
/
Copy pathblock_test.go
File metadata and controls
40 lines (36 loc) · 1.06 KB
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
package gotdx
import "testing"
func buildBlockData() []byte {
data := make([]byte, 384+2+2800)
data[384] = 1
copy(data[386:395], []byte{'T', 'E', 'S', 'T'})
data[395] = 2
data[397] = 3
copy(data[399:406], []byte{'6', '0', '0', '0', '0', '0'})
copy(data[406:413], []byte{'0', '0', '0', '0', '0', '1'})
return data
}
func TestParseBlockFlat(t *testing.T) {
items, err := ParseBlockFlat(buildBlockData())
if err != nil {
t.Fatalf("ParseBlockFlat failed: %v", err)
}
if len(items) != 2 {
t.Fatalf("unexpected item count: %d", len(items))
}
if items[0].BlockName != "TEST" || items[0].Code != "600000" || items[1].Code != "000001" {
t.Fatalf("unexpected block items: %+v", items)
}
}
func TestParseBlockGroups(t *testing.T) {
items, err := ParseBlockGroups(buildBlockData())
if err != nil {
t.Fatalf("ParseBlockGroups failed: %v", err)
}
if len(items) != 1 {
t.Fatalf("unexpected group count: %d", len(items))
}
if items[0].BlockName != "TEST" || items[0].StockCount != 2 || len(items[0].Codes) != 2 {
t.Fatalf("unexpected block group: %+v", items[0])
}
}