1package example
2
3import (
4	"testing"
5
6	"github.com/stretchr/testify/assert"
7)
8
9func TestNew(t *testing.T) {
10
11	q := NewGenericQueue()
12	assert.NotNil(t, q)
13
14}
15
16func TestEnqueueAndDequeue(t *testing.T) {
17
18	item1 := new(Generic)
19	item2 := new(Generic)
20	q := NewGenericQueue()
21
22	assert.Equal(t, q, q.Enq(item1), "Enq should return the queue")
23	assert.Equal(t, 1, q.Len())
24	assert.Equal(t, q, q.Enq(item2), "Enq should return the queue")
25	assert.Equal(t, 2, q.Len())
26
27	assert.Equal(t, item1, q.Deq())
28	assert.Equal(t, 1, q.Len())
29	assert.Equal(t, item2, q.Deq())
30	assert.Equal(t, 0, q.Len())
31
32}
33