public void CircumstancesSetterRaisesOnPropertyChangedOnlyWhenChangeWasMade() { var sut = new InsulinViewModel(insulin, factories, allCircumstances: allCircumstances); sut.ChangesProperty("Circumstances", () => { var newValue = sut.Circumstances.ToList(); newValue.Add(allCircumstances.Last()); sut.Circumstances = newValue; }); sut.NotChangesProperty("Circumstances", () => { sut.Circumstances = sut.Circumstances.ToList(); }); }
public void TrivialProperties() { var sut = new InsulinViewModel(insulin, factories, allCircumstances: allCircumstances); Assert.AreEqual(insulin.Id, sut.Id); var universal = DateTime.UtcNow; sut.ChangesProperty("DateTime", () => { sut.DateTime = universal; }); Assert.AreEqual(universal.ToLocalTime(), sut.DateTime); Assert.AreEqual(universal.ToLocalTime().Date, sut.DateOnly); Assert.AreEqual(universal.ToLocalTime().ToShortDateInAlternativeFormat() + " " + universal.ToLocalTime().ToShortTimeString(), sut.DateAndTime); Assert.AreEqual(universal.ToLocalTime().ToShortTimeString(), sut.Time); Assert.AreEqual(universal.ToLocalTime().ToString("dddd") + ", " + sut.DateAndTime, sut.LongDateAndTime); Assert.AreEqual(insulin.Note, sut.Note); var note = new Fixture().Create<string>(); sut.Note = note; Assert.AreEqual(note, insulin.Note); Assert.AreEqual(insulin.NormalBolus.ToStringOrEmpty(), sut.NormalBolus); sut.NormalBolus = "1.5"; Assert.AreEqual(1.5f, insulin.NormalBolus); Assert.AreEqual(insulin.SquareWaveBolus.ToStringOrEmpty(), sut.SquareWaveBolus); sut.SquareWaveBolus = "2.5"; Assert.AreEqual(2.5f, insulin.SquareWaveBolus); Assert.AreEqual(insulin.SquareWaveBolusHours.ToStringOrEmpty(), sut.SquareWaveBolusHours); sut.SquareWaveBolusHours = "3.5"; Assert.AreEqual(3.5f, insulin.SquareWaveBolusHours); }