go-chart/market_hours_range_test.go

62 lines
1.7 KiB
Go
Raw Normal View History

2016-07-23 20:50:30 +02:00
package chart
import (
"testing"
"time"
assert "github.com/blendlabs/go-assert"
"github.com/wcharczuk/go-chart/date"
)
func TestMarketHoursRangeGetDelta(t *testing.T) {
assert := assert.New(t)
r := &MarketHoursRange{
Min: time.Date(2016, 07, 19, 9, 30, 0, 0, date.Eastern()),
Max: time.Date(2016, 07, 22, 16, 00, 0, 0, date.Eastern()),
MarketOpen: date.NYSEOpen,
MarketClose: date.NYSEClose,
HolidayProvider: date.IsNYSEHoliday,
}
assert.NotZero(r.GetDelta())
}
2016-07-24 18:04:07 +02:00
func TestMarketHoursRangeTranslate(t *testing.T) {
assert := assert.New(t)
r := &MarketHoursRange{
Min: time.Date(2016, 07, 18, 9, 30, 0, 0, date.Eastern()),
Max: time.Date(2016, 07, 22, 16, 00, 0, 0, date.Eastern()),
MarketOpen: date.NYSEOpen,
MarketClose: date.NYSEClose,
HolidayProvider: date.IsNYSEHoliday,
Domain: 1000,
}
weds := time.Date(2016, 07, 20, 9, 30, 0, 0, date.Eastern())
assert.Equal(0, r.Translate(TimeToFloat64(r.Min)))
assert.Equal(400, r.Translate(TimeToFloat64(weds)))
assert.Equal(1000, r.Translate(TimeToFloat64(r.Max)))
}
func TestMarketHoursRangeGetTicks(t *testing.T) {
assert := assert.New(t)
r := &MarketHoursRange{
Min: time.Date(2016, 07, 18, 9, 30, 0, 0, date.Eastern()),
Max: time.Date(2016, 07, 22, 16, 00, 0, 0, date.Eastern()),
MarketOpen: date.NYSEOpen,
MarketClose: date.NYSEClose,
HolidayProvider: date.IsNYSEHoliday,
Domain: 1000,
}
ticks := r.GetTicks(TimeValueFormatter)
assert.NotEmpty(ticks)
2016-07-27 21:34:15 +02:00
assert.Len(ticks, 6)
2016-07-24 22:48:10 +02:00
assert.NotEqual(TimeToFloat64(r.Min), ticks[0].Value)
2016-07-24 18:04:07 +02:00
assert.NotEmpty(ticks[0].Label)
}