|
@@ -49,6 +49,36 @@ func TestBufferNegative(t *testing.T) {
|
|
assert.Equal(t, 10, result)
|
|
assert.Equal(t, 10, result)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+func TestCount(t *testing.T) {
|
|
|
|
+ tests := []struct {
|
|
|
|
+ name string
|
|
|
|
+ elements []interface{}
|
|
|
|
+ }{
|
|
|
|
+ {
|
|
|
|
+ name: "no elements with nil",
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ name: "no elements",
|
|
|
|
+ elements: []interface{}{},
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ name: "1 element",
|
|
|
|
+ elements: []interface{}{1},
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ name: "multiple elements",
|
|
|
|
+ elements: []interface{}{1, 2, 3},
|
|
|
|
+ },
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for _, test := range tests {
|
|
|
|
+ t.Run(test.name, func(t *testing.T) {
|
|
|
|
+ val := Just(test.elements...).Count()
|
|
|
|
+ assert.Equal(t, len(test.elements), val)
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
func TestDone(t *testing.T) {
|
|
func TestDone(t *testing.T) {
|
|
var count int32
|
|
var count int32
|
|
Just(1, 2, 3).Walk(func(item interface{}, pipe chan<- interface{}) {
|
|
Just(1, 2, 3).Walk(func(item interface{}, pipe chan<- interface{}) {
|