func (suite *FixedFIFOTestSuite) TestEnqueueLenSingleGR() {
	suite.fifo.Enqueue(testValue)
	len := suite.fifo.GetLen()
	suite.Equalf(1, len, "Expected number of elements in queue: 1, currently: %v", len)
	suite.fifo.Enqueue(5)
	len = suite.fifo.GetLen()
	suite.Equalf(2, len, "Expected number of elements in queue: 2, currently: %v", len)
}
single enqueue (1 element, 1 goroutine)
package goconcurrentqueue
import (
	"context"
	"sync"
	"testing"
	"time"
	"github.com/stretchr/testify/suite"
)
const (
	fixedFIFOQueueCapacity = 500
)
type FixedFIFOTestSuite struct {
	suite.Suite
	fifo *FixedFIFO
}
func (suite *FixedFIFOTestSuite) SetupTest() {
	suite.fifo = NewFixedFIFO(fixedFIFOQueueCapacity)
}
func TestFixedFIFOTestSuite(t *testing.T) {
	suite.Run(t, new(FixedFIFOTestSuite))
}
func (suite *FixedFIFOTestSuite) TestEnqueueLockSingleGR() {
	suite.NoError(suite.fifo.Enqueue(1), "Unlocked queue allows to enqueue elements")
	suite.fifo.Lock()
	err := suite.fifo.Enqueue(1)
	suite.Error(err, "Locked queue does not allow to enqueue elements")
	customError, ok := err.(*QueueError)
	suite.True(ok, "Expected error type: QueueError")
	suite.Equalf(QueueErrorCodeLockedQueue, customError.Code(), "Expected code: '%v'", QueueErrorCodeLockedQueue)
}