/// <summary> /// Creates a new <see cref="SlotRunData"/> object from the information contained in the <see cref="SlotRun"/> object. /// </summary> protected override SlotRunData OnGetSlotRunData(SlotRun slotRun) { var slotRunData = new LegacySlotRunData(); foreach (var unitRun in slotRun.UnitRuns) { Internal.CommonRunDataAggregator.IncrementCompletedOrFailedUnitCount(slotRunData, unitRun.Data); int?totalCompletedUnits = ((LegacyUnitRunData)unitRun.Data).TotalCompletedUnits; if (totalCompletedUnits.HasValue) { slotRunData.TotalCompletedUnits = totalCompletedUnits.Value; } } // try to get the status from the most recent unit run var lastUnitRun = slotRun.UnitRuns.LastOrDefault(); if (lastUnitRun != null) { slotRunData.Status = GetSlotRunDataStatusLegacy(lastUnitRun.LogLines); } else { // otherwise, get the status from the parent ClientRun slotRunData.Status = GetSlotRunDataStatusLegacy(slotRun.Parent.LogLines); } return(slotRunData); }
public void LegacySlotRunData_CopyConstructor_OtherIsNull_Test() { // Act var copy = new LegacySlotRunData(null); // Assert Assert.AreEqual(0, copy.CompletedUnits); Assert.AreEqual(0, copy.FailedUnits); Assert.AreEqual(null, copy.TotalCompletedUnits); }
/// <summary> /// Initializes a new instance of the <see cref="LegacySlotRunData"/> class. /// </summary> /// <param name="other">The other instance from which data will be copied.</param> public LegacySlotRunData(LegacySlotRunData other) : base(other) { if (other == null) { return; } TotalCompletedUnits = other.TotalCompletedUnits; Status = other.Status; }
public void LegacySlotRunData_CopyConstructor_Test() { // Arrange var data = new LegacySlotRunData { CompletedUnits = 50, FailedUnits = 2, TotalCompletedUnits = 1025 }; // Act var copy = new LegacySlotRunData(data); // Assert Assert.AreEqual(data.CompletedUnits, copy.CompletedUnits); Assert.AreEqual(data.FailedUnits, copy.FailedUnits); Assert.AreEqual(data.TotalCompletedUnits, copy.TotalCompletedUnits); }