package scheduler import ( "log" "testing" "time" ) func TestScheduler(t *testing.T) { s := Scheduler{} s.Start() s.NewSchedule("1111", 3, callback) time.Sleep(time.Second * 10) s.RemoveSchedule("1111") time.Sleep(time.Second * 3) s.Stop() } func TestMassiveSchedule(t *testing.T) { s := Scheduler{} s.Start() for i := 0; i < 9999; i++ { s.NewSchedule(string(i), 5, test) } s.NewSchedule("#######################", 5, test) time.Sleep(time.Second * 10) s.NewSchedule("#######################", 1, test) time.Sleep(time.Second * 100) } func callback(id string) { log.Println(id) } func test(id string) { if id == "#######################" { log.Println(id) } } func TestSchedulerStopStart(t *testing.T) { s := Scheduler{} s.Start() s.NewSchedule("1111", 3, callback) time.Sleep(time.Second * 10) s.StopSchedule("1111") time.Sleep(time.Second * 5) s.StartSchedule("1111") time.Sleep(time.Second * 10) s.Stop() }