mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2025-02-09 15:27:11 +00:00
34 lines
892 B
Go
34 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})
|
|
}
|