public async Task TestCustomSerializationWithPerson() { var expected = new SamplePerson("Olivia", new DateTimeOffset(2010, 4, 29, 5, 30, 3, TimeSpan.FromHours(1))); var registry = TypeSerializerRegistry.Build() .AddCustomType(typeof(SamplePerson), new SamplePersonSerializer()).Create(); var writer = CreateGraphBinaryWriter(registry); var reader = CreateGraphBinaryReader(registry); var serializationStream = new MemoryStream(); await writer.WriteAsync(expected, serializationStream); serializationStream.Position = 0; var actual = (SamplePerson)await reader.ReadAsync(serializationStream); Assert.Equal(expected, actual); }
public async Task ReadValueAndWriteValueShouldBeSymmetric(bool nullable) { var expected = new SamplePerson("Olivia", new DateTimeOffset(2010, 4, 29, 5, 30, 3, TimeSpan.FromHours(1))); var registry = TypeSerializerRegistry.Build() .AddCustomType(typeof(SamplePerson), new SamplePersonSerializer()).Create(); var writer = CreateGraphBinaryWriter(registry); var reader = CreateGraphBinaryReader(registry); var serializationStream = new MemoryStream(); await writer.WriteValueAsync(expected, serializationStream, nullable).ConfigureAwait(false); serializationStream.Position = 0; var actual = (SamplePerson)await reader.ReadValueAsync <SamplePerson>(serializationStream, nullable) .ConfigureAwait(false); Assert.Equal(expected, actual); }