示例#1
0
        public void StressTestRaisePropertyChanged()
        {
            Messenger.Reset();
            var vm = new OldTestViewModel();
            var recipient = new OldTestRecipient2();

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

            const int TestCount = 100000;

            for (var index = 0; index < TestCount; index++)
            {
                vm.LastChanged2 = DateTime.Now + TimeSpan.FromMinutes(index);
            }

            Assert.AreEqual(TestCount, recipient.ReceivedMessagesCount);

            recipient = null;

            GC.Collect();

            for (var index = 0; index < TestCount; index++)
            {
                vm.LastChanged2 = DateTime.Now + TimeSpan.FromMinutes(index);
            }
        }
示例#2
0
        public void StressTestRaisePropertyChanged()
        {
            Messenger.Reset();
            var vm        = new OldTestViewModel();
            var recipient = new OldTestRecipient2();

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

            const int TestCount = 100000;

            for (var index = 0; index < TestCount; index++)
            {
                vm.LastChanged2 = DateTime.Now + TimeSpan.FromMinutes(index);
            }

            Assert.AreEqual(TestCount, recipient.ReceivedMessagesCount);

            recipient = null;

            GC.Collect();

            for (var index = 0; index < TestCount; index++)
            {
                vm.LastChanged2 = DateTime.Now + TimeSpan.FromMinutes(index);
            }
        }
示例#3
0
        public void TestPropertyChangedMessage()
        {
            Messenger.Reset();

            var recipient1 = new OldTestRecipient();

            Messenger.Default.Register(recipient1, typeof(PropertyChangedMessage <DateTime>));
            Assert.AreEqual(DateTime.MinValue, recipient1.DateTimeContent);

            var testVm = new OldTestViewModel();
            var now    = DateTime.Now;

            testVm.LastChanged2 = now;

            Assert.AreEqual(testVm, recipient1.Sender);
            Assert.AreEqual(now, recipient1.DateTimeContent);
        }
示例#4
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);
        }
示例#5
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);
        }
示例#6
0
        public void PropertyChangedTestBroadcastApplicationMessenger()
        {
            _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);
        }
示例#7
0
        public void TestPropertyChangedMessage()
        {
            Messenger.Reset();

            var recipient1 = new OldTestRecipient();
            Messenger.Default.Register(recipient1, typeof(PropertyChangedMessage<DateTime>));
            Assert.AreEqual(DateTime.MinValue, recipient1.DateTimeContent);

            var testVm = new OldTestViewModel();
            var now = DateTime.Now;
            testVm.LastChanged2 = now;

            Assert.AreEqual(testVm, recipient1.Sender);
            Assert.AreEqual(now, recipient1.DateTimeContent);
        }