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) }