示例#1
0
        public void basic_types_writing_and_reading()
        {
            using (var mem = new MemoryStream())
            {
                var sShared = Guid.NewGuid().ToString();
                using (var w = new CKBinaryWriter(mem, Encoding.UTF8, true))
                {
                    w.WriteNullableString(DefString);
                    w.Write(DefInt32);
                    w.Write(DefUInt32);
                    w.Write(DefInt64);
                    w.Write(DefUInt64);
                    w.Write(DefInt16);
                    w.Write(DefUInt16);
                    w.Write(DefByte);
                    w.Write(DefSByte);
                    w.Write(DefDateTime);
                    w.Write(DefTimeSpan);

                    w.WriteSharedString(sShared);

                    w.Write(DefDateTimeOffset);
                    w.Write(DefGuid);
                    w.Write(DefDouble);
                    w.Write(DefSingle);
                    w.Write(DefChar);
                    w.Write(DefBoolean);

                    w.WriteSharedString(sShared);
                }
                mem.Position = 0;
                using (var r = new CKBinaryReader(mem, Encoding.UTF8, true))
                {
                    r.ReadNullableString().Should().Be(DefString);
                    r.ReadInt32().Should().Be(DefInt32);
                    r.ReadUInt32().Should().Be(DefUInt32);
                    r.ReadInt64().Should().Be(DefInt64);
                    r.ReadUInt64().Should().Be(DefUInt64);
                    r.ReadInt16().Should().Be(DefInt16);
                    r.ReadUInt16().Should().Be(DefUInt16);
                    r.ReadByte().Should().Be(DefByte);
                    r.ReadSByte().Should().Be(DefSByte);
                    r.ReadDateTime().Should().Be(DefDateTime);
                    r.ReadTimeSpan().Should().Be(DefTimeSpan);

                    r.ReadSharedString().Should().Be(sShared);

                    r.ReadDateTimeOffset().Should().Be(DefDateTimeOffset);
                    r.ReadGuid().Should().Be(DefGuid);
                    r.ReadDouble().Should().Be(DefDouble);
                    r.ReadSingle().Should().Be(DefSingle);
                    r.ReadChar().Should().Be(DefChar);
                    r.ReadBoolean().Should().Be(DefBoolean);
                    r.ReadSharedString().Should().Be(sShared);
                }
            }
        }