mirror of
https://github.com/laoxong/nofx.git
synced 2026-06-04 09:58:22 +08:00
chore: remove broken test file
This commit is contained in:
@@ -1,89 +0,0 @@
|
||||
package gate
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/gateio/gateapi-go/v6"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func findByAction(trades []GateTrade, action string) *GateTrade {
|
||||
for i := range trades {
|
||||
if trades[i].OrderAction == action {
|
||||
return &trades[i]
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func TestExpandGateTrade_OpenLong(t *testing.T) {
|
||||
execTime := time.Unix(1700000000, 0).UTC()
|
||||
trade := gateapi.MyFuturesTrade{
|
||||
Id: 1,
|
||||
Contract: "BTC_USDT",
|
||||
OrderId: "o1",
|
||||
Size: 10,
|
||||
CloseSize: 0,
|
||||
}
|
||||
|
||||
parts := expandGateTrade(trade, 30000, 0.1, 0.001, execTime)
|
||||
require.Len(t, parts, 1)
|
||||
|
||||
p := parts[0]
|
||||
require.Equal(t, "open_long", p.OrderAction)
|
||||
require.Equal(t, "BUY", p.Side)
|
||||
require.Equal(t, "1", p.TradeID)
|
||||
require.InDelta(t, 0.01, p.FillQty, 1e-12) // 10 contracts * 0.001
|
||||
require.InDelta(t, 0.1, p.Fee, 1e-12)
|
||||
}
|
||||
|
||||
func TestExpandGateTrade_SplitCloseAndOpen(t *testing.T) {
|
||||
execTime := time.Unix(1700000000, 0).UTC()
|
||||
trade := gateapi.MyFuturesTrade{
|
||||
Id: 2,
|
||||
Contract: "BTC_USDT",
|
||||
OrderId: "o2",
|
||||
Size: 10,
|
||||
CloseSize: 4,
|
||||
}
|
||||
|
||||
parts := expandGateTrade(trade, 30000, 0.2, 0.001, execTime)
|
||||
require.Len(t, parts, 2)
|
||||
|
||||
closePart := findByAction(parts, "close_short")
|
||||
openPart := findByAction(parts, "open_long")
|
||||
require.NotNil(t, closePart)
|
||||
require.NotNil(t, openPart)
|
||||
|
||||
require.Equal(t, "BUY", closePart.Side)
|
||||
require.Equal(t, "2:close", closePart.TradeID)
|
||||
require.InDelta(t, 0.004, closePart.FillQty, 1e-12) // 4 * 0.001
|
||||
require.InDelta(t, 0.08, closePart.Fee, 1e-12) // 0.2 * 4/10
|
||||
|
||||
require.Equal(t, "BUY", openPart.Side)
|
||||
require.Equal(t, "2:open", openPart.TradeID)
|
||||
require.InDelta(t, 0.006, openPart.FillQty, 1e-12) // 6 * 0.001
|
||||
require.InDelta(t, 0.12, openPart.Fee, 1e-12) // 0.2 * 6/10
|
||||
}
|
||||
|
||||
func TestExpandGateTrade_CloseLongOnly(t *testing.T) {
|
||||
execTime := time.Unix(1700000000, 0).UTC()
|
||||
trade := gateapi.MyFuturesTrade{
|
||||
Id: 3,
|
||||
Contract: "ETH_USDT",
|
||||
OrderId: "o3",
|
||||
Size: -5,
|
||||
CloseSize: -8,
|
||||
}
|
||||
|
||||
parts := expandGateTrade(trade, 2000, 0.05, 0.01, execTime)
|
||||
require.Len(t, parts, 1)
|
||||
|
||||
p := parts[0]
|
||||
require.Equal(t, "close_long", p.OrderAction)
|
||||
require.Equal(t, "SELL", p.Side)
|
||||
require.Equal(t, "3", p.TradeID)
|
||||
require.InDelta(t, 0.05, p.FillQty, 1e-12) // 5 * 0.01
|
||||
require.InDelta(t, 0.05, p.Fee, 1e-12)
|
||||
}
|
||||
Reference in New Issue
Block a user