dev 3
This commit is contained in:
39
go-client/apps/zt/logic/strategy_test.go
Normal file
39
go-client/apps/zt/logic/strategy_test.go
Normal file
@@ -0,0 +1,39 @@
|
||||
package logic
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestCalcBuyVolume(t *testing.T) {
|
||||
for _, tt := range []struct {
|
||||
price, value float64
|
||||
want int
|
||||
}{{10, 5000, 500}, {33, 5000, 100}, {100, 5000, 100}, {0, 5000, 0}} {
|
||||
if got := calcBuyVolume(tt.price, tt.value); got != tt.want {
|
||||
t.Fatalf("calcBuyVolume(%v,%v)=%d, want %d", tt.price, tt.value, got, tt.want)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewOrderTagIsShortAndFileSafe(t *testing.T) {
|
||||
tag := newOrderTag("base")
|
||||
if len(tag) > 24 || !strings.HasPrefix(tag, "zt-") || strings.ContainsAny(tag, `<>:"/\\|?*`) {
|
||||
t.Fatalf("订单号不符合约束: %q", tag)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadReceipt(t *testing.T) {
|
||||
dir := t.TempDir()
|
||||
path := filepath.Join(dir, "order_zt.json")
|
||||
raw := []byte(`{"order_id":"zt-b-123","qmt_order_id":"9","stock_code":"000001.SZ","side":"buy","requested_volume":500,"traded_volume":500,"status":"filled","updated_at":"2026-08-25T10:00:00+08:00"}`)
|
||||
if err := os.WriteFile(path, raw, 0o644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
got, err := loadReceipt(path)
|
||||
if err != nil || got.Status != "filled" || got.TradedVolume != 500 {
|
||||
t.Fatalf("loadReceipt()=%+v, %v", got, err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user