示例#1
0
func TestWorker(t *testing.T) {
	tes := new(monitor.MonitoredWorker)
	itw := &TestWork{From: 1, To: 8, sleep: 300}
	tes.Itw = itw
	tes.Start()
	log.Println(tes.Start())
	time.Sleep(time.Second * 1)
	if tes.GetState() != 1 {
		t.Error("Expected Running(1)")
		return
	}
	tes.Stop()
	if tes.GetState() != 0 {
		t.Error("Expected Stoped(0)")
		return
	}
	tes.Start()
	time.Sleep(time.Second * 9)
	if tes.GetState() != 3 {
		t.Error("Expected Comlete(3)")
		return
	}

	tes.Start()
	time.Sleep(time.Second * 1)
	if tes.GetState() != 3 {
		t.Error("Expected Failed(3)")
		return
	}
}