github.com/chenjiandongx/go-queue@v0.0.0-20191023082232-e2a36f382f84/queue_test.go (about) 1 package collections 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 const nums = 1000 10 11 func TestQueue(t *testing.T) { 12 q := NewQueue() 13 14 var item interface{} 15 var ok bool 16 17 for i := 0; i < nums; i++ { 18 q.Put(i) 19 } 20 for i := 0; i < nums; i++ { 21 item, ok = q.Get() 22 assert.Equal(t, i, item.(int)) 23 assert.Equal(t, ok, true) 24 } 25 26 item, ok = q.Get() 27 assert.Equal(t, nil, item) 28 assert.Equal(t, ok, false) 29 30 item, ok = q.Get() 31 assert.Equal(t, nil, item) 32 assert.Equal(t, ok, false) 33 }