autotrader/frame_test.go
2023-05-17 23:30:07 -05:00

32 lines
770 B
Go

package autotrader
import (
"testing"
"time"
)
func TestDataFrame(t *testing.T) {
data := NewDOHLCVDataFrame()
if !data.ContainsDOHLCV() {
t.Fatalf("Expected data to contain DOHLCV columns")
}
if data.Len() != 0 {
t.Fatalf("Expected 0 rows, got %d", data.Len())
}
err := data.PushCandle(time.Date(2021, 5, 13, 0, 0, 0, 0, time.UTC), 0.8, 1.2, 0.6, 1.0, 1)
if err != nil {
t.Fatalf("Expected no error, got %s", err)
}
err = data.PushCandle(time.Date(2023, 5, 14, 0, 0, 0, 0, time.UTC), 1.0, 1.4, 0.8, 1.2, 1)
if err != nil {
t.Fatalf("Expected no error, got %s", err)
}
if data.Len() != 2 {
t.Fatalf("Expected 2 row, got %d", data.Len())
}
if data.Close(-1) != 1.2 {
t.Fatalf("Expected latest close to be 1.2, got %f", data.Close(-1))
}
}