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  }