sample_test.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package metrics
  2. import "testing"
  3. func TestExpDecaySample10(t *testing.T) {
  4. s := NewExpDecaySample(100, 0.99)
  5. for i := 0; i < 10; i++ { s.Update(int64(i)) }
  6. if size := s.Size(); 10 != size {
  7. t.Errorf("s.Size(): 10 != %v\n", size)
  8. }
  9. if l := len(s.Values()); 10 != l {
  10. t.Errorf("len(s.Values()): 10 != %v\n", l)
  11. }
  12. for _, v := range s.Values() {
  13. if v > 10 || v < 0 {
  14. t.Errorf("out of range [0, 10): %v\n", v)
  15. }
  16. }
  17. }
  18. func TestExpDecaySample100(t *testing.T) {
  19. s := NewExpDecaySample(1000, 0.01)
  20. for i := 0; i < 100; i++ { s.Update(int64(i)) }
  21. if size := s.Size(); 100 != size {
  22. t.Errorf("s.Size(): 100 != %v\n", size)
  23. }
  24. if l := len(s.Values()); 100 != l {
  25. t.Errorf("len(s.Values()): 100 != %v\n", l)
  26. }
  27. for _, v := range s.Values() {
  28. if v > 100 || v < 0 {
  29. t.Errorf("out of range [0, 100): %v\n", v)
  30. }
  31. }
  32. }
  33. func TestExpDecaySample1000(t *testing.T) {
  34. s := NewExpDecaySample(100, 0.99)
  35. for i := 0; i < 1000; i++ { s.Update(int64(i)) }
  36. if size := s.Size(); 100 != size {
  37. t.Errorf("s.Size(): 100 != %v\n", size)
  38. }
  39. if l := len(s.Values()); 100 != l {
  40. t.Errorf("len(s.Values()): 100 != %v\n", l)
  41. }
  42. for _, v := range s.Values() {
  43. if v > 1000 || v < 0 {
  44. t.Errorf("out of range [0, 100): %v\n", v)
  45. }
  46. }
  47. }
  48. func TestUniformSample(t *testing.T) {
  49. s := NewUniformSample(100)
  50. for i := 0; i < 1000; i++ { s.Update(int64(i)) }
  51. if size := s.Size(); 100 != size {
  52. t.Errorf("s.Size(): 100 != %v\n", size)
  53. }
  54. if l := len(s.Values()); 100 != l {
  55. t.Errorf("len(s.Values()): 100 != %v\n", l)
  56. }
  57. for _, v := range s.Values() {
  58. if v > 1000 || v < 0 {
  59. t.Errorf("out of range [0, 100): %v\n", v)
  60. }
  61. }
  62. }