public void WriteTests_DifferentVersions_MultipleRows() { var person1 = new V1.Person { Name = "Kawhi" }; var person2 = new V2.Person { FirstName = "Kyle", LastName = "Lowry" }; var buffer = new byte[person1.BufferSize + person2.BufferSize]; var ms = new MemoryStream(buffer); person1.Serialize(ms); person2.Serialize(ms); Assert.Equal(ms.Length, buffer.Length); var span = buffer.AsSpan(); var row11 = new V1.PersonMirror(span); Assert.Equal(person1.Name, row11.Name); var row12 = new V2.PersonMirror(span); Assert.Equal(person1.Name, row12.FirstName); var row21 = new V1.PersonMirror(span.Slice(person1.BufferSize)); Assert.Equal(person2.FirstName, row21.Name); var row22 = new V2.PersonMirror(span.Slice(person1.BufferSize)); Assert.Equal(person2.FirstName, row22.FirstName); Assert.Equal(person2.LastName, row22.LastName); }
public void ReadTests_SameVersion() { var person = new V2.Person { FirstName = "Kawhi", LastName = "Leonard" }; var ms = new MemoryStream(); person.Serialize(ms); var span = ms.GetBuffer().AsSpan(); var mirror = new V2.PersonMirror(span); Assert.Equal(person.FirstName, mirror.FirstName); Assert.Equal(person.LastName, mirror.LastName); }
public void ReadTests_PreviousVersion() { var person = new V2.Person { FirstName = "Kawhi", LastName = "Leonard" }; var buffer = new byte[person.BufferSize]; var ms = new MemoryStream(buffer); person.Serialize(ms); Assert.Equal(ms.Length, buffer.Length); var span = buffer.AsSpan(); var mirror = new V1.PersonMirror(span); Assert.Equal(person.FirstName, mirror.Name); }