registry_test.go 600 B

123456789101112131415161718192021222324252627282930313233343536
  1. package metrics
  2. import "testing"
  3. func BenchmarkRegistry(b *testing.B) {
  4. r := NewRegistry()
  5. r.Register("foo", NewCounter())
  6. b.ResetTimer()
  7. for i := 0; i < b.N; i++ {
  8. r.Each(func(string, interface{}) {})
  9. }
  10. }
  11. func TestRegistry(t *testing.T) {
  12. r := NewRegistry()
  13. r.Register("foo", NewCounter())
  14. i := 0
  15. r.Each(func(name string, iface interface{}) {
  16. i++
  17. if "foo" != name {
  18. t.Fatal(name)
  19. }
  20. if _, ok := iface.(Counter); !ok {
  21. t.Fatal(iface)
  22. }
  23. })
  24. if 1 != i {
  25. t.Fatal(i)
  26. }
  27. r.Unregister("foo")
  28. i = 0
  29. r.Each(func(string, interface{}) { i++ })
  30. if 0 != i {
  31. t.Fatal(i)
  32. }
  33. }