github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/rcrowley/go-metrics/gauge_test.go (about) 1 package metrics 2 3 import "testing" 4 5 func BenchmarkGuage(b *testing.B) { 6 g := NewGauge() 7 b.ResetTimer() 8 for i := 0; i < b.N; i++ { 9 g.Update(int64(i)) 10 } 11 } 12 13 func TestGauge(t *testing.T) { 14 g := NewGauge() 15 g.Update(int64(47)) 16 if v := g.Value(); 47 != v { 17 t.Errorf("g.Value(): 47 != %v\n", v) 18 } 19 } 20 21 func TestGaugeSnapshot(t *testing.T) { 22 g := NewGauge() 23 g.Update(int64(47)) 24 snapshot := g.Snapshot() 25 g.Update(int64(0)) 26 if v := snapshot.Value(); 47 != v { 27 t.Errorf("g.Value(): 47 != %v\n", v) 28 } 29 } 30 31 func TestGetOrRegisterGauge(t *testing.T) { 32 r := NewRegistry() 33 NewRegisteredGauge("foo", r).Update(47) 34 if g := GetOrRegisterGauge("foo", r); 47 != g.Value() { 35 t.Fatal(g) 36 } 37 }