public void JsonDeserializerSettingsAreUsedWhenDeserializingJson()
        {
            // Setup
            var settings      = new JsonSerializerSettings();
            var converterMock = new JsonConverterMock();

            settings.Converters.Add(converterMock);
            var client = new RestClient {
                BaseUrl = BaseAddress, JsonSerializerSettings = settings
            };
            var request = new RestRequest("api/books");
            RestResponse <List <Book> > response = null;

            // Execute
            using (WebApp.Start <WebApiStartup>(BaseAddress))
            {
                // Simulate ASP.NET and Windows Forms thread affinity
                WindowsFormsContext.Run(() =>
                {
                    // Should not deadlock on this call
                    response = client.SendAsync <List <Book> >(request).Result;
                });
            }

            // Validate
            converterMock.Calls.Should().NotBe(0);
            response.Content.Should().NotBeNull();
            response.Content.Count().Should().Be(5);
        }
 private void SetupJsonConverterMock()
 {
     JsonConverterMock
     .Setup(m => m.FromJson <ICollection <SimpleEntity> >(It.IsAny <string>()))
     .Returns(FakeEntities);
 }