meter_test.go 605 B

123456789101112131415161718192021222324252627282930313233343536
  1. package metrics
  2. import (
  3. "testing"
  4. "time"
  5. )
  6. func TestMeterDecay(t *testing.T) {
  7. m := &StandardMeter{
  8. make(chan int64),
  9. make(chan meterV),
  10. time.NewTicker(1),
  11. }
  12. go m.arbiter()
  13. m.Mark(1)
  14. rateMean := m.RateMean()
  15. time.Sleep(1)
  16. if m.RateMean() >= rateMean {
  17. t.Error("m.RateMean() didn't decrease")
  18. }
  19. }
  20. func TestMeterNonzero(t *testing.T) {
  21. m := NewMeter()
  22. m.Mark(3)
  23. if count := m.Count(); 3 != count {
  24. t.Errorf("m.Count(): 3 != %v\n", count)
  25. }
  26. }
  27. func TestMeterZero(t *testing.T) {
  28. m := NewMeter()
  29. if count := m.Count(); 0 != count {
  30. t.Errorf("m.Count(): 0 != %v\n", count)
  31. }
  32. }