示例#1
0
 public void Ubjs_WriteSmallString()
 {
     Given_Stream();
     var ubjs = new UbjsonWriter(stream);
     ubjs.Write("hello");
     Assert.AreEqual(new byte[] { 0x53, 0x69, 0x05, 0x68, 0x65, 0x6C, 0x6C, 0x6F }, stream.ToArray());
 }
示例#2
0
 public void Ubjs_WriteNull()
 {
     Given_Stream();
     var ubjs = new UbjsonWriter(stream);
     ubjs.Write(null);
     Assert.AreEqual(new byte[] { 0x5A }, stream.ToArray());
 }
示例#3
0
        public void Ubjs_WriteSmallString()
        {
            Given_Stream();
            var ubjs = new UbjsonWriter(stream);

            ubjs.Write("hello");
            Assert.AreEqual(new byte[] { 0x53, 0x69, 0x05, 0x68, 0x65, 0x6C, 0x6C, 0x6F }, stream.ToArray());
        }
示例#4
0
        public void Ubjs_WriteNull()
        {
            Given_Stream();
            var ubjs = new UbjsonWriter(stream);

            ubjs.Write(null);
            Assert.AreEqual(new byte[] { 0x5A }, stream.ToArray());
        }
示例#5
0
        public void Ubjs_WriteArray_ByteArray()
        {
            Given_Stream();
            var ubjs = new UbjsonWriter(stream);

            ubjs.Write(new byte[] { 0x1, 0x2, 0x3 });
            Assert.AreEqual(new byte[]
            {
                0x5B, 0x24, 0x55, 0x23, 0x69, 0x03,
                0x01, 0x02, 0x03,
            }, stream.ToArray());
        }
示例#6
0
 public void Ubjs_WriteArray_Unoptimized()
 {
     Given_Stream();
     var ubjs = new UbjsonWriter(stream);
     ubjs.Write(new ArrayList { 3, "foo!", false });
     Assert.AreEqual(new byte[] {
         0x5B,
              0x69, 0x03,
              0x53, 0x69, 0x04, 0x66, 0x6F, 0x6F, 0x21,
              0x46,
         0x5D
     }, stream.ToArray());
 }
示例#7
0
        public void Ubjs_WriteArray_IntCollction()
        {
            Given_Stream();
            var ubjs = new UbjsonWriter(stream);

            ubjs.Write(new List <int> {
                3, -4
            });
            Assert.AreEqual(new byte[]
            {
                0x5B, 0x24, 0x6C, 0x23, 0x69, 0x02,
                0x00, 0x00, 0x00, 0x03,
                0xFF, 0xFF, 0xFF, 0xFC,
            }, stream.ToArray());
        }
示例#8
0
        public void Ubjs_WriteArray_Unoptimized()
        {
            Given_Stream();
            var ubjs = new UbjsonWriter(stream);

            ubjs.Write(new ArrayList {
                3, "foo!", false
            });
            Assert.AreEqual(new byte[] {
                0x5B,
                0x69, 0x03,
                0x53, 0x69, 0x04, 0x66, 0x6F, 0x6F, 0x21,
                0x46,
                0x5D
            }, stream.ToArray());
        }
示例#9
0
        public void Ubjs_WriteArray_IntArray()
        {
            Given_Stream();
            var ubjs = new UbjsonWriter(stream);

            ubjs.Write(new List <int> {
                0x41, 0x812, 0x12345678
            });
            Assert.AreEqual(new byte[]
            {
                0x5B, 0x24, 0x6C, 0x23, 0x69, 0x03,
                0x00, 0x00, 0x00, 0x41,
                0x00, 0x00, 0x08, 0x12,
                0x12, 0x34, 0x56, 0x78,
            }, stream.ToArray());
        }
示例#10
0
        public void Ubjs_WriteObject()
        {
            Given_Stream();
            var ubjs = new UbjsonWriter(stream);

            ubjs.Write(new { Name = "Bob", Age = 32 });
            Assert.AreEqual(new byte[]
            {
                0x7B,
                0x69, 0x04, 0x4E, 0x61, 0x6D, 0x65,
                0x53, 0x69, 0x03, 0x42, 0x6F, 0x62,

                0x69, 0x03, 0x41, 0x67, 0x65,
                0x69, 0x20,
                0x7D,
            }, stream.ToArray());
        }
