public void HttpError_Roundtrips_WithXmlSerializer() { HttpError error = new HttpError("error") { { "ErrorCode", 42 }, { "Data", new[] { "a", "b", "c" } } }; MediaTypeFormatter formatter = new XmlMediaTypeFormatter() { UseXmlSerializer = true }; MemoryStream stream = new MemoryStream(); formatter.WriteToStreamAsync(typeof(HttpError), error, stream, content: null, transportContext: null).Wait(); stream.Position = 0; HttpError roundtrippedError = formatter.ReadFromStreamAsync(typeof(HttpError), stream, content: null, formatterLogger: null).Result as HttpError; Assert.NotNull(roundtrippedError); Assert.Equal("error", roundtrippedError.Message); Assert.Equal("42", roundtrippedError["ErrorCode"]); Assert.Equal("a b c", roundtrippedError["Data"]); }
public void HttpErrorWithWhitespace_Roundtrips_WithXmlFormatter() { string message = " foo\n bar \n "; HttpError error = new HttpError(message); MediaTypeFormatter formatter = new XmlMediaTypeFormatter(); MemoryStream stream = new MemoryStream(); formatter.WriteToStreamAsync(typeof(HttpError), error, stream, content: null, transportContext: null).Wait(); stream.Position = 0; HttpError roundtrippedError = formatter.ReadFromStreamAsync(typeof(HttpError), stream, content: null, formatterLogger: null).Result as HttpError; Assert.NotNull(roundtrippedError); Assert.Equal(message, roundtrippedError.Message); }