public void TestGetStandardCost() { // case 1: only one task ResetRuntime(); runtime.taskList.Clear(); runtime.runTime = 0.0; Assert.AreEqual(0.0, runtime.runTime); Assert.AreEqual(1, runtime.startTime.Year); Assert.AreEqual(1, runtime.stopTime.Year); Task task = new Task(); task.taskTime = new DateTime(2013, 9, 3, 1, 45, 0); runtime.taskList.Add(task); runtime.GetStandardCost(); Assert.AreEqual(runtime.runTime, runtime.stdTime); Assert.AreEqual(new DateTime(2013, 9, 3, 1, 45, 0), runtime.startTime); Assert.AreEqual(1, runtime.stopTime.Year); // case 2: duplicated tasks within std run time ResetRuntime(); runtime.taskList.Clear(); runtime.runTime = 0.0; Assert.AreEqual(0.0, runtime.runTime); Assert.AreEqual(1, runtime.startTime.Year); Assert.AreEqual(1, runtime.stopTime.Year); task = new Task(); task.taskTime = new DateTime(2013, 9, 3, 1, 45, 0); runtime.taskList.Add(task); task = new Task(); task.taskTime = new DateTime(2013, 9, 3, 1, 45, 1); runtime.taskList.Add(task); task = new Task(); task.taskTime = new DateTime(2013, 9, 3, 1, 45, 2); runtime.taskList.Add(task); runtime.GetStandardCost(); Assert.AreEqual(runtime.runTime, runtime.stdTime); Assert.AreEqual(new DateTime(2013, 9, 3, 1, 45, 0), runtime.startTime); Assert.AreEqual(1, runtime.stopTime.Year); // case 3: duplicated tasks ResetRuntime(); runtime.taskList.Clear(); runtime.runTime = 0.0; Assert.AreEqual(0.0, runtime.runTime); Assert.AreEqual(1, runtime.startTime.Year); Assert.AreEqual(1, runtime.stopTime.Year); task = new Task(); task.taskTime = new DateTime(2013, 9, 3, 1, 45, 0); runtime.taskList.Add(task); task = new Task(); task.taskTime = new DateTime(2013, 9, 3, 1, 45, 1); runtime.taskList.Add(task); task = new Task(); task.taskTime = new DateTime(2013, 9, 3, 2, 45, 0); runtime.taskList.Add(task); runtime.GetStandardCost(); Assert.AreEqual(runtime.runTime, runtime.stdTime * 2.0); Assert.AreEqual(new DateTime(2013, 9, 3, 1, 45, 0), runtime.startTime); Assert.AreEqual(1, runtime.stopTime.Year); }