| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package metrics
- import (
- "testing"
- )
- // <https://github.com/codahale/metrics/blob/development/metrics-core/src/test/java/com/yammer/metrics/stats/tests/ExponentiallyDecayingSampleTest.java>
- func TestExpDecaySample10(t *testing.T) {
- s := NewExpDecaySample(100, 0.99)
- for i := 0; i < 10; i++ { s.Update(int64(i)) }
- if size := s.Size(); 10 != size {
- t.Errorf("s.Size(): 10 != %v\n", size)
- }
- if l := len(s.Values()); 10 != l {
- t.Errorf("len(s.Values()): 10 != %v\n", l)
- }
- for _, v := range s.Values() {
- if v > 10 || v < 0 {
- t.Errorf("out of range [0, 10): %v\n", v)
- }
- }
- }
- func TestExpDecaySample100(t *testing.T) {
- s := NewExpDecaySample(1000, 0.01)
- for i := 0; i < 100; i++ { s.Update(int64(i)) }
- if size := s.Size(); 100 != size {
- t.Errorf("s.Size(): 100 != %v\n", size)
- }
- if l := len(s.Values()); 100 != l {
- t.Errorf("len(s.Values()): 100 != %v\n", l)
- }
- for _, v := range s.Values() {
- if v > 100 || v < 0 {
- t.Errorf("out of range [0, 100): %v\n", v)
- }
- }
- }
- func TestExpDecaySample1000(t *testing.T) {
- s := NewExpDecaySample(100, 0.99)
- for i := 0; i < 1000; i++ { s.Update(int64(i)) }
- if size := s.Size(); 100 != size {
- t.Errorf("s.Size(): 100 != %v\n", size)
- }
- if l := len(s.Values()); 100 != l {
- t.Errorf("len(s.Values()): 100 != %v\n", l)
- }
- for _, v := range s.Values() {
- if v > 1000 || v < 0 {
- t.Errorf("out of range [0, 100): %v\n", v)
- }
- }
- }
- func TestUniformSample(t *testing.T) {
- s := NewUniformSample(100)
- for i := 0; i < 1000; i++ { s.Update(int64(i)) }
- if size := s.Size(); 100 != size {
- t.Errorf("s.Size(): 100 != %v\n", size)
- }
- if l := len(s.Values()); 100 != l {
- t.Errorf("len(s.Values()): 100 != %v\n", l)
- }
- for _, v := range s.Values() {
- if v > 1000 || v < 0 {
- t.Errorf("out of range [0, 100): %v\n", v)
- }
- }
- }
|