public void TestDeleteLastTaskIfStart() { // case 1: only start runtime.taskList.Clear(); Task task = new Task(); task.isStart = true; task.isStop = false; runtime.taskList.Add(task); runtime.DeleteLastTaskIfStart(); Assert.AreEqual(0, runtime.taskList.Count); // case 2: stop start start runtime.taskList.Clear(); task = new Task(); task.isStart = false; task.isStop = true; runtime.taskList.Add(task); task = new Task(); task.isStart = true; task.isStop = false; runtime.taskList.Add(task); task = new Task(); task.isStart = true; task.isStop = false; runtime.taskList.Add(task); runtime.DeleteLastTaskIfStart(); Assert.AreEqual(1, runtime.taskList.Count); Assert.IsTrue(runtime.taskList[0].isStop); // case 3: start start stop runtime.taskList.Clear(); task = new Task(); task.isStart = true; task.isStop = false; runtime.taskList.Add(task); task = new Task(); task.isStart = true; task.isStop = false; runtime.taskList.Add(task); task = new Task(); task.isStart = false; task.isStop = true; runtime.taskList.Add(task); runtime.DeleteLastTaskIfStart(); Assert.AreEqual(3, runtime.taskList.Count); Assert.IsTrue(runtime.taskList[0].isStart); Assert.IsTrue(runtime.taskList[1].isStart); Assert.IsTrue(runtime.taskList[2].isStop); // case 4: start start stop start runtime.taskList.Clear(); task = new Task(); task.isStart = true; task.isStop = false; runtime.taskList.Add(task); task = new Task(); task.isStart = true; task.isStop = false; runtime.taskList.Add(task); task = new Task(); task.isStart = false; task.isStop = true; runtime.taskList.Add(task); task = new Task(); task.isStart = true; task.isStop = false; runtime.taskList.Add(task); runtime.DeleteLastTaskIfStart(); Assert.AreEqual(3, runtime.taskList.Count); Assert.IsTrue(runtime.taskList[0].isStart); Assert.IsTrue(runtime.taskList[1].isStart); Assert.IsTrue(runtime.taskList[2].isStop); }