public void TestPropertyChangingNoMagicString() { var receivedDateTimeLocal = DateTime.MinValue; var vm = new TestClassWithObservableObject(); vm.PropertyChanged += (s, e) => { if (e.PropertyName == "LastChangedNoMagicString") { receivedDateTimeLocal = vm.LastChangedNoMagicString; } }; var receivedPropertyChanging = false; vm.PropertyChanging += (s, e) => { if (e.PropertyName == "LastChangedNoMagicString") { Assert.AreEqual(DateTime.MinValue, receivedDateTimeLocal); Assert.AreEqual(DateTime.MinValue, vm.LastChangedNoMagicString); receivedPropertyChanging = true; } }; var now = DateTime.Now; vm.LastChangedNoMagicString = now; Assert.AreEqual(now, vm.LastChangedNoMagicString); Assert.AreEqual(now, receivedDateTimeLocal); Assert.IsTrue(receivedPropertyChanging); }
public void TestPropertyChangedNoBroadcast() { var receivedDateTimeLocal = DateTime.MinValue; var vm = new TestClassWithObservableObject(); vm.PropertyChanged += (s, e) => { if (e.PropertyName == TestClassWithObservableObject.LastChangedPropertyName) { receivedDateTimeLocal = vm.LastChanged; } }; var now = DateTime.Now; vm.LastChanged = now; Assert.AreEqual(now, vm.LastChanged); Assert.AreEqual(now, receivedDateTimeLocal); }
public void TestRaisePropertyChangingValidInvalidPropertyName() { var vm = new TestClassWithObservableObject(); var receivedPropertyChanging = false; var invalidPropertyNameReceived = false; vm.PropertyChanging += (s, e) => { if (e.PropertyName == TestClassWithObservableObject.LastChangedPropertyName) { receivedPropertyChanging = true; } else { invalidPropertyNameReceived = true; } }; vm.RaisePropertyChangingPublic(TestClassWithObservableObject.LastChangedPropertyName); Assert.IsTrue(receivedPropertyChanging); Assert.IsFalse(invalidPropertyNameReceived); try { vm.RaisePropertyChangingPublic(TestClassWithObservableObject.LastChangedPropertyName + "1"); #if DEBUG Assert.Fail("ArgumentException was expected"); #else Assert.IsTrue(invalidPropertyNameReceived); #endif } catch (ArgumentException) { } }
public void TestPropertyChangingWithStringWithSet() { var instance = new TestClassWithObservableObject(); const int value1 = 1234; const int value2 = 5678; instance.PropertyWithStringSet = value1; var changingWasRaised = false; var changedWasRaised = false; instance.PropertyChanging += (s, e) => { if (e.PropertyName != TestClassWithObservableObject.PropertyWithStringSetPropertyName) { return; } var sender = (TestClassWithObservableObject)s; Assert.AreSame(instance, sender); Assert.AreEqual(value1, instance.PropertyWithStringSet); changingWasRaised = true; }; instance.PropertyChanged += (s, e) => { if (e.PropertyName != TestClassWithObservableObject.PropertyWithStringSetPropertyName) { return; } var sender = (TestClassWithObservableObject)s; Assert.AreSame(instance, sender); Assert.AreEqual(value2, instance.PropertyWithStringSet); changedWasRaised = true; }; instance.PropertyWithStringSet = value2; Assert.IsTrue(changingWasRaised); Assert.IsTrue(changedWasRaised); }
public void TestSet() { var vm = new TestClassWithObservableObject(); const int expectedValue = 1234; var receivedValueChanged = 0; //var receivedValueChanging = 0; vm.PropertyChanged += (s, e) => { if (e.PropertyName == TestClassWithObservableObject.PropertyWithSetPropertyName) { receivedValueChanged = vm.PropertyWithSet; } }; //vm.PropertyChanging += (s, e) => //{ // if (e.PropertyName == TestClassWithObservableObject.PropertyWithSetPropertyName) // { // receivedValueChanging = vm.PropertyWithSet; // } //}; vm.PropertyWithSet = expectedValue; Assert.AreEqual(expectedValue, receivedValueChanged); //Assert.AreEqual(-1, receivedValueChanging); }
public void TestReturnValueWithSetWithString() { var vm = new TestClassWithObservableObject(); const int firstValue = 1234; var receivedValueChanged = 0; //var receivedValueChanging = 0; vm.PropertyChanged += (s, e) => { if (e.PropertyName == TestClassWithObservableObject.PropertyWithStringSetPropertyName) { receivedValueChanged = vm.PropertyWithStringSet; } }; //vm.PropertyChanging += (s, e) => //{ // if (e.PropertyName == TestClassWithObservableObject.PropertyWithStringSetPropertyName) // { // receivedValueChanging = vm.PropertyWithStringSet; // } //}; vm.PropertyWithStringSet = firstValue; //Assert.AreEqual(-1, receivedValueChanging); Assert.AreEqual(firstValue, receivedValueChanged); Assert.IsTrue(vm.SetRaisedPropertyChangedEvent); vm.PropertyWithStringSet = firstValue; //Assert.AreEqual(-1, receivedValueChanging); Assert.AreEqual(firstValue, receivedValueChanged); Assert.IsFalse(vm.SetRaisedPropertyChangedEvent); vm.PropertyWithStringSet = firstValue + 1; //Assert.AreEqual(firstValue, receivedValueChanging); Assert.AreEqual(firstValue + 1, receivedValueChanged); Assert.IsTrue(vm.SetRaisedPropertyChangedEvent); }