public void Should_read_serialized_object_from_stream_using_date_handler() { var formatter = new ServiceStackTextFormatter(JsonDateHandler.DCJSCompatible); var value = GetTestObject(); var utf8Encoding = new UTF8Encoding(encoderShouldEmitUTF8Identifier: false, throwOnInvalidBytes: true); JsConfig.DateHandler = JsonDateHandler.DCJSCompatible; byte[] data = utf8Encoding.GetBytes(value.ToJson()); JsConfig.Reset(); var memoryStream = new MemoryStream(data); var contentHeader = new StringContent(string.Empty).Headers; contentHeader.Clear(); var resultTask = formatter.ReadFromStreamAsync(typeof(RootClass), memoryStream, contentHeader, new FormatterContext(StandardMediaTypeHeaderValues.ApplicationJson, isRead: false)); resultTask.Wait(); resultTask.Result.ShouldBeType<RootClass>(); var result = (RootClass)resultTask.Result; result.StringProperty.ShouldEqual(value.StringProperty); result.DateProperty.ShouldEqual(value.DateProperty); result.Child.BooleanProperty.ShouldEqual(value.Child.BooleanProperty); result.Child.DecimalProperty.ShouldEqual(value.Child.DecimalProperty); result.Child.DoubleProperty.ShouldEqual(value.Child.DoubleProperty); result.Child.IntegerProperty.ShouldEqual(value.Child.IntegerProperty); result.Child.StringProperty.ShouldEqual(value.Child.StringProperty); }
public void Should_read_serialized_object_from_stream() { var formatter = new ServiceStackTextFormatter(); var value = GetTestObject(); var utf8Encoding = new UTF8Encoding(encoderShouldEmitUTF8Identifier: false, throwOnInvalidBytes: true); //Media Type Formatter uses ISO8601 date formatting by default; JsConfig.DateHandler = JsonDateHandler.ISO8601; byte[] data = utf8Encoding.GetBytes(value.ToJson()); JsConfig.Reset(); var memoryStream = new MemoryStream(data); var contentHeader = new StringContent(string.Empty).Headers; contentHeader.Clear(); var resultTask = formatter.ReadFromStreamAsync(typeof(RootClass), memoryStream, contentHeader, null); resultTask.Wait(); resultTask.Result.ShouldBeType<RootClass>(); var result = (RootClass)resultTask.Result; result.StringProperty.ShouldEqual(value.StringProperty); result.DateProperty.ShouldEqual(value.DateProperty); result.Child.BooleanProperty.ShouldEqual(value.Child.BooleanProperty); result.Child.DecimalProperty.ShouldEqual(value.Child.DecimalProperty); result.Child.DoubleProperty.ShouldEqual(value.Child.DoubleProperty); result.Child.IntegerProperty.ShouldEqual(value.Child.IntegerProperty); result.Child.StringProperty.ShouldEqual(value.Child.StringProperty); }
public void Should_write_string_to_stream() { var formatter = new PlainTextFormatter(); var contentHeader = new StringContent(string.Empty).Headers; contentHeader.Clear(); var memoryStream = new MemoryStream(); var value = "Hello World"; var resultTask = formatter.WriteToStreamAsync(typeof(string), value, memoryStream, contentHeader, transportContext: null); resultTask.Wait(); memoryStream.Position = 0; string serializedString = new StreamReader(memoryStream).ReadToEnd(); serializedString.ShouldEqual(value); }
public void Should_read_serialized_object_from_stream() { var formatter = new PlainTextFormatter(); var value = "Hello World"; var memoryStream = new MemoryStream(); var sr = new StreamWriter(memoryStream); sr.Write(value); sr.Flush(); memoryStream.Position = 0; var contentHeader = new StringContent(string.Empty).Headers; contentHeader.Clear(); var resultTask = formatter.ReadFromStreamAsync(typeof(string), memoryStream, contentHeader, null); resultTask.Wait(); resultTask.Result.ShouldBeType<String>(); var result = (String)resultTask.Result; result.ShouldEqual(value); }
public void Should_write_serialized_object_to_stream() { var formatter = new ServiceStackTextFormatter(); var value = GetTestObject(); var contentHeader = new StringContent(string.Empty).Headers; contentHeader.Clear(); var memoryStream = new MemoryStream(); var resultTask = formatter.WriteToStreamAsync(typeof(RootClass), value, memoryStream, contentHeader, new FormatterContext(StandardMediaTypeHeaderValues.ApplicationJson, isRead: false), transportContext: null); resultTask.Wait(); memoryStream.Position = 0; string serializedString = new StreamReader(memoryStream).ReadToEnd(); // Formatter uses ISO8601 dates by default JsConfig.DateHandler = JsonDateHandler.ISO8601; var expextedResult = value.ToJson(); JsConfig.Reset(); serializedString.ShouldEqual(expextedResult); }
public void Should_write_serialized_object_to_stream_using_date_handler() { var formatter = new ServiceStackTextFormatter(JsonDateHandler.TimestampOffset); var value = GetTestObject(); var contentHeader = new StringContent(string.Empty).Headers; contentHeader.Clear(); var memoryStream = new MemoryStream(); var resultTask = formatter.WriteToStreamAsync(typeof(RootClass), value, memoryStream, contentHeader, transportContext: null); resultTask.Wait(); memoryStream.Position = 0; string serializedString = new StreamReader(memoryStream).ReadToEnd(); JsConfig.DateHandler = JsonDateHandler.TimestampOffset; var expected = value.ToJson(); JsConfig.Reset(); serializedString.ShouldEqual(expected); }