github.com/siglens/siglens@v0.0.0-20240328180423-f7ce9ae441ed/pkg/segment/tracing/utils/lineartimefinding_test.go (about) 1 package utils 2 3 import ( 4 "testing" 5 ) 6 7 func TestFindPercentileData(t *testing.T) { 8 testCases := []struct { 9 arr []uint64 10 percentile int 11 expected uint64 12 }{ 13 { 14 arr: []uint64{44, 11, 22}, 15 percentile: 66, 16 expected: 22, 17 }, 18 { 19 arr: []uint64{44, 11, 22}, 20 percentile: 67, 21 expected: 44, 22 }, 23 { 24 arr: []uint64{20, 50, 40, 30, 10}, 25 percentile: 35, 26 expected: 20, 27 }, 28 { 29 arr: []uint64{20, 50, 40, 30, 10}, 30 percentile: 95, 31 expected: 50, 32 }, 33 } 34 35 for _, tc := range testCases { 36 result := FindPercentileData(tc.arr, tc.percentile) 37 if result != tc.expected { 38 t.Errorf("Expected %d percentile to be %d, but got %d", tc.percentile, tc.expected, result) 39 } 40 } 41 }