public void Dispose_Unsubscribes_All_Registered_Subscribers()
        {
            var messageChannel = new MessageChannel();

            var subscriber1 = messageChannel.Subscribe <string>();
            var subscriber2 = messageChannel.Subscribe <int>();
            var subscriber3 = messageChannel.Subscribe <object>();
            var subscriber4 = messageChannel.Subscribe <object>();

            messageChannel.Dispose();

            Assert.False(messageChannel.IsSubscribed(subscriber1));
            Assert.False(messageChannel.IsSubscribed(subscriber2));
            Assert.False(messageChannel.IsSubscribed(subscriber3));
            Assert.False(messageChannel.IsSubscribed(subscriber4));
        }
Beispiel #2
0
        /// <summary>
        /// </summary>
        /// <param name="disposing"></param>
        /// {lease both managed and unmanaged resources;
        /// <c>false</c>
        /// to}
        protected override void Dispose(bool disposing)
        {
            if (_disposed)
            {
                return;
            }

            if (disposing)
            {
                if (MessageChannel != null)
                {
                    MessageChannel.MessageReceived -= Channel_MessageReceived;
                    MessageChannel.Dispose( );
                    MessageChannel = null;
                }
            }

            _disposed = true;

            base.Dispose(disposing);
        }