Exemplo n.º 1
0
        public void TestRaisePropertyChangingNoMagicStringNonPropertyExpression()
        {
            var instance = new TestViewModelNoMagicString();
            instance.PropertyChanging += InstancePropertyChanging;

            try
            {
                instance.RaisePropertyChangingPublic(() => DummyStringMethod());
                Assert.Fail("ArgumentException was expected");
            }
            catch (ArgumentException)
            {
            }
        }
Exemplo n.º 2
0
        public void TestRaisePropertyChangingNoMagicStringNullExpression()
        {
            var instance = new TestViewModelNoMagicString();
            instance.PropertyChanging += InstancePropertyChanging;

            try
            {
                instance.RaisePropertyChangingPublic<string>(null);
                Assert.Fail("ArgumentNullException was expected");
            }
            catch (ArgumentNullException)
            {
            }
        }
Exemplo n.º 3
0
        public void TestRaisePropertyChangedNoMagicStringNonPropertyExpressionWithBroadcast()
        {
            var instance = new TestViewModelNoMagicString();
            instance.PropertyChanged += InstancePropertyChanged;

            try
            {
                instance.RaisePropertyChangedPublic(() => DummyStringMethod(), "12", "34", true);
                Assert.Fail("ArgumentException was expected");
            }
            catch (ArgumentException)
            {
            }
        }
Exemplo n.º 4
0
        public void TestPropertyChangedNoBroadcastNoMagicString()
        {
            Messenger.Reset();
            var receivedDateTimeLocalChanged = DateTime.MinValue;
            var receivedDateTimeLocalChanging = DateTime.MinValue;
            var receivedDateTimeMessenger = DateTime.MinValue;

            Messenger.Default.Register<PropertyChangedMessage<DateTime>>(this, m =>
            {
                if (m.PropertyName == "LastChanged2")
                {
                    receivedDateTimeMessenger = m.NewValue;
                }
            });

            var vm = new TestViewModelNoMagicString();
            vm.PropertyChanged += (s, e) =>
            {
                if (e.PropertyName == "LastChanged2")
                {
                    receivedDateTimeLocalChanged = vm.LastChanged2;
                }
            };

#if !WP71
            vm.PropertyChanging += (s, e) =>
            {
                if (e.PropertyName == "LastChanged2")
                {
                    receivedDateTimeLocalChanging = vm.LastChanged2;
                }
            };
#endif

            var now = DateTime.Now;
            vm.LastChanged2 = now;
            Assert.AreEqual(now, vm.LastChanged2);
            Assert.AreEqual(now, receivedDateTimeLocalChanged);
#if !WP71
            Assert.AreEqual(DateTime.MaxValue, receivedDateTimeLocalChanging);
#endif
            Assert.AreEqual(DateTime.MinValue, receivedDateTimeMessenger);
        }
Exemplo n.º 5
0
        public void TestPropertyChangedSendWithCustomMessengerNoMagicString()
        {
            var receivedDateTime1 = DateTime.MinValue;
            var receivedDateTime2 = DateTime.MinValue;

            var messenger = new Messenger();

            messenger.Register<PropertyChangedMessage<DateTime>>(this, m => receivedDateTime1 = m.NewValue);
            Messenger.Default.Register<PropertyChangedMessage<DateTime>>(this, m => receivedDateTime2 = m.NewValue);

            var vm = new TestViewModelNoMagicString(messenger);

            var now = DateTime.Now;
            vm.LastChanged1 = now;
            Assert.AreEqual(now, vm.LastChanged1);
            Assert.AreEqual(now, receivedDateTime1);
            Assert.AreEqual(DateTime.MinValue, receivedDateTime2);
        }
        public void TestPropertyChangedSendNoMagicString()
        {
            Messenger.Reset();
            var receivedDateTimeMessengerOld = DateTime.MaxValue;
            var receivedDateTimeMessengerNew = DateTime.MinValue;
            var receivedDateTimeLocal = DateTime.MinValue;

            Messenger.Default.Register<PropertyChangedMessage<DateTime>>(this, m =>
            {
                if (m.PropertyName == "LastChanged1")
                {
                    receivedDateTimeMessengerOld = m.OldValue;
                    receivedDateTimeMessengerNew = m.NewValue;
                }
            });

            var vm = new TestViewModelNoMagicString();
            vm.PropertyChanged += (s, e) =>
            {
                if (e.PropertyName == "LastChanged1")
                {
                    receivedDateTimeLocal = vm.LastChanged1;
                }
            };

            var now = DateTime.Now;
            vm.LastChanged1 = now;

            Assert.AreEqual(now, vm.LastChanged1);
            Assert.AreEqual(DateTime.MinValue, receivedDateTimeMessengerOld);
            Assert.AreEqual(now, receivedDateTimeMessengerNew);
            Assert.AreEqual(now, receivedDateTimeLocal);
        }