From 9432f7d1c143c426ab011770431827b9c055b7e9 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Sun, 18 Aug 2024 18:01:24 -0400 Subject: test ConstSlice --- slice_test.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 slice_test.go diff --git a/slice_test.go b/slice_test.go new file mode 100644 index 0000000..f8a1d0b --- /dev/null +++ b/slice_test.go @@ -0,0 +1,32 @@ +package share_test + +import ( + "testing" + + "git.samanthony.xyz/share" +) + +func TestConstSlice(t *testing.T) { + orig := []string{"foo", "bar", "baz"} + shared := share.NewConstSlice(orig) + verifySame(shared, orig, t) + go func() { + defer shared.Close() + verifySame(shared, orig, t) + }() +} + +func verifySame[T comparable](cs share.ConstSlice[T], s []T, t *testing.T) { + i := 0 + for elem := range cs.Elems() { + if i < len(s) { + if elem != s[i] { + t.Errorf("ConstSlice[%d] = %v; expected %v", i, elem, s[i]) + } + } + i++ + } + if i != len(s) { + t.Errorf("ConstSlice.Elems() returned %d elements; expected %d", i, len(s)) + } +} -- cgit v1.2.3