public void ExecuteAsync_Error()
        {
            var handler     = new ErrorMessageHanlder();
            var initializer = new BaseClientService.Initializer
            {
                HttpClientFactory = new MockHttpClientFactory(handler)
            };

            using (var service = new MockClientService(initializer))
            {
                var            request    = new TestClientServiceRequest(service, "GET", null);
                AutoResetEvent resetEvent = new AutoResetEvent(false);
                var            task       = request.ExecuteAsync();
                var            error      = string.Empty;
                task.ContinueWith(t =>
                {
                    // should not ENTER this code, the task should fail
                    resetEvent.Set();
                }, TaskContinuationOptions.OnlyOnRanToCompletion);
                task.ContinueWith(t =>
                {
                    // catch the error
                    error = t.Exception.InnerException.ToString();
                    resetEvent.Set();
                }, TaskContinuationOptions.NotOnRanToCompletion);
                resetEvent.WaitOne();
                Assert.True(error.Contains(handler.ExpectedError), "Error message is invalid");
                Assert.That(handler.Calls, Is.EqualTo(1));
            }
        }
        public void Execute_Error()
        {
            var handler     = new ErrorMessageHanlder();
            var initializer = new BaseClientService.Initializer()
            {
                HttpClientFactory = new MockHttpClientFactory(handler)
            };

            using (var service = new MockClientService(initializer))
            {
                var request = new TestClientServiceRequest(service, "GET", null);
                try
                {
                    request.Execute();
                    Assert.Fail();
                }
                catch (Exception ex)
                {
                    Assert.True(ex.Message.Contains(handler.ExpectedError), "Error message is invalid");
                }
                Assert.That(handler.Calls, Is.EqualTo(1));
            }
        }