public void Register_WithSubscribeOnMainThreadButMainThreadMessageProxyIsNull_Throws()
        {
            var messenger = UtilityMethods.GetMessenger();
            var listener = new MainThreadListener();

            messenger.Register(listener);
        }
        public void Publish_RegisteredWithSubscribeOnMainThread_MainThreadMessageProxyDoesDelivery()
        {
            var messenger = UtilityMethods.GetMessenger();
            var listener = new MainThreadListener();
            var mainThread = new Mock<ITinyMessageProxy>();
            Mock<IHandleThreading> threadHandler = new Mock<IHandleThreading>();
            threadHandler
                .Setup(t => t.MainThread())
                .Returns(mainThread.Object);

            messenger.ThreadHandler = threadHandler.Object;

            messenger.Register(listener);

            var message = new TestMessage();
            messenger.Publish(message);

            mainThread.Verify(p => p.Deliver(message, It.IsAny<ITinyMessageSubscription>()), Times.Exactly(1));
        }