package queue // import "github.com/docker/docker/libcontainerd/queue"

import (
	"testing"
	"time"

	"gotest.tools/v3/assert"
)

func TestSerialization(t *testing.T) {
	var (
		q             Queue
		serialization = 1
	)

	q.Append("aaa", func() {
		// simulate a long time task
		time.Sleep(10 * time.Millisecond)
		assert.Equal(t, serialization, 1)
		serialization = 2
	})
	q.Append("aaa", func() {
		assert.Equal(t, serialization, 2)
		serialization = 3
	})
	q.Append("aaa", func() {
		assert.Equal(t, serialization, 3)
		serialization = 4
	})
	time.Sleep(20 * time.Millisecond)
}
