1
0
mirror of https://github.com/duke-git/lancet.git synced 2026-03-01 00:35:28 +08:00

refactor: replace param done channel with ctx context

This commit is contained in:
dudaodong
2022-04-19 14:42:55 +08:00
parent 83c0d1d6e6
commit 763aa8e10d
2 changed files with 23 additions and 20 deletions

View File

@@ -1,6 +1,7 @@
package concurrency
import (
"context"
"testing"
"github.com/duke-git/lancet/v2/internal"
@@ -9,11 +10,11 @@ import (
func TestGenerate(t *testing.T) {
assert := internal.NewAssert(t, "TestGenerate")
done := make(chan any)
defer close(done)
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
c := NewChannel()
intStream := c.Generate(done, 1, 2, 3)
intStream := c.Generate(ctx, 1, 2, 3)
// for v := range intStream {
// t.Log(v) //1, 2, 3
@@ -26,11 +27,11 @@ func TestGenerate(t *testing.T) {
func TestRepeat(t *testing.T) {
assert := internal.NewAssert(t, "TestRepeat")
done := make(chan any)
defer close(done)
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
c := NewChannel()
intStream := c.Take(done, c.Repeat(done, 1, 2), 5)
intStream := c.Take(ctx, c.Repeat(ctx, 1, 2), 5)
// for v := range intStream {
// t.Log(v) //1, 2, 1, 2, 1
@@ -45,15 +46,15 @@ func TestRepeat(t *testing.T) {
func TestRepeatFn(t *testing.T) {
assert := internal.NewAssert(t, "TestRepeatFn")
done := make(chan any)
defer close(done)
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
fn := func() any {
s := "a"
return s
}
c := NewChannel()
dataStream := c.Take(done, c.RepeatFn(done, fn), 3)
dataStream := c.Take(ctx, c.RepeatFn(ctx, fn), 3)
// for v := range dataStream {
// t.Log(v) //a, a, a
@@ -67,8 +68,8 @@ func TestRepeatFn(t *testing.T) {
func TestTake(t *testing.T) {
assert := internal.NewAssert(t, "TestRepeat")
done := make(chan any)
defer close(done)
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
numbers := make(chan any, 5)
numbers <- 1
@@ -79,7 +80,7 @@ func TestTake(t *testing.T) {
defer close(numbers)
c := NewChannel()
intStream := c.Take(done, numbers, 3)
intStream := c.Take(ctx, numbers, 3)
// for v := range intStream {
// t.Log(v) //1, 2, 3