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 TestRaiseValidInvalidPropertyName() { var vm = new TestClassWithObservableObject(); var receivedPropertyChanged = false; var invalidPropertyNameReceived = false; vm.PropertyChanged += (s, e) => { if (e.PropertyName == TestClassWithObservableObject.LastChangedPropertyName) { receivedPropertyChanged = true; } else { invalidPropertyNameReceived = true; } }; vm.RaisePropertyChangedPublic(TestClassWithObservableObject.LastChangedPropertyName); Assert.IsTrue(receivedPropertyChanged); Assert.IsFalse(invalidPropertyNameReceived); vm.RaisePropertyChangedPublic(TestClassWithObservableObject.LastChangedPropertyName + "1"); Assert.IsTrue(invalidPropertyNameReceived); }
public void TestSetWithString() { var vm = new TestClassWithObservableObject(); const int expectedValue = 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 = expectedValue; Assert.AreEqual(expectedValue, receivedValueChanged); Assert.AreEqual(-1, receivedValueChanging); }
public void TestSet() { var vm = new TestClassWithObservableObject(); const int expectedValue = 1234; var receivedValue = 0; vm.PropertyChanged += (s, e) => { if (e.PropertyName == TestClassWithObservableObject.PropertyWithSetPropertyName) { receivedValue = expectedValue; } }; vm.PropertyWithSet = expectedValue; Assert.AreEqual(expectedValue, receivedValue); }
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 TestPropertyChangeNoMagicString() { var receivedDateTimeLocal = DateTime.MinValue; var vm = new TestClassWithObservableObject(); vm.PropertyChanged += (s, e) => { if (e.PropertyName == "LastChangedNoMagicString") { receivedDateTimeLocal = vm.LastChangedNoMagicString; } }; var now = DateTime.Now; vm.LastChangedNoMagicString = now; Assert.AreEqual(now, vm.LastChangedNoMagicString); Assert.AreEqual(now, receivedDateTimeLocal); }
public void TestPropertyChangeNoBroadcast() { 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 TestPropertyChangedSendInline() { var receivedDateTimeLocal = DateTime.MinValue; var vm = new TestClassWithObservableObject(); vm.PropertyChanged += (s, e) => { if (e.PropertyName == "LastChangedInline") { receivedDateTimeLocal = vm.LastChangedInline; } }; var now = DateTime.Now; vm.LastChangedInline = now; Assert.AreEqual(now, vm.LastChangedInline); Assert.AreEqual(now, receivedDateTimeLocal); }
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); }
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 TestPropertyChangedSendInlineOutOfSetter() { var vm = new TestClassWithObservableObject(); vm.RaisePropertyChangedInlineOutOfPropertySetter(); }