37 lines
489 B
Go
37 lines
489 B
Go
package mergechannel
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestMerge(t *testing.T) {
|
|
a := make(chan int, 5)
|
|
b := make(chan int, 5)
|
|
|
|
for i := 0; i < 5; i++ {
|
|
a <- i
|
|
b <- i
|
|
}
|
|
|
|
merged, err := merge(a, b)
|
|
assert.Nil(t, err)
|
|
|
|
close(a)
|
|
close(b)
|
|
|
|
sum := 0
|
|
for v := range merged {
|
|
sum += v
|
|
}
|
|
assert.Equal(t, sum, 20)
|
|
}
|
|
|
|
func TestInsufficient(t *testing.T) {
|
|
a := make(chan int)
|
|
|
|
_, err := merge(a)
|
|
assert.Equal(t, err, ErrInsufficientChannels)
|
|
}
|