public void Request_Deserialize_Serialize()
        {
            var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("CacheCow.Client.Tests.Data.Request.bin");
            var serializer = new MessageContentHttpMessageSerializer();
            var request = serializer.DeserializeToRequestAsync(stream).Result;

            var memoryStream = new MemoryStream();
            serializer.SerializeAsync(request, memoryStream).Wait();

            memoryStream.Position = 0;
            var request2 = serializer.DeserializeToRequestAsync(memoryStream).Result;
            var result = DeepComparer.Compare(request, request2);

            // !! Ignore this until RTM since this is fixed. See http://aspnetwebstack.codeplex.com/workitem/303
            //if (result.Count() > 0)
                //Assert.Fail(string.Join("\r\n", result));
        }
        public void Request_Deserialize_Serialize_File()
        {
            var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("CacheCow.Client.Tests.Data.Request.bin");
            var serializer = new MessageContentHttpMessageSerializer();
            var request = serializer.DeserializeToRequestAsync(stream).Result;

            using(var fileStream = new FileStream("request.tmp", FileMode.Create))
            {
                serializer.SerializeAsync(request, fileStream).Wait();

                fileStream.Position = 0;
                var request2 = serializer.DeserializeToRequestAsync(fileStream).Result;
                var result = DeepComparer.Compare(request, request2);

                if (result.Count() > 0)
                Assert.Fail(string.Join("\r\n", result));
            }
        }
 public void IntegrationTest_Serialize()
 {
     var requestMessage = new HttpRequestMessage( HttpMethod.Get, "http://some.server/api/foo");
     requestMessage.Headers.Range = new RangeHeaderValue(0, 1) { Unit = "custom" };
     var serializer = new MessageContentHttpMessageSerializer();
     var memoryStream = new MemoryStream();
     serializer.SerializeAsync(requestMessage, memoryStream).Wait();
     memoryStream.Position = 0;
     var request = serializer.DeserializeToRequestAsync(memoryStream).Result;
     Assert.AreEqual(requestMessage.Headers.Range.Unit, request.Headers.Range.Unit);
 }