Exemple #1
0
        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 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);
        }
Exemple #4
0
        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);
        }
Exemple #6
0
        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);
        }
Exemple #9
0
        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 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);
        }
Exemple #11
0
        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);
        }
Exemple #12
0
        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);
        }
Exemple #13
0
        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)
            {
            }
        }
Exemple #14
0
 public void TestPropertyChangedSendInlineOutOfSetter()
 {
     var vm = new TestClassWithObservableObject();
     vm.RaisePropertyChangedInlineOutOfPropertySetter();
 }
Exemple #15
0
        public void TestPropertyChangedSendInlineOutOfSetter()
        {
            var vm = new TestClassWithObservableObject();

            vm.RaisePropertyChangedInlineOutOfPropertySetter();
        }