public void Negotiate_CallGetPerRequestFormatterInstanceFirst() { HttpConfiguration config = RoutingConfigurationFactory.CreateWithRootContainer("odata"); HttpRequestMessage request = RequestFactory.Create(config, "odata"); MediaTypeFormatter perRequestFormatter = new ODataMediaTypeFormatter(Enumerable.Empty <ODataPayloadKind>()) { Request = request }; Mock <MediaTypeFormatter> formatter = new Mock <MediaTypeFormatter>(); formatter .Setup(f => f.GetPerRequestFormatterInstance(typeof(void), request, It.IsAny <MediaTypeHeaderValue>())) .Returns(perRequestFormatter); Mock <IContentNegotiator> innerContentNegotiator = new Mock <IContentNegotiator>(); innerContentNegotiator .Setup(n => n.Negotiate(typeof(void), request, It.Is <IEnumerable <MediaTypeFormatter> >(f => f.First() == perRequestFormatter))) .Returns(new ContentNegotiationResult(perRequestFormatter, MediaTypeHeaderValue.Parse("application/json"))); IContentNegotiator contentNegotiator = new PerRequestContentNegotiator(innerContentNegotiator.Object); var negotiationResult = contentNegotiator.Negotiate(typeof(void), request, new MediaTypeFormatter[] { formatter.Object }); Assert.Same(perRequestFormatter, negotiationResult.Formatter); }
public void Property_Request_RoundTrips() { ReflectionAssert.Property(_context, (c) => c.Request, null, allowNull: true, roundTripTestValue: RequestFactory.Create()); }