github.com/chenjiandongx/go-queue@v0.0.0-20191023082232-e2a36f382f84/counter_test.go (about) 1 package collections 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestEmptyCounter(t *testing.T) { 10 c := NewCounter() 11 assert.Equal(t, c.Len(), 0) 12 assert.Equal(t, len(c.GetAll()), 0) 13 assert.Equal(t, c.Get("anything"), 0) 14 } 15 16 func TestCounter(t *testing.T) { 17 c := NewCounter() 18 c.Add("a", "b", "c", "d", "a", "c", "c") 19 assert.Equal(t, c.Top(2), []Item{{"c", 3}, {"a", 2}}) 20 assert.Equal(t, c.Get("A"), 0) 21 assert.Equal(t, c.Get("a"), 2) 22 assert.Equal(t, c.Get("b"), 1) 23 assert.Equal(t, c.Len(), 4) 24 assert.Equal(t, len(c.Top(10)), c.Len()) 25 assert.Equal(t, len(c.Top(-10)), c.Len()) 26 c.Delete("a") 27 assert.Equal(t, c.Get("a"), 0) 28 }