private static HttpRequestMessage GetSampleRequest()
 {
     HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/property");
     request.SetEdmModel(GetSampleModel());
     HttpConfiguration configuration = new HttpConfiguration();
     configuration.Routes.MapFakeODataRoute();
     request.SetConfiguration(configuration);
     request.SetFakeODataRouteName();
     return request;
 }
        public void PrimitiveTypesSerializeAsOData(Type valueType, object value, MediaTypeHeaderValue mediaType,
            string resourceName)
        {
            string expectedEntity = Resources.GetString(resourceName);
            Assert.NotNull(expectedEntity);

            ODataConventionModelBuilder modelBuilder = new ODataConventionModelBuilder();
            modelBuilder.EntitySet<WorkItem>("WorkItems");
            IEdmModel model = modelBuilder.GetEdmModel();

            string actualEntity;

            using (HttpConfiguration configuration = CreateConfiguration())
            using (HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get,
                "http://localhost/WorkItems(10)/ID"))
            {
                request.SetConfiguration(configuration);
                IEdmProperty property =
                    model.EntityContainer.EntitySets().Single().EntityType().Properties().First();
                request.ODataProperties().Model = model;
                request.ODataProperties().Path = new ODataPath(new PropertyAccessPathSegment(property));
                request.SetFakeODataRouteName();

                ODataMediaTypeFormatter formatter = CreateFormatter(request);
                formatter.SupportedMediaTypes.Add(mediaType);

                Type type = (value != null) ? value.GetType() : typeof(Nullable<int>);

                using (ObjectContent content = new ObjectContent(type, value, formatter))
                {
                    actualEntity = content.ReadAsStringAsync().Result;
                }
            }

            bool isJson = resourceName.EndsWith(".json");

            if (isJson)
            {
                JsonAssert.Equal(expectedEntity, actualEntity);
            }
            else
            {
                Assert.Xml.Equal(expectedEntity, actualEntity);
            }
        }
 private static UrlHelper CreateMetadataLinkFactory(string metadataPath)
 {
     HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, metadataPath);
     HttpConfiguration configuration = new HttpConfiguration();
     configuration.Routes.MapFakeODataRoute();
     request.SetConfiguration(configuration);
     request.SetFakeODataRouteName();
     return new UrlHelper(request);
 }
 private void AddRequestInfo(HttpRequestMessage request)
 {
     request.ODataProperties().Path = new DefaultODataPathHandler()
         .Parse(_model, GetODataPath(request.RequestUri.AbsoluteUri));
     request.ODataProperties().Model = _model;
     request.SetFakeODataRouteName();
 }
 private void AddRequestInfo(HttpRequestMessage request)
 {
     request.SetODataPath(new DefaultODataPathHandler().Parse(_model, GetODataPath(
         request.RequestUri.AbsoluteUri)));
     request.SetEdmModel(_model);
     request.SetFakeODataRouteName();
 }