示例#1
0
文件: MirrorTests.cs 项目: qiqi545/HQ
        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);
        }
示例#2
0
文件: MirrorTests.cs 项目: qiqi545/HQ
        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);
        }
示例#3
0
文件: MirrorTests.cs 项目: qiqi545/HQ
        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);
        }