gitlab.com/beacon-software/gadget@v0.0.0-20181217202115-54565ea1ed5e/collection/specialized/requeingqueue_test.go (about) 1 package specialized 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 8 "gitlab.com/beacon-software/gadget/collection" 9 ) 10 11 func TestReuqueingQueue(t *testing.T) { 12 assert := assert.New(t) 13 rqq := NewRequeueingQueue() 14 assert.Equal(0, rqq.Size()) 15 actual, err := rqq.Peek() 16 assert.Nil(actual) 17 assert.Error(err, collection.NewEmptyListError().Error()) 18 19 actual, err = rqq.Pop() 20 assert.Nil(actual) 21 assert.Error(err, collection.NewEmptyListError().Error()) 22 assert.Equal(0, rqq.Size()) 23 24 rqq.Push("fun") 25 rqq.Push("super") 26 rqq.Push("is") 27 rqq.Push("go") 28 29 actual, err = rqq.Peek() 30 assert.NoError(err) 31 assert.Equal("go", actual) 32 assert.Equal(4, rqq.Size()) 33 34 actual, err = rqq.Pop() 35 assert.NoError(err) 36 assert.Equal("go", actual) 37 assert.Equal(4, rqq.Size()) 38 39 actual, err = rqq.Pop() 40 assert.NoError(err) 41 assert.Equal("is", actual) 42 assert.Equal(4, rqq.Size()) 43 44 actual, err = rqq.Pop() 45 assert.NoError(err) 46 assert.Equal("super", actual) 47 assert.Equal(4, rqq.Size()) 48 49 actual, err = rqq.Pop() 50 assert.NoError(err) 51 assert.Equal("fun", actual) 52 assert.Equal(4, rqq.Size()) 53 54 actual, err = rqq.Pop() 55 assert.NoError(err) 56 assert.Equal("go", actual) 57 assert.Equal(4, rqq.Size()) 58 }