Skip to content

Commit e3911b2

Browse files
committed
add: unit test for new implementation
Signed-off-by: Ivan Goncharov <[email protected]>
1 parent 827feb2 commit e3911b2

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

prometheus/histogram_test.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1499,3 +1499,34 @@ func BenchmarkFindBucketNone(b *testing.B) {
14991499
resultFindBucket = h.findBucket(v)
15001500
}
15011501
}
1502+
1503+
func TestFindBucket(t *testing.T) {
1504+
smallHistogram := &histogram{upperBounds: []float64{1, 2, 3, 4, 5}}
1505+
largeHistogram := &histogram{upperBounds: make([]float64, 50)}
1506+
for i := range largeHistogram.upperBounds {
1507+
largeHistogram.upperBounds[i] = float64(i)
1508+
}
1509+
1510+
tests := []struct {
1511+
h *histogram
1512+
v float64
1513+
expected int
1514+
}{
1515+
{smallHistogram, -1, 0},
1516+
{smallHistogram, 0.5, 0},
1517+
{smallHistogram, 2.5, 2},
1518+
{smallHistogram, 5.5, 5},
1519+
{largeHistogram, -1, 0},
1520+
{largeHistogram, 25.5, 26},
1521+
{largeHistogram, 49.5, 50},
1522+
{largeHistogram, 50.5, 50},
1523+
{largeHistogram, 5000.5, 50},
1524+
}
1525+
1526+
for _, tt := range tests {
1527+
result := tt.h.findBucket(tt.v)
1528+
if result != tt.expected {
1529+
t.Errorf("findBucket(%v) = %d; expected %d", tt.v, result, tt.expected)
1530+
}
1531+
}
1532+
}

0 commit comments

Comments
 (0)