public void TimeOfDayModelClass_WriteXmlMethod_ThrowsArgumentNullException_IfParameterIsNull() { TimeOfDayModel testObject = new TimeOfDayModel(); testObject.WriteXml(null); Assert.Fail(); }
public void TimeOfDayModelExtensionsClass_ToTimeOfDayMethod_ThrowsNullReferenceException_IfParameterIsNull() { TimeOfDayModel testParam = null; _ = testParam.ToTimeOfDay(); Assert.Fail(); }
/// <summary> /// Convert a <see cref="TimeOfDayModel"/> instance to a <see cref="TimeOfDay"/> instance. /// </summary> /// <param name="model">The object to convert.</param> /// <returns>The <see cref="TimeOfDay"/> object.</returns> public static TimeOfDay ToTimeOfDay(this TimeOfDayModel model) { if (model == null) { return(null); } return(new TimeOfDay(model.Hours24, model.Minutes, model.Seconds)); }
public void TimeOfDayExtensions_ToYamlTimeOfDayModelMethod_ReturnsNull_IfParameterIsNull() { TimeOfDay testParam = null; TimeOfDayModel testOutput = testParam.ToYamlTimeOfDayModel(); Assert.IsNull(testOutput); }
public void TimeofDayModelExtensionsClass_ToTimeOfDayMethod_ThrowsFormatException_IfParameterConsistsOfNonNumericString() { TimeOfDaySpecification timeOfDaySpecification = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.NonNumericValue); TimeOfDayModel testParam = timeOfDaySpecification.Model; _ = testParam.ToTimeOfDay(); Assert.Fail(); }
public void TimeOfDayModelExtensionsClass_ToTimeOfDayMethod_ThrowsFormatException_IfParameterHasTimePropertyThatIsSolelyWhitespace() { TimeOfDaySpecification testParamSpec = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.WhitespaceValue); TimeOfDayModel testParam = testParamSpec.Model; _ = testParam.ToTimeOfDay(); Assert.Fail(); }
public void TimeOfDayModelExtensionsClass_ToTimeOfDayMethod_ReturnsObjectWithCorrectValue_IfParameterConsistsOfNumberInRangeWithNoColons() { TimeOfDaySpecification testParamSpec = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.HoursOnly); TimeOfDayModel testParam = testParamSpec.Model; TimeOfDay testOutput = testParam.ToTimeOfDay(); Assert.AreEqual(testParamSpec.Hours.Value * 3600, testOutput.AbsoluteSeconds); Assert.AreEqual(testParamSpec.Hours.Value, testOutput.Hours24); Assert.AreEqual(0, testOutput.Minutes); Assert.AreEqual(0, testOutput.Seconds); }
public void TimeOfDayExtensions_ToYamlTimeOfDayModelMethod_ReturnsObjectWithCorrectTimeProperty_IfParameterIsNotNull() { TimeOfDay testParam = GetTestObject(); TimeOfDayModel testOutput = testParam.ToYamlTimeOfDayModel(); string expectedValue = testParam.Hours24.ToString("d2", CultureInfo.InvariantCulture) + ":" + testParam.Minutes.ToString("d2", CultureInfo.InvariantCulture) + ":" + testParam.Seconds.ToString("d2", CultureInfo.InvariantCulture); Assert.AreEqual(expectedValue, testOutput.Time); }
public void TimeOfDayModelExtensionsClass_ToTimeOfDayMethod_ReturnsObjectWithCorrectValue_IfParameterConsistsOfTwoNumbersInRangeSeparatedByColon() { TimeOfDaySpecification testParamSpec = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.HoursAndMinutes); int expectedSeconds = testParamSpec.Hours.Value * 3600 + testParamSpec.Minutes.Value * 60; TimeOfDayModel testParam = testParamSpec.Model; TimeOfDay testOutput = testParam.ToTimeOfDay(); Assert.AreEqual(expectedSeconds, testOutput.AbsoluteSeconds); Assert.AreEqual(testParamSpec.Hours.Value % 24, testOutput.Hours24); Assert.AreEqual(testParamSpec.Minutes.Value % 60, testOutput.Minutes); Assert.AreEqual(0, testOutput.Seconds); }
public void TimeOfDayModelClass_WriteXmlMethod_ThrowsArgumentNullExceptionWithCorrectParamNameProperty_IfParameterIsNull() { TimeOfDayModel testObject = new TimeOfDayModel(); try { testObject.WriteXml(null); Assert.Fail(); } catch (ArgumentNullException ex) { Assert.AreEqual("writer", ex.ParamName); } }
/// <summary> /// Convert a <see cref="TimeOfDayModel" /> instance to a <see cref="TimeOfDay" /> instance. /// </summary> /// <param name="model">The instance to be converted.</param> /// <returns>A <see cref="TimeOfDay" /> object containing equivalent properties.</returns> /// <exception cref="NullReferenceException">Thrown if the <c>this</c> parameter is <c>null</c>.</exception> public static TimeOfDay ToTimeOfDay(this TimeOfDayModel model) { if (model is null) { throw new NullReferenceException(); } if (string.IsNullOrWhiteSpace(model.Time)) { throw new FormatException(Resources.Error_EmptyTime); } string[] parts = model.Time.Split(':'); int hours = 0; int minutes = 0; int seconds = 0; try { if (parts.Length > 0) { hours = int.Parse(parts[0], CultureInfo.InvariantCulture); } if (parts.Length > 1) { minutes = int.Parse(parts[1], CultureInfo.InvariantCulture); } if (parts.Length > 2) { seconds = int.Parse(parts[2], CultureInfo.InvariantCulture); } } catch (FormatException ex) { throw new FormatException(Resources.Error_TimeUnparseable, ex); } catch (OverflowException ex) { throw new FormatException(Resources.Error_TimeUnparseable, ex); } return(new TimeOfDay(hours, minutes, seconds)); }