public void DoubleValues(double value) { var schema = new DoubleSchema(); var deserialize = deserializerBuilder.BuildDelegate <double>(schema); var serialize = serializerBuilder.BuildDelegate <double>(schema); using (stream) { serialize(value, new Utf8JsonWriter(stream)); } var reader = new Utf8JsonReader(stream.ToArray()); Assert.Equal(value, deserialize(ref reader)); }
public void ByteArrayValues(byte[] value) { var schema = new FixedSchema("test", value.Length); var deserialize = deserializerBuilder.BuildDelegate <byte[]>(schema); var serialize = serializerBuilder.BuildDelegate <byte[]>(schema); using (stream) { serialize(value, new Utf8JsonWriter(stream)); } var reader = new Utf8JsonReader(stream.ToArray()); Assert.Equal(value, deserialize(ref reader)); }
public void BooleanValues(bool value) { var schema = new BooleanSchema(); var deserialize = deserializerBuilder.BuildDelegate <bool>(schema); var serialize = serializerBuilder.BuildDelegate <bool>(schema); using (stream) { serialize(value, new Utf8JsonWriter(stream)); } var reader = new Utf8JsonReader(stream.ToArray()); Assert.Equal(value, deserialize(ref reader)); }
/// <inheritdoc /> public override T?ToObject <T>() where T : default { var reader = ToJsonReader(); return(deserializerBuilder.BuildDelegate <T>(Schema)(ref reader)); }
public void DynamicFloatValues(dynamic value) { var schema = new FloatSchema(); var deserialize = deserializerBuilder.BuildDelegate <dynamic>(schema); var serialize = serializerBuilder.BuildDelegate <dynamic>(schema); using (stream) { serialize(value, new Utf8JsonWriter(stream)); } var reader = new Utf8JsonReader(stream.ToArray()); Assert.Equal((float)value, deserialize(ref reader)); }
public void BoundaryDecimalValues(decimal value) { var schema = new BytesSchema() { LogicalType = new DecimalLogicalType(29, 14), }; var deserialize = deserializerBuilder.BuildDelegate <decimal>(schema); var serialize = serializerBuilder.BuildDelegate <decimal>(schema); using (stream) { serialize(value, new Utf8JsonWriter(stream)); } var reader = new Utf8JsonReader(stream.ToArray()); Assert.Equal(value, deserialize(ref reader)); }
public void MicrosecondTimestampLogicalTypeToDateTimeType(DateTime value) { var schema = new LongSchema() { LogicalType = new MicrosecondTimestampLogicalType(), }; var deserialize = deserializerBuilder.BuildDelegate <DateTime>(schema); var serialize = serializerBuilder.BuildDelegate <DateTime>(schema); using (stream) { serialize(value, new Utf8JsonWriter(stream)); } var reader = new Utf8JsonReader(stream.ToArray()); Assert.Equal(value, deserialize(ref reader)); }
public void DynamicGuidValues(Guid value) { var schema = new StringSchema() { LogicalType = new UuidLogicalType(), }; var deserialize = deserializerBuilder.BuildDelegate <dynamic>(schema); var serialize = serializerBuilder.BuildDelegate <dynamic>(schema); using (stream) { serialize(value, new Utf8JsonWriter(stream)); } var reader = new Utf8JsonReader(stream.ToArray()); Assert.Equal(value.ToString(), deserialize(ref reader)); }
public void TimeSpanValues(TimeSpan value) { var schema = new FixedSchema("duration", DurationLogicalType.DurationSize) { LogicalType = new DurationLogicalType(), }; var deserialize = deserializerBuilder.BuildDelegate <TimeSpan>(schema); var serialize = serializerBuilder.BuildDelegate <TimeSpan>(schema); using (stream) { serialize(value, new Utf8JsonWriter(stream)); } var reader = new Utf8JsonReader(stream.ToArray()); Assert.Equal(value, deserialize(ref reader)); }
public void DefaultEnumValues() { var schema = new EnumSchema("ordinal", new[] { "NONE", "FIRST", "SECOND", "THIRD", "FOURTH", "FIFTH" }) { Default = "NONE", }; var deserialize = deserializerBuilder.BuildDelegate <ImplicitEnum>(schema); var serialize = serializerBuilder.BuildDelegate <string>(schema); using (stream) { serialize("FIFTH", new Utf8JsonWriter(stream)); } var reader = new Utf8JsonReader(stream.ToArray()); Assert.Equal(ImplicitEnum.None, deserialize(ref reader)); }
public void DictionaryValues(Dictionary <DateTime, string> value) { var schema = new MapSchema(new StringSchema()); var deserialize = deserializerBuilder.BuildDelegate <Dictionary <DateTime, string> >(schema); var serialize = serializerBuilder.BuildDelegate <Dictionary <DateTime, string> >(schema); using (stream) { serialize(value, new Utf8JsonWriter(stream)); } var reader = new Utf8JsonReader(stream.ToArray()); Assert.Equal(value, deserialize(ref reader)); }
public void ArrayValues(long[] value) { var schema = new ArraySchema(new LongSchema()); var deserialize = deserializerBuilder.BuildDelegate <long[]>(schema); var serialize = serializerBuilder.BuildDelegate <long[]>(schema); using (stream) { serialize(value, new Utf8JsonWriter(stream)); } var reader = new Utf8JsonReader(stream.ToArray()); Assert.Equal(value, deserialize(ref reader)); }