public void SignalboxHoursModelExtensionsClass_ToSignalboxHoursMethod_ReturnsObjectWithSignalboxPropertySetToNull_IfSecondParameterIsCollectionThatDoesNotContainSignalboxIdPropertyOfFirstParameter() { SignalboxHoursModel testParam0 = GetTestObject(); IDictionary <string, Signalbox> testParam1 = GetSignalboxCollectionWithoutItem(testParam0.SignalboxId); SignalboxHours testOutput = testParam0.ToSignalboxHours(testParam1); Assert.IsNull(testOutput.Signalbox); }
public void SignalboxHoursModelExtensionsClass_ToSignalboxHoursMethod_ThrowsArgumentNullException_IfSecondParameterIsNull() { SignalboxHoursModel testObject = new SignalboxHoursModel(); IDictionary <string, Signalbox> testParam1 = null; _ = testObject.ToSignalboxHours(testParam1); Assert.Fail(); }
public void SignalboxHoursModelExtensionsClass_ToSignalboxHoursMethod_ThrowsNullReferenceException_IfFirstParameterIsNull() { SignalboxHoursModel testParam0 = null; IDictionary <string, Signalbox> testParam1 = new Dictionary <string, Signalbox>(); _ = testParam0.ToSignalboxHours(testParam1); Assert.Fail(); }
public void SignalboxHoursModelExtensionsClass_ToSignalboxHoursMethod_ReturnsObjectWithSignalboxPropertySetToNull_IfSecondParameterIsEmptyCollection() { SignalboxHoursModel testParam0 = GetTestObject(); IDictionary <string, Signalbox> testParam1 = new Dictionary <string, Signalbox>(); SignalboxHours testOutput = testParam0.ToSignalboxHours(testParam1); Assert.IsNull(testOutput.Signalbox); }
public void SignalboxHoursModelExtensionsClass_ToSignalboxHoursMethod_ReturnsObjectWithCorrectSignalboxProperty_IfSecondParameterIsCollectionThatContainsSignalboxIdPropertyOfFirstParameter() { SignalboxHoursModel testParam0 = GetTestObject(); IDictionary <string, Signalbox> testParam1 = GetSignalboxCollectionWithItem(testParam0.SignalboxId); SignalboxHours testOutput = testParam0.ToSignalboxHours(testParam1); Assert.AreSame(testParam1[testParam0.SignalboxId], testOutput.Signalbox); }
public void SignalboxHoursModelExtensionsClass_ToSignalboxHoursMethod_ReturnsObjectWithTokenBalanceWarningPropertyFalse_IfFirstParameterHasTokenBalanceWarningPropertyThatIsTrue() { SignalboxHoursModel testParam0 = GetTestObject(); testParam0.TokenBalanceWarning = true; IDictionary <string, Signalbox> testParam1 = GetSignalboxCollectionWithItem(testParam0.SignalboxId); SignalboxHours testOutput = testParam0.ToSignalboxHours(testParam1); Assert.IsTrue(testOutput.TokenBalanceWarning); }
public void SignalboxHoursModelExtensionsClass_ToSignalboxHoursMethod_ThrowsFormatException_IfFirstParameterHasFinishTimePropertyThatHasTimePropertyThatConsistsOfNonNumericString() { SignalboxHoursModel testParam0 = GetTestObject(); testParam0.FinishTime = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.NonNumericValue).Model; IDictionary <string, Signalbox> testParam1 = GetSignalboxCollectionWithItem(testParam0.SignalboxId); _ = testParam0.ToSignalboxHours(testParam1); Assert.Fail(); }
public void SignalboxHoursModelExtensionsClass_ToSignalboxHoursMethod_ThrowsNullReferenceException_IfParameterHasFinishTimePropertyThatIsNull() { SignalboxHoursModel testParam0 = GetTestObject(); testParam0.FinishTime = null; IDictionary <string, Signalbox> testParam1 = GetSignalboxCollectionWithItem(testParam0.SignalboxId); _ = testParam0.ToSignalboxHours(testParam1); Assert.Fail(); }
public void SignalboxHoursModelExtensionsClass_ToSignalboxHoursMethod_ThrowsFormatException_IfFirstParameterHasStartTimePropertyThatHasTimePropertyThatIsSolelyWhitespace() { SignalboxHoursModel testParam0 = GetTestObject(); testParam0.StartTime = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.WhitespaceValue).Model; IDictionary <string, Signalbox> testParam1 = GetSignalboxCollectionWithItem(testParam0.SignalboxId); _ = testParam0.ToSignalboxHours(testParam1); Assert.Fail(); }
public void SignalboxHoursModelExtensionsClass_ToSignalboxHoursMethod_ReturnsObjectWithEndTimePropertyWithCorrectValue_IfFirstParameterHasFinishTimePropertyThatHasTimePropertyThatConsistsOfMoreThanThreeNumbersInRangeSeparatedByColons() { SignalboxHoursModel testParam0 = GetTestObject(); TimeOfDaySpecification finishTimeSpecification = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.HoursMinutesSecondsAndMore); testParam0.FinishTime = finishTimeSpecification.Model; IDictionary <string, Signalbox> testParam1 = GetSignalboxCollectionWithItem(testParam0.SignalboxId); SignalboxHours testOutput = testParam0.ToSignalboxHours(testParam1); Assert.AreEqual(finishTimeSpecification.Hours.Value, testOutput.EndTime.Hours24); Assert.AreEqual(finishTimeSpecification.Minutes.Value, testOutput.EndTime.Minutes); Assert.AreEqual(finishTimeSpecification.Seconds.Value, testOutput.EndTime.Seconds); }
public void SignalboxHoursModelExtensionsClass_ToSignalboxHoursMethod_ReturnsObjectWithStartTimePropertyWithCorrectValue_IfFirstParameterHasStartTimePropertyThatHasTimePropertyThatConsistsOfNumberInRangeWithNoColons() { SignalboxHoursModel testParam0 = GetTestObject(); TimeOfDaySpecification startTimeSpecification = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.HoursOnly); testParam0.StartTime = startTimeSpecification.Model; IDictionary <string, Signalbox> testParam1 = GetSignalboxCollectionWithItem(testParam0.SignalboxId); SignalboxHours testOutput = testParam0.ToSignalboxHours(testParam1); Assert.AreEqual(startTimeSpecification.Hours.Value, testOutput.StartTime.Hours24); Assert.AreEqual(0, testOutput.StartTime.Minutes); Assert.AreEqual(0, testOutput.StartTime.Seconds); }
public void SignalboxHoursModelExtensionsClass_ToSignalboxHoursMethod_ThrowsArgumentNullExceptionWithCorrectParamNameProperty_IfSecondParameterIsNull() { SignalboxHoursModel testObject = new SignalboxHoursModel(); IDictionary <string, Signalbox> testParam1 = null; try { _ = testObject.ToSignalboxHours(testParam1); Assert.Fail(); } catch (ArgumentNullException ex) { Assert.AreEqual("signalboxes", ex.ParamName); } }
/// <summary> /// Convert a <see cref="SignalboxHoursModel" /> instance into a <see cref="SignalboxHours" /> instance. /// </summary> /// <param name="model">The data to be converted.</param> /// <param name="signalboxes">A dictionary of signalboxes, for mapping signalbox IDs to <see cref="Signalbox" /> objects.</param> /// <returns>A <see cref="SignalboxHours" /> instance whose contents match those of the model parameter.</returns> public static SignalboxHours ToSignalboxHours(this SignalboxHoursModel model, IDictionary <string, Signalbox> signalboxes) { if (model is null) { throw new ArgumentNullException(nameof(model)); } if (signalboxes is null) { throw new ArgumentNullException(nameof(signalboxes)); } return(new SignalboxHours { Signalbox = signalboxes.ContainsKey(model.SignalboxId) ? signalboxes[model.SignalboxId] : null, EndTime = model.FinishTime.ToTimeOfDay(), StartTime = model.StartTime.ToTimeOfDay(), TokenBalanceWarning = model.TokenBalanceWarning, }); }