go-chart/market_hours_range_test.go

73 lines
1.8 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"
)
func TestMarketHoursRangeGetDelta(t *testing.T) {
assert := assert.New(t)
r := &MarketHoursRange{
2016-08-01 01:54:09 +02:00
Min: time.Date(2016, 07, 19, 9, 30, 0, 0, Date.Eastern()),
Max: time.Date(2016, 07, 22, 16, 00, 0, 0, Date.Eastern()),
2017-02-12 18:10:21 +01:00
MarketOpen: NYSEOpen(),
MarketClose: NYSEClose(),
2016-08-01 01:54:09 +02:00
HolidayProvider: Date.IsNYSEHoliday,
2016-07-23 20:50:30 +02:00
}
assert.NotZero(r.GetDelta())
}
2016-07-24 18:04:07 +02:00
func TestMarketHoursRangeTranslate(t *testing.T) {
assert := assert.New(t)
r := &MarketHoursRange{
2016-08-01 01:54:09 +02:00
Min: time.Date(2016, 07, 18, 9, 30, 0, 0, Date.Eastern()),
Max: time.Date(2016, 07, 22, 16, 00, 0, 0, Date.Eastern()),
2017-02-12 18:10:21 +01:00
MarketOpen: NYSEOpen(),
MarketClose: NYSEClose(),
2016-08-01 01:54:09 +02:00
HolidayProvider: Date.IsNYSEHoliday,
2016-07-24 18:04:07 +02:00
Domain: 1000,
}
2016-08-01 01:54:09 +02:00
weds := time.Date(2016, 07, 20, 9, 30, 0, 0, Date.Eastern())
2016-07-24 18:04:07 +02:00
2016-10-21 00:21:52 +02:00
assert.Equal(0, r.Translate(Time.ToFloat64(r.Min)))
assert.Equal(400, r.Translate(Time.ToFloat64(weds)))
assert.Equal(1000, r.Translate(Time.ToFloat64(r.Max)))
2016-07-24 18:04:07 +02:00
}
func TestMarketHoursRangeGetTicks(t *testing.T) {
assert := assert.New(t)
2016-08-01 09:50:32 +02:00
r, err := PNG(1024, 1024)
assert.Nil(err)
f, err := GetDefaultFont()
assert.Nil(err)
defaults := Style{
Font: f,
FontSize: 10,
FontColor: ColorBlack,
}
ra := &MarketHoursRange{
2017-02-12 18:10:21 +01:00
Min: Date.On(NYSEOpen(), Date.Date(2016, 07, 18, Date.Eastern())),
Max: Date.On(NYSEClose(), Date.Date(2016, 07, 22, Date.Eastern())),
MarketOpen: NYSEOpen(),
MarketClose: NYSEClose(),
2016-08-01 01:54:09 +02:00
HolidayProvider: Date.IsNYSEHoliday,
2016-08-01 09:50:32 +02:00
Domain: 1024,
2016-07-24 18:04:07 +02:00
}
2016-08-01 09:50:32 +02:00
ticks := ra.GetTicks(r, defaults, TimeValueFormatter)
2016-07-24 18:04:07 +02:00
assert.NotEmpty(ticks)
2016-08-01 09:50:32 +02:00
assert.Len(ticks, 5)
2016-10-21 00:21:52 +02:00
assert.NotEqual(Time.ToFloat64(ra.Min), ticks[0].Value)
2016-07-24 18:04:07 +02:00
assert.NotEmpty(ticks[0].Label)
}