123456789101112131415161718192021222324252627282930313233 |
- package syncx
- import (
- "sync"
- "testing"
- )
- func TestDoneChanClose(t *testing.T) {
- doneChan := NewDoneChan()
- for i := 0; i < 5; i++ {
- doneChan.Close()
- }
- }
- func TestDoneChanDone(t *testing.T) {
- var waitGroup sync.WaitGroup
- doneChan := NewDoneChan()
- waitGroup.Add(1)
- go func() {
- select {
- case <-doneChan.Done():
- waitGroup.Done()
- }
- }()
- for i := 0; i < 5; i++ {
- doneChan.Close()
- }
- waitGroup.Wait()
- }
|