add changes to changeover code based on unit tests

This commit is contained in:
2022-04-03 19:10:55 -07:00
parent 71bb0676c0
commit 0f88864200
2 changed files with 11 additions and 2 deletions

View File

@@ -11,11 +11,20 @@ func GetChangeOvers(periods ...Period) (changeovers []time.Time) {
timeStamps = append(timeStamps, x.GetEndTime())
timeStamps = append(timeStamps, x.GetStartTime())
}
if len(timeStamps) == 0 {
return
}
sort.Slice(timeStamps, func(i, j int) bool {
return timeStamps[i].Before(timeStamps[j])
})
// timeStamps is sorted, so this will always result in an unused time
// struct, as it's before the first
previousTs := timeStamps[0].Add(-10 * time.Nanosecond)
for _, ts := range timeStamps {
if ts.Equal(previousTs) {
continue
}
previousTs = ts
before := ts.Add(-1 * time.Nanosecond)
after := ts.Add(1 * time.Nanosecond)
from, _ := MostSpecificPeriod(before, periods...)