siddontang.golib/timer/wheel_test.go

43 lines
595 B
Go
Raw Normal View History

2014-04-15 16:36:20 +08:00
package timer
import (
"testing"
"time"
)
2014-04-16 10:26:37 +08:00
var testWheel = NewWheel(1 * time.Millisecond)
2014-04-15 16:36:20 +08:00
func TestTimer(t *testing.T) {
t1 := testWheel.NewTimer(500 * time.Millisecond)
before := time.Now()
<-t1.C
after := time.Now()
println(after.Sub(before).String())
}
func TestTicker(t *testing.T) {
wait := make(chan struct{}, 100)
i := 0
f := func() {
println(time.Now().Unix())
i++
if i >= 10 {
wait <- struct{}{}
}
}
before := time.Now()
t1 := testWheel.TickFunc(1000*time.Millisecond, f)
<-wait
t1.Stop()
after := time.Now()
println(after.Sub(before).String())
}