stream
This commit is contained in:
parent
51f0179ca5
commit
d90060c6a2
|
@ -6,8 +6,8 @@ import (
|
|||
"github/fthvgb1/wp-go/taskPools"
|
||||
)
|
||||
|
||||
func Reduce[T any, S any](s SimpleSliceStream[S], fn func(S, T) T) (r T) {
|
||||
return helper.SliceReduce(s.arr, fn, r)
|
||||
func Reduce[T any, S any](s SimpleSliceStream[S], fn func(S, T) T, init T) (r T) {
|
||||
return helper.SliceReduce(s.arr, fn, init)
|
||||
}
|
||||
|
||||
type SimpleSliceStream[T any] struct {
|
||||
|
|
|
@ -288,6 +288,7 @@ func TestReduce(t *testing.T) {
|
|||
type args[S, T int] struct {
|
||||
s SimpleSliceStream[S]
|
||||
fn func(S, T) T
|
||||
init T
|
||||
}
|
||||
type testCase[S, T int] struct {
|
||||
name string
|
||||
|
@ -301,13 +302,14 @@ func TestReduce(t *testing.T) {
|
|||
s, func(i, r int) int {
|
||||
return i + r
|
||||
},
|
||||
0,
|
||||
},
|
||||
wantR: helper.Sum(s.Result()...),
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
if gotR := Reduce(tt.args.s, tt.args.fn); !reflect.DeepEqual(gotR, tt.wantR) {
|
||||
if gotR := Reduce(tt.args.s, tt.args.fn, tt.args.init); !reflect.DeepEqual(gotR, tt.wantR) {
|
||||
t.Errorf("Reduce() = %v, want %v", gotR, tt.wantR)
|
||||
}
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue
Block a user