Co-authored-by: Dmitry Fedotov <dmitry@uint32.ru> Co-committed-by: Dmitry Fedotov <dmitry@uint32.ru>
29 lines
453 B
Go
29 lines
453 B
Go
package script
|
|
|
|
import (
|
|
"context"
|
|
"slices"
|
|
"testing"
|
|
)
|
|
|
|
func TestChain(t *testing.T) {
|
|
p := func(_ context.Context, in []string) ([]string, error) {
|
|
in[0] = in[0] + in[0]
|
|
return in, nil
|
|
}
|
|
|
|
chain := Chain(p, p, p)
|
|
|
|
in := []string{"a"}
|
|
want := []string{"aaaaaaaa"}
|
|
|
|
res, err := chain(t.Context(), in)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if !slices.Equal(res, want) {
|
|
t.Fatalf("slices are not equal, have: %+v, want: %+v", res, want)
|
|
}
|
|
}
|