1package metrics 2 3import "testing" 4 5func BenchmarkCounter(b *testing.B) { 6 c := NewCounter() 7 b.ResetTimer() 8 for i := 0; i < b.N; i++ { 9 c.Inc(1) 10 } 11} 12 13func TestCounterClear(t *testing.T) { 14 c := NewCounter() 15 c.Inc(1) 16 c.Clear() 17 if count := c.Count(); 0 != count { 18 t.Errorf("c.Count(): 0 != %v\n", count) 19 } 20} 21 22func TestCounterDec1(t *testing.T) { 23 c := NewCounter() 24 c.Dec(1) 25 if count := c.Count(); -1 != count { 26 t.Errorf("c.Count(): -1 != %v\n", count) 27 } 28} 29 30func TestCounterDec2(t *testing.T) { 31 c := NewCounter() 32 c.Dec(2) 33 if count := c.Count(); -2 != count { 34 t.Errorf("c.Count(): -2 != %v\n", count) 35 } 36} 37 38func TestCounterInc1(t *testing.T) { 39 c := NewCounter() 40 c.Inc(1) 41 if count := c.Count(); 1 != count { 42 t.Errorf("c.Count(): 1 != %v\n", count) 43 } 44} 45 46func TestCounterInc2(t *testing.T) { 47 c := NewCounter() 48 c.Inc(2) 49 if count := c.Count(); 2 != count { 50 t.Errorf("c.Count(): 2 != %v\n", count) 51 } 52} 53 54func TestCounterSnapshot(t *testing.T) { 55 c := NewCounter() 56 c.Inc(1) 57 snapshot := c.Snapshot() 58 c.Inc(1) 59 if count := snapshot.Count(); 1 != count { 60 t.Errorf("c.Count(): 1 != %v\n", count) 61 } 62} 63 64func TestCounterZero(t *testing.T) { 65 c := NewCounter() 66 if count := c.Count(); 0 != count { 67 t.Errorf("c.Count(): 0 != %v\n", count) 68 } 69} 70 71func TestGetOrRegisterCounter(t *testing.T) { 72 r := NewRegistry() 73 NewRegisteredCounter("foo", r).Inc(47) 74 if c := GetOrRegisterCounter("foo", r); 47 != c.Count() { 75 t.Fatal(c) 76 } 77} 78