public async Task HandleAsyncFailureCommand()
        {
            TestCommandResult result = await _commandHandler.Handle(new AsyncFailureTestCommand());

            Assert.AreEqual(HttpStatusCode.InternalServerError, result.Code);
            Assert.AreEqual(0, result.Notifications.Count);
        }
        public async Task HandleAsyncSuccessCommand()
        {
            TestCommandResult result = await _commandHandler.Handle(new AsyncSuccessTestCommand());

            Assert.AreEqual(HttpStatusCode.OK, result.Code);
            Assert.AreEqual(0, result.Notifications.Count);
        }
        public void HandleFailureCommand()
        {
            TestCommandResult result = _commandHandler.Handle(new FailureTestCommand());

            Assert.AreEqual(HttpStatusCode.InternalServerError, result.Code);
            Assert.AreEqual(0, result.Notifications.Count);
        }
        public void HandleSuccessCommand()
        {
            TestCommandResult result = _commandHandler.Handle(new SuccessTestCommand());

            Assert.AreEqual(HttpStatusCode.OK, result.Code);
            Assert.AreEqual(0, result.Notifications.Count);
        }
        public async Task HandleCommand()
        {
            TestController controller = _getService <TestController>();

            TestCommandResult result = await controller.HandleCommand(new TestCommand());

            Assert.IsNotNull(result);
            Assert.AreEqual(HttpStatusCode.OK, result.Code);
        }
        public async Task HandleValidRegisteredAsyncCommandAndResult()
        {
            IHandler handler = _getService <IHandler>();

            TestCommandResult result = await handler.Handle <AsyncSuccessTestCommand, TestCommandResult>(new AsyncSuccessTestCommand());

            Assert.IsNotNull(result);
            Assert.AreEqual(HttpStatusCode.OK, result.Code);
            Assert.AreEqual(0, result.Notifications.Count);
        }
        public async Task HandleInvalidCommand()
        {
            IHandler handler = _getService <IHandler>();

            TestCommandResult result = await handler.Handle <InvalidTestCommand, TestCommandResult>(new InvalidTestCommand());

            Assert.IsNotNull(result);
            Assert.AreEqual(HttpStatusCode.BadRequest, result.Code);
            Assert.AreEqual(1, result.Notifications.Count);
        }