public void PropertyChangeBase_RaisesEventsAsExpected() { // arrange var lifter = new MockPropertyChangeBase { NickName = "Andre", Dumbbells = 2, Height = 6.2 }; bool dumbbellsraised = false; bool nameChanged = false; bool nameChanging = false; bool heightChanged = false; bool heightChanging = false; bool dumbellsWasObserved = false; bool dumbellsUpdatedWithTrigger = false; lifter.TriggerWhenPropertyChanged( (bro) => bro.Dumbbells, () => { dumbellsUpdatedWithTrigger = true; }); lifter.PropertyChanged += (s, e) => { if (e.PropertyName == "NickName") nameChanged = true; if (e.PropertyName == "Dumbbells") dumbbellsraised = true; if (e.PropertyName == "Height") heightChanged = true; }; lifter.PropertyChanging += (s, e) => { if (e.PropertyName == "NickName") nameChanging = true; if (e.PropertyName == "Height") heightChanging = true; }; // act lifter.NickName = "Alex"; lifter.Height = 6.2; dumbellsWasObserved = lifter.RaisePropertyChangedEvent((raiseThe) => raiseThe.Dumbbells); // assert Assert.IsTrue(nameChanged); Assert.IsTrue(nameChanging); Assert.AreEqual("Alex", lifter.NickName); Assert.IsFalse(heightChanged); Assert.IsFalse(heightChanging); Assert.AreEqual(6.2, lifter.Height); Assert.IsTrue(dumbbellsraised); Assert.AreEqual(2, lifter.Dumbbells); Assert.IsTrue(dumbellsWasObserved); Assert.IsTrue(dumbellsUpdatedWithTrigger); }
public void GetPropertyString_ReturnsSameName() { var mock = new MockPropertyChangeBase(); var result = mock.GetPropertyString((vm) => vm.Dumbbells); Assert.AreEqual(nameof(mock.Dumbbells), result); }