示例#11
0
 public void Ubjs_WriteLargeString()
 {
     Given_Stream();
     var ubjs = new UbjsonWriter(stream);
     ubjs.Write(new string('Ä', 32800));
     var a = stream.ToArray();
     Assert.AreEqual(65606, a.Length);
     Assert.AreEqual(0x53, a[0]);
     Assert.AreEqual(0x6C, a[1]);
     Assert.AreEqual(0x00, a[2]);
     Assert.AreEqual(0x01, a[3]);
     Assert.AreEqual(0x00, a[4]);
     Assert.AreEqual(0x40, a[5]);
     Assert.AreEqual(0xC3, a[6]);
     Assert.AreEqual(0x84, a[7]);
     Assert.AreEqual(0xC3, a[8]);
     Assert.AreEqual(0x84, a[9]);
 }
示例#12
0
        public void Ubjs_WriteLargeString()
        {
            Given_Stream();
            var ubjs = new UbjsonWriter(stream);

            ubjs.Write(new string('Ä', 32800));
            var a = stream.ToArray();

            Assert.AreEqual(65606, a.Length);
            Assert.AreEqual(0x53, a[0]);
            Assert.AreEqual(0x6C, a[1]);
            Assert.AreEqual(0x00, a[2]);
            Assert.AreEqual(0x01, a[3]);
            Assert.AreEqual(0x00, a[4]);
            Assert.AreEqual(0x40, a[5]);
            Assert.AreEqual(0xC3, a[6]);
            Assert.AreEqual(0x84, a[7]);
            Assert.AreEqual(0xC3, a[8]);
            Assert.AreEqual(0x84, a[9]);
        }
示例#13
0
 public void Ubjs_WriteArray_IntCollction()
 {
     Given_Stream();
     var ubjs = new UbjsonWriter(stream);
     ubjs.Write(new List<int> { 3, -4 });
     Assert.AreEqual(new byte[]
     {
         0x5B, 0x24, 0x6C, 0x23, 0x69, 0x02,
               0x00, 0x00, 0x00, 0x03,
               0xFF, 0xFF, 0xFF, 0xFC,
     }, stream.ToArray());
 }
示例#14
0
        public void Ubjs_WriteObject()
        {
            Given_Stream();
            var ubjs = new UbjsonWriter(stream);
            ubjs.Write(new { Name = "Bob", Age = 32 });
            Assert.AreEqual(new byte[]
            {
                0x7B,
                      0x69, 0x04, 0x4E, 0x61, 0x6D, 0x65,
                      0x53, 0x69, 0x03, 0x42, 0x6F, 0x62,

                      0x69, 0x03, 0x41, 0x67, 0x65,
                      0x69, 0x20,
                0x7D,
            }, stream.ToArray());
        }
示例#15
0
 public void Ubjs_WriteArray_IntArray()
 {
     Given_Stream();
     var ubjs = new UbjsonWriter(stream);
     ubjs.Write(new List<int> { 0x41, 0x812, 0x12345678 });
     Assert.AreEqual(new byte[]
     {
         0x5B, 0x24, 0x6C, 0x23, 0x69, 0x03,
               0x00, 0x00, 0x00, 0x41,
               0x00, 0x00, 0x08, 0x12,
               0x12, 0x34, 0x56, 0x78,
     }, stream.ToArray());
 }
示例#16
0
 public void Ubjs_WriteArray_ByteArray()
 {
     Given_Stream();
     var ubjs = new UbjsonWriter(stream);
     ubjs.Write(new byte[] { 0x1, 0x2, 0x3 });
     Assert.AreEqual(new byte[]
     {
         0x5B, 0x24, 0x55, 0x23, 0x69, 0x03,
               0x01, 0x02, 0x03,
     }, stream.ToArray());
 }