github.com/tursom/GoCollections@v0.3.10/concurrent/collections/Park_test.go (about)

     1  package collections
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/tursom/GoCollections/util/time"
     7  )
     8  
     9  func TestPark_Park(t *testing.T) {
    10  	var p Park
    11  	t1 := time.Now()
    12  	go func() {
    13  		<-time.After(time.Second)
    14  
    15  		p.Unpark()
    16  	}()
    17  
    18  	p.Park()
    19  	t2 := time.Now()
    20  
    21  	sub := t2.Sub(t1)
    22  	if sub > time.Duration(float64(time.Second)*1.01) ||
    23  		sub < time.Duration(float64(time.Second)*0.09) {
    24  		t.Fatal(sub)
    25  	}
    26  }
    27  
    28  func TestPark_ParkT(t *testing.T) {
    29  	var p Park
    30  	t1 := time.Now()
    31  	p.ParkT(time.Second)
    32  	t2 := time.Now()
    33  
    34  	sub := t2.Sub(t1)
    35  	if sub > time.Duration(float64(time.Second)*1.01) ||
    36  		sub < time.Duration(float64(time.Second)*0.09) {
    37  		t.Fatal(sub)
    38  	}
    39  }