86 lines
1.9 KiB
Go
86 lines
1.9 KiB
Go
package seq
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
assert "github.com/blend/go-sdk/assert"
|
|
"github.com/wcharczuk/go-chart/util"
|
|
)
|
|
|
|
func TestTimeHours(t *testing.T) {
|
|
assert := assert.New(t)
|
|
|
|
today := time.Date(2016, 07, 01, 12, 0, 0, 0, time.UTC)
|
|
seq := Time.Hours(today, 24)
|
|
|
|
end := util.Time.End(seq...)
|
|
assert.Len(seq, 24)
|
|
assert.Equal(2016, end.Year())
|
|
assert.Equal(07, int(end.Month()))
|
|
assert.Equal(02, end.Day())
|
|
assert.Equal(11, end.Hour())
|
|
}
|
|
|
|
func TestSequenceHoursFill(t *testing.T) {
|
|
assert := assert.New(t)
|
|
|
|
xdata := []time.Time{
|
|
time.Date(2016, 07, 01, 12, 0, 0, 0, time.UTC),
|
|
time.Date(2016, 07, 01, 13, 0, 0, 0, time.UTC),
|
|
time.Date(2016, 07, 01, 14, 0, 0, 0, time.UTC),
|
|
time.Date(2016, 07, 02, 4, 0, 0, 0, time.UTC),
|
|
time.Date(2016, 07, 02, 5, 0, 0, 0, time.UTC),
|
|
time.Date(2016, 07, 03, 12, 0, 0, 0, time.UTC),
|
|
time.Date(2016, 07, 03, 14, 0, 0, 0, time.UTC),
|
|
}
|
|
|
|
ydata := []float64{
|
|
1.1,
|
|
1.2,
|
|
1.4,
|
|
0.8,
|
|
2.1,
|
|
0.4,
|
|
0.6,
|
|
}
|
|
|
|
filledTimes, filledValues := Time.HoursFilled(xdata, ydata)
|
|
expected := util.Time.DiffHours(util.Time.Start(xdata...), util.Time.End(xdata...)) + 1
|
|
assert.Len(filledTimes, expected)
|
|
assert.Equal(len(filledValues), len(filledTimes))
|
|
|
|
assert.NotZero(filledValues[0])
|
|
assert.NotZero(filledValues[len(filledValues)-1])
|
|
|
|
assert.NotZero(filledValues[16])
|
|
}
|
|
|
|
func TestTimeStart(t *testing.T) {
|
|
assert := assert.New(t)
|
|
|
|
times := []time.Time{
|
|
time.Now().AddDate(0, 0, -4),
|
|
time.Now().AddDate(0, 0, -2),
|
|
time.Now().AddDate(0, 0, -1),
|
|
time.Now().AddDate(0, 0, -3),
|
|
time.Now().AddDate(0, 0, -5),
|
|
}
|
|
|
|
assert.InTimeDelta(util.Time.Start(times...), times[4], time.Millisecond)
|
|
}
|
|
|
|
func TestTimeEnd(t *testing.T) {
|
|
assert := assert.New(t)
|
|
|
|
times := []time.Time{
|
|
time.Now().AddDate(0, 0, -4),
|
|
time.Now().AddDate(0, 0, -2),
|
|
time.Now().AddDate(0, 0, -1),
|
|
time.Now().AddDate(0, 0, -3),
|
|
time.Now().AddDate(0, 0, -5),
|
|
}
|
|
|
|
assert.InTimeDelta(util.Time.End(times...), times[2], time.Millisecond)
|
|
}
|