1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package zones
- import (
- "github.com/stretchr/testify/assert"
- "testing"
- )
- func TestZoneStats(t *testing.T) {
- zs := NewZoneLabelStats(4)
- if zs == nil {
- t.Fatalf("NewZoneLabelStats returned nil")
- }
- t.Log("adding 4 entries")
- zs.Add("abc")
- zs.Add("foo")
- zs.Add("def")
- zs.Add("abc")
- t.Log("getting counts")
- co := zs.Counts()
- assert.Equal(t, co["abc"], 2)
- assert.Equal(t, co["foo"], 1)
- zs.Add("foo")
- co = zs.Counts()
- assert.Equal(t, co["abc"], 1) // the first abc rolled off
- assert.Equal(t, co["foo"], 2)
- zs.Close()
- zs = NewZoneLabelStats(10)
- zs.Add("a")
- zs.Add("a")
- zs.Add("a")
- zs.Add("b")
- zs.Add("c")
- zs.Add("c")
- zs.Add("d")
- zs.Add("d")
- zs.Add("e")
- zs.Add("f")
- top := zs.TopCounts(2)
- assert.Len(t, top, 3, "TopCounts(2) returned 3 elements")
- assert.Equal(t, top[0].Label, "a")
- zs.Reset()
- assert.Len(t, zs.Counts(), 0, "Counts() is empty after reset")
- zs.Close()
- }
|