From 39be9420c485ece0153d72c605cfd9e225274d42 Mon Sep 17 00:00:00 2001 From: Ruidy Date: Mon, 1 Sep 2025 22:54:03 -0400 Subject: [PATCH] test: add coverage for ParallelMap and ParallelFilter workers Add tests to verify default worker behavior in ParallelMap and ParallelFilter. Add internal test to cover unexported Result marker methods for coverage. --- Makefile | 2 +- parallel_filter_test.go | 9 +++++++++ parallel_map_test.go | 9 +++++++++ result_internal_test.go | 12 ++++++++++++ 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 result_internal_test.go diff --git a/Makefile b/Makefile index 5baa33d..216a031 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ build: docker build -t $(IMAGE):latest . test: build - docker run --name $(IMAGE) --rm -i -t $(IMAGE) sh -c "$(TEST) $(COVER)" + docker run --name $(IMAGE) --rm -i $(IMAGE) sh -c "$(TEST) $(COVER)" scan: trivy --cache-dir .trivycache/ image --exit-code 0 --no-progress --severity CRITICAL $(IMAGE) diff --git a/parallel_filter_test.go b/parallel_filter_test.go index d001440..a361917 100644 --- a/parallel_filter_test.go +++ b/parallel_filter_test.go @@ -31,3 +31,12 @@ func TestParallelFilter_Error(t *testing.T) { assert.Error(t, err) assert.Nil(t, out) } + +func TestParallelFilter_DefaultWorkers(t *testing.T) { + values := []int{1, 2, 3, 4} + out, err := u.ParallelFilter(context.Background(), values, 0, func(_ context.Context, n int) (bool, error) { + return n%2 == 1, nil + }) + assert.NoError(t, err) + assert.Equal(t, []int{1, 3}, out) +} diff --git a/parallel_map_test.go b/parallel_map_test.go index 74a127f..5deb8ed 100644 --- a/parallel_map_test.go +++ b/parallel_map_test.go @@ -31,3 +31,12 @@ func TestParallelMap_Error(t *testing.T) { assert.Error(t, err) assert.Nil(t, out) } + +func TestParallelMap_DefaultWorkers(t *testing.T) { + values := []int{1, 2, 3} + out, err := u.ParallelMap(context.Background(), values, 0, func(_ context.Context, n int) (int, error) { + return n + 1, nil + }) + assert.NoError(t, err) + assert.Equal(t, []int{2, 3, 4}, out) +} diff --git a/result_internal_test.go b/result_internal_test.go new file mode 100644 index 0000000..acb038e --- /dev/null +++ b/result_internal_test.go @@ -0,0 +1,12 @@ +package underscore + +import "testing" + +// Ensure the unexported marker methods are executed for coverage. +func TestResultIsResultMarker(t *testing.T) { + var ok Ok[int] + ok.isResult() + + var er Err[int] + er.isResult() +}