diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2024-08-24 16:58:01 -0400 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2024-08-24 16:58:01 -0400 |
| commit | 9ad0f9bb2bdfe47f144e2a0e8951dcfe6344a4ea (patch) | |
| tree | ba2e3e0d11ae0759ce6bf70989279fd545b0b569 /queue_test.go | |
| parent | c25a68894f3bce8a8e63289b46ecd6e29f5cc227 (diff) | |
| download | share-9ad0f9bb2bdfe47f144e2a0e8951dcfe6344a4ea.zip | |
Queuev0.2.0
Diffstat (limited to 'queue_test.go')
| -rw-r--r-- | queue_test.go | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/queue_test.go b/queue_test.go new file mode 100644 index 0000000..33666d8 --- /dev/null +++ b/queue_test.go @@ -0,0 +1,37 @@ +package share_test + +import ( + "testing" + + "git.samanthony.xyz/share" +) + +func TestQueue(t *testing.T) { + q := share.NewQueue[string]() + + vals := []string{"foo", "bar", "baz", "xyz"} + + go func() { + for _, v := range vals { + q.Enqueue <- v + } + close(q.Enqueue) + }() + + go func() { + i := 0 + for front := range q.Dequeue { + t.Log("received", front, "from queue") + if i > len(vals)-1 { + t.Fatal("received too many elements from queue") + } + if front != vals[i] { + t.Fatalf("received %v from queue; wanted %v", front, vals[i]) + } + i++ + } + if i < len(vals) { + t.Fatal("did not receive enough values from queue") + } + }() +}
\ No newline at end of file |