private string WriteAndVerifyCarEntry(StreamResponseMessage responseMessage, ODataWriter odataWriter, bool hasModel, string mimeType) { var carEntry = WritePayloadHelper.CreateCarEntry(hasModel); odataWriter.WriteStart(carEntry); // Finish writing the entry. odataWriter.WriteEnd(); // Some very basic verification for the payload. bool verifyEntryCalled = false; Action <ODataEntry> verifyEntry = (entry) => { Assert.AreEqual(4, entry.Properties.Count(), "entry.Properties.Count"); Assert.IsNotNull(entry.MediaResource, "entry.MediaResource"); Assert.IsTrue(entry.EditLink.AbsoluteUri.Contains("Car(11)"), "entry.EditLink"); Assert.IsTrue(entry.ReadLink == null || entry.ReadLink.AbsoluteUri.Contains("Car(11)"), "entry.ReadLink"); Assert.AreEqual(1, entry.InstanceAnnotations.Count, "entry.InstanceAnnotations.Count"); verifyEntryCalled = true; }; Stream stream = responseMessage.GetStream(); if (!mimeType.Contains(MimeTypes.ODataParameterNoMetadata)) { stream.Seek(0, SeekOrigin.Begin); WritePayloadHelper.ReadAndVerifyFeedEntryMessage(false, responseMessage, WritePayloadHelper.CarSet, WritePayloadHelper.CarType, null, verifyEntry, null); Assert.IsTrue(verifyEntryCalled, "Verification action not called."); } return(WritePayloadHelper.ReadStreamContent(stream)); }