diff options
Diffstat (limited to 'client/go/internal/vespa/document/queue_test.go')
-rw-r--r-- | client/go/internal/vespa/document/queue_test.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/client/go/internal/vespa/document/queue_test.go b/client/go/internal/vespa/document/queue_test.go new file mode 100644 index 00000000000..992e7410053 --- /dev/null +++ b/client/go/internal/vespa/document/queue_test.go @@ -0,0 +1,29 @@ +package document + +import ( + "sync" + "testing" +) + +func TestQueue(t *testing.T) { + q := NewQueue[int](&sync.Pool{}) + assertPoll(t, q, 0, false) + q.Add(1, false) + q.Add(2, false) + assertPoll(t, q, 1, true) + assertPoll(t, q, 2, true) + q.Add(3, false) + q.Add(4, true) + assertPoll(t, q, 4, true) + assertPoll(t, q, 3, true) +} + +func assertPoll(t *testing.T, q *Queue[int], want int, wantOk bool) { + got, ok := q.Poll() + if ok != wantOk { + t.Fatalf("got ok=%t, want %t", ok, wantOk) + } + if got != want { + t.Fatalf("got v=%d, want %d", got, want) + } +} |