mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
35 lines
892 B
Go
35 lines
892 B
Go
|
package promql
|
||
|
|
||
|
import (
|
||
|
"reflect"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestFixBrokenBuckets(t *testing.T) {
|
||
|
f := func(values, expectedResult []float64) {
|
||
|
t.Helper()
|
||
|
xss := make([]leTimeseries, len(values))
|
||
|
for i, v := range values {
|
||
|
xss[i].ts = ×eries{
|
||
|
Values: []float64{v},
|
||
|
}
|
||
|
}
|
||
|
fixBrokenBuckets(0, xss)
|
||
|
result := make([]float64, len(values))
|
||
|
for i, xs := range xss {
|
||
|
result[i] = xs.ts.Values[0]
|
||
|
}
|
||
|
if !reflect.DeepEqual(result, expectedResult) {
|
||
|
t.Fatalf("unexpected result for values=%v\ngot\n%v\nwant\n%v", values, result, expectedResult)
|
||
|
}
|
||
|
}
|
||
|
f(nil, []float64{})
|
||
|
f([]float64{1}, []float64{1})
|
||
|
f([]float64{1,2}, []float64{1,2})
|
||
|
f([]float64{2,1}, []float64{1,1})
|
||
|
f([]float64{1,2,3,nan,nan},[]float64{1,2,3,3,3})
|
||
|
f([]float64{5,1,2,3,nan}, []float64{1,1,2,3,3})
|
||
|
f([]float64{1,5,2,nan,6,3}, []float64{1,2,2,3,3,3})
|
||
|
f([]float64{5,10,4,3}, []float64{3,3,3,3})
|
||
|
}
|