MCPcopy Create free account
hub / github.com/astercloud/aster / TestTransform_WithSkip

Function TestTransform_WithSkip

pkg/stream/stream_test.go:268–294  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

266}
267
268func TestTransform_WithSkip(t *testing.T) {
269 reader := FromSlice([]int{1, 2, 3, 4, 5, 6})
270
271 // 只保留偶数
272 evens := Transform(reader, func(v int) (int, error) {
273 if v%2 != 0 {
274 return 0, ErrSkip
275 }
276 return v, nil
277 })
278 defer evens.Close()
279
280 result, err := evens.Collect()
281 if err != nil {
282 t.Fatalf("unexpected error: %v", err)
283 }
284
285 expected := []int{2, 4, 6}
286 if len(result) != len(expected) {
287 t.Fatalf("expected %d items, got %d", len(expected), len(result))
288 }
289 for i, v := range result {
290 if v != expected[i] {
291 t.Errorf("at index %d: expected %d, got %d", i, expected[i], v)
292 }
293 }
294}
295
296func TestFilter(t *testing.T) {
297 reader := FromSlice([]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10})

Callers

nothing calls this directly

Calls 4

FromSliceFunction · 0.85
TransformFunction · 0.85
CollectMethod · 0.80
CloseMethod · 0.65

Tested by

no test coverage detected