/// <summary> /// Change a <see cref="GenericTimeModel" /> object so that its displayed text represents the properties of this object. /// </summary> /// <param name="model">The object to be updated.</param> /// <param name="formats">The format strings to use for displaying times, or null if not available.</param> public void UpdateModel(GenericTimeModel model, TimeDisplayFormattingStrings formats) { if (model == null) { return; } // Use the Text property if this has been set. if (!string.IsNullOrWhiteSpace(Text)) { model.ActualTime = null; model.DisplayedText = Text; } // If the Text property has not been set, use the time. Format the time using the supplied parameter if available. else if (AtTime != null) { model.ActualTime = AtTime.Copy(); if (formats == null) { model.DisplayedText = AtTime.ToString(); // This will be updated later with the correct formatting string. } else { model.DisplayedText = AtTime.ToString(formats.TimeWithoutFootnotes, CultureInfo.CurrentCulture); } } else { model.ActualTime = null; model.DisplayedText = ""; } }
public void GenericTimeModelComparerClassCompareMethodReturnsZeroWhenBothParametersAreNull() { GenericTimeModelComparer testObject = GenericTimeModelComparer.Default; GenericTimeModel testParam0 = null; GenericTimeModel testParam1 = null; int testOutput = testObject.Compare(testParam0, testParam1); Assert.AreEqual(0, testOutput); }
private void SetToWorkCellValue(GenericTimeModel toWorkModel) { if (toWorkModel == null) { return; } if (toWorkModel.ActualTime != null) { toWorkModel.DisplayedText = toWorkModel.ActualTime.ToString(Options.FormattingStrings.TimeWithoutFootnotes, CultureInfo.CurrentCulture); } }
public void GenericTimeModelComparerClassCompareMethodReturnsMinusOneWhenFirstParameterIsNullAndSecondParameterIsValidObject() { GenericTimeModelComparer testObject = GenericTimeModelComparer.Default; GenericTimeModel testParam0 = null; GenericTimeModel testParam1 = new GenericTimeModel { ActualTime = _rnd.NextTimeOfDay() }; int testOutput = testObject.Compare(testParam0, testParam1); Assert.AreEqual(-1, testOutput); }
public void GenericTimeModelComparerClassCompareMethodReturnsZeroWhenFirstParameterIsObjectWithActualTimePropertyEqualToNullAndSecondParameterIsNull() { GenericTimeModelComparer testObject = GenericTimeModelComparer.Default; GenericTimeModel testParam0 = new GenericTimeModel { ActualTime = null }; GenericTimeModel testParam1 = null; int testOutput = testObject.Compare(testParam0, testParam1); Assert.AreEqual(0, testOutput); }
public void ToWorkClassUpdateModelMethodSetsDisplayedTextPropertyOfTargetToEmptyStringIfAtTimePropertyIsNullAndTextPropertyIsNull() { ToWork testObject = new ToWork { AtTime = null, Text = null }; GenericTimeModel testTarget = new GenericTimeModel { ActualTime = _rnd.NextTimeOfDay(), DisplayedText = _rnd.NextString(_rnd.Next(64)) }; testObject.UpdateModel(testTarget, null); Assert.AreEqual("", testTarget.DisplayedText); }
public void ToWorkClassUpdateModelMethodSetsDisplayedTextPropertyOfTargetCorrectlyIfTextPropertyIsNullAndSecondParameterIsNull() { ToWork testObject = new ToWork { AtTime = _rnd.NextTimeOfDay(), Text = null }; GenericTimeModel testTarget = new GenericTimeModel { ActualTime = _rnd.NextTimeOfDay(), DisplayedText = _rnd.NextString(_rnd.Next(64)) }; testObject.UpdateModel(testTarget, null); Assert.AreEqual(testObject.AtTime.ToString(), testTarget.DisplayedText); }
public void ToWorkClassUpdateModelMethodSetsActualTimePropertyOfTargetIfTextPropertyIsEmptyString() { ToWork testObject = new ToWork { AtTime = _rnd.NextTimeOfDay(), Text = "" }; GenericTimeModel testTarget = new GenericTimeModel { ActualTime = _rnd.NextTimeOfDay(), DisplayedText = _rnd.NextString(_rnd.Next(64)) }; testObject.UpdateModel(testTarget, null); Assert.AreEqual(testObject.AtTime, testTarget.ActualTime); }
public void GenericTimeModelComparerClassCompareMethodReturnsOneWhenFirstParameterActualTimePropertyIsAfterSecondParameterActualTimeProperty() { GenericTimeModelComparer testObject = GenericTimeModelComparer.Default; GenericTimeModel testParam0 = new GenericTimeModel { ActualTime = _rnd.NextTimeOfDayAfter(2) }; GenericTimeModel testParam1 = new GenericTimeModel { ActualTime = _rnd.NextTimeOfDayBefore(testParam0.ActualTime) }; int testOutput = testObject.Compare(testParam0, testParam1); Assert.AreEqual(1, testOutput); }
public void ToWorkClassUpdateModelMethodSetsDisplayedTextPropertyOfTargetCorrectlyIfTextPropertyIsNullAndSecondParameterIsNotNull() { ToWork testObject = new ToWork { AtTime = _rnd.NextTimeOfDay(), Text = null }; GenericTimeModel testTarget = new GenericTimeModel { ActualTime = _rnd.NextTimeOfDay(), DisplayedText = _rnd.NextString(_rnd.Next(64)) }; testObject.UpdateModel(testTarget, new TimeDisplayFormattingStrings { TimeWithoutFootnotes = "mmHH" }); Assert.AreEqual(testObject.AtTime.ToString("mmHH", CultureInfo.CurrentCulture), testTarget.DisplayedText); }