protected void CreateHandler()
        {
            MockContainer.FillMissingParameterTypesWithMocks <THandler>();
            var handler             = MockContainer.GetInstance <THandler>();
            var messageContextAware = handler as IMessageContextAware;

            if (messageContextAware != null)
            {
                messageContextAware.Context = CurrentMessageContext;
            }

            Handler = handler;
        }
        public virtual void Setup()
        {
            CurrentMessageContext = CreateMessageContext();
            _contextScope         = MessageContext.SetCurrent(CurrentMessageContext);


            MockContainer = new MockContainer();
            Bus           = new TestBus();
            MockContainer.Configure(x =>
            {
                x.For <IBus>().Use(Bus);
                x.For <MessageContext>().Use(CurrentMessageContext);
            });


            BeforeBuildingHandler();
            CreateHandler();
        }