Files
overnight-trading-bot/internal/backtest/config_test.go
T
Valentin Popov b9efa98758
Deploy / Test, build and deploy (push) Failing after 3m7s
fourth version
2026-06-08 07:36:52 +00:00

39 lines
1.1 KiB
Go

package backtest
import (
"testing"
"github.com/shopspring/decimal"
)
func TestRequireZeroCommissionDefaultDoesNotOverrideExplicitFalse(t *testing.T) {
defaultEngine := New(Config{})
if !defaultEngine.requireZeroCommission() {
t.Fatal("default require_zero_commission should be true")
}
requireZero := false
explicitEngine := New(Config{RequireZeroCommission: &requireZero})
if explicitEngine.requireZeroCommission() {
t.Fatal("explicit require_zero_commission=false was overridden")
}
}
func TestAssumedSpreadUsesFundTypeSpecificDefaults(t *testing.T) {
engine := New(Config{
AssumedSpreadBps: decimal.NewFromInt(20),
InstrumentFundTypes: map[string]string{
"mm": "money_market",
"eq": "equity",
},
})
if got := engine.assumedSpreadBps("mm"); !got.Equal(decimal.NewFromInt(5)) {
t.Fatalf("money market spread=%s, want 5", got)
}
if got := engine.assumedSpreadBps("eq"); !got.Equal(decimal.NewFromInt(25)) {
t.Fatalf("equity spread=%s, want 25", got)
}
if got := engine.assumedSpreadBps("unknown"); !got.Equal(decimal.NewFromInt(20)) {
t.Fatalf("default spread=%s, want 20", got)
}
}