feat: add IsFull function for ArrayQueue

This commit is contained in:
dudaodong
2022-06-05 16:43:15 +08:00
parent 2ef9b56d22
commit dbca2f6be4
2 changed files with 16 additions and 0 deletions

View File

@@ -43,6 +43,11 @@ func (q *ArrayQueue[T]) IsEmpty() bool {
return q.size == 0
}
// IsFull checks if queue is full or not
func (q *ArrayQueue[T]) IsFull() bool {
return q.size == q.capacity
}
// Front return front value of queue
func (q *ArrayQueue[T]) Front() T {
return q.items[0]

View File

@@ -100,3 +100,14 @@ func TestArrayQueue_Clear(t *testing.T) {
assert.Equal(true, queue.IsEmpty())
assert.Equal(0, queue.Size())
}
func TestArrayQueue_IsFull(t *testing.T) {
assert := internal.NewAssert(t, "TestArrayQueue_IsFull")
queue := NewArrayQueue[int](3)
queue.Enqueue(1)
queue.Enqueue(2)
queue.Enqueue(3)
assert.Equal(true, queue.IsFull())
}