예제 #1
0
        public void PropertyChangedTestBroadcastNonStaticMessenger()
        {
            _receivedDateTime = DateTime.MinValue;

            var messenger = new Messenger();

            var recipient1 = new OldTestRecipient();
            var recipient2 = new OldTestRecipient();

            messenger.Register(recipient1, typeof(PropertyChangedMessage <DateTime>));
            Messenger.Default.Register(recipient2, typeof(PropertyChangedMessage <DateTime>));

            var vm = new OldTestViewModel(messenger);

            vm.PropertyChanged += VMPropertyChanged;

            Assert.AreEqual(_receivedDateTime, DateTime.MinValue);

            var now = DateTime.Now;

            vm.LastChanged2 = now;
            Assert.AreEqual(now, vm.LastChanged2);
            Assert.AreEqual(_receivedDateTime, vm.LastChanged2);
            Assert.AreEqual(now, recipient1.DateTimeContent);
            Assert.AreEqual(DateTime.MinValue, recipient2.DateTimeContent);
        }
예제 #2
0
        public void DisposeTest()
        {
            Messenger.Reset();

            var vm = new OldTestViewModel();

            Messenger.Default.Register(vm, typeof(OldTestMessage));

            const string Content1 = "Hello world";
            const string Content2 = "Another message";

            var message1 = new OldTestMessage(this, Content1);

            Messenger.Default.Broadcast(message1);

            Assert.AreEqual(Content1, vm.ReceivedContent);

            vm.Dispose();

            var message2 = new OldTestMessage(this, Content2);

            Messenger.Default.Broadcast(message2);

            Assert.AreEqual(Content1, vm.ReceivedContent);
        }
예제 #3
0
        public void PropertyChangedTestBroadcast()
        {
            Messenger.Reset();
            _receivedDateTime = DateTime.MinValue;

            var recipient = new OldTestRecipient();

            Messenger.Default.Register(recipient, typeof(PropertyChangedMessage <DateTime>));

            var vm = new OldTestViewModel();

            vm.PropertyChanged += VMPropertyChanged;

            Assert.AreEqual(_receivedDateTime, DateTime.MinValue);

            var now = DateTime.Now;

            vm.LastChanged2 = now;
            Assert.AreEqual(now, vm.LastChanged2);
            Assert.AreEqual(_receivedDateTime, vm.LastChanged2);
            Assert.AreEqual(now, recipient.DateTimeContent);
        }