zone_stats_test.go 829 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package main
  2. import (
  3. . "gopkg.in/check.v1"
  4. )
  5. type ZoneStatsSuite struct {
  6. }
  7. var _ = Suite(&ZoneStatsSuite{})
  8. func (s *ZoneStatsSuite) TestZoneStats(c *C) {
  9. zs := NewZoneLabelStats(4)
  10. c.Assert(zs, NotNil)
  11. c.Log("adding 4 entries")
  12. zs.Add("abc")
  13. zs.Add("foo")
  14. zs.Add("def")
  15. zs.Add("abc")
  16. c.Log("getting counts")
  17. co := zs.Counts()
  18. c.Check(co["abc"], Equals, 2)
  19. c.Check(co["foo"], Equals, 1)
  20. zs.Add("foo")
  21. co = zs.Counts()
  22. // close
  23. c.Check(co["abc"], Equals, 1)
  24. c.Check(co["foo"], Equals, 2)
  25. zs.Close()
  26. zs = NewZoneLabelStats(10)
  27. zs.Add("a")
  28. zs.Add("a")
  29. zs.Add("a")
  30. zs.Add("b")
  31. zs.Add("c")
  32. zs.Add("c")
  33. zs.Add("d")
  34. zs.Add("d")
  35. zs.Add("e")
  36. zs.Add("f")
  37. top := zs.TopCounts(2)
  38. c.Check(top, HasLen, 3)
  39. c.Check(top[0].Label, Equals, "a")
  40. zs.Reset()
  41. c.Check(zs.Counts(), HasLen, 0)
  42. zs.Close()
  43. }