28 lines
590 B
Go
28 lines
590 B
Go
package timewheel
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func Test_timeWheel(t *testing.T) {
|
|
timeWheel := New(10, 100*time.Millisecond)
|
|
defer timeWheel.Stop()
|
|
|
|
<-time.After(10 * time.Millisecond)
|
|
|
|
t.Errorf("start time, %v", time.Now())
|
|
|
|
timeWheel.AddTask("test1", TimeTypeLoop, func() {
|
|
t.Errorf("test1, %v", time.Now())
|
|
}, time.Millisecond*300)
|
|
timeWheel.AddTask("test2", TimeTypeLoop, func() {
|
|
t.Errorf("test2, %v", time.Now())
|
|
}, time.Second)
|
|
timeWheel.AddTask("test2", TimerTypeOnce, func() {
|
|
t.Errorf("test2, %v", time.Now())
|
|
}, time.Second)
|
|
|
|
<-time.After(8 * time.Second)
|
|
}
|