Beispiel #1
0
        public void fix_raw()
        {
            var src   = new Byte[] { 0, 1, 2 };
            var bytes = m_r.SerializeToMessagePack(src);

            var v = default(Byte[]);

            m_r.Deserialize(MessagePackParser.Parse(bytes), ref v);
            Assert.AreEqual(src, v);
        }
Beispiel #2
0
        public void raw16()
        {
            var src   = Enumerable.Range(0, 50).Select(x => (Byte)x).ToArray();
            var bytes = m_r.SerializeToMessagePack(src);

            var v = default(Byte[]);

            m_r.Deserialize(MessagePackParser.Parse(bytes), ref v);
            Assert.AreEqual(src.ToArray(), v);
        }
Beispiel #3
0
        public void str()
        {
            var bytes = m_r.SerializeToMessagePack("文字列");

            var v = default(String);

            m_r.Deserialize(MessagePackParser.Parse(bytes), ref v);

            Assert.AreEqual("文字列", v);
        }
Beispiel #4
0
        public void negative_fixnum()
        {
            for (SByte i = -32; i < 0; ++i)
            {
                var bytes = m_r.SerializeToMessagePack(i);

                var j = default(SByte);
                m_r.Deserialize(MessagePackParser.Parse(bytes), ref j);
                Assert.AreEqual(i, j);
            }
        }
Beispiel #5
0
        public void False()
        {
            var bytes = m_r.SerializeToMessagePack(false);

            Assert.AreEqual(new Byte[] { 0xC2 }, bytes.ToEnumerable());

            var value = MessagePackParser.Parse(bytes);
            var j     = value.GetBoolean();

            Assert.AreEqual(false, j);
        }
Beispiel #6
0
        public void fix_str()
        {
            for (int i = 1; i < 32; ++i)
            {
                var str   = String.Join("", Enumerable.Range(0, i).Select(_ => "0").ToArray());
                var bytes = m_r.SerializeToMessagePack(str);

                var value = MessagePackParser.Parse(bytes);

                Assert.AreEqual(i, ((String)value.GetValue()).Length);
            }
        }
Beispiel #7
0
        public void positive_fixnum()
        {
            for (Byte i = 0; i < 128; ++i)
            {
                var bytes = m_r.SerializeToMessagePack(i);
                Assert.AreEqual(new Byte[] { i }, bytes.ToEnumerable());

                var j = default(Byte);
                m_r.Deserialize(MessagePackParser.Parse(bytes), ref j);
                Assert.AreEqual(i, j);
            }
        }
Beispiel #8
0
        static void GoBackTest <T>(ref T original)
        {
            var typeRegistry = new Osaru.Serialization.TypeRegistry();
            var msgPack      = typeRegistry.SerializeToMessagePack(original);
            var d            = typeRegistry.GetDeserializer <T>();
            var parsed       = MessagePackParser.Parse(msgPack);
            var copy         = default(T);

            d.Deserialize(parsed, ref copy);

            Assert.AreEqual(original, copy);
        }
Beispiel #9
0
        public void array129()
        {
            var typeRegistry = new Osaru.Serialization.TypeRegistry();
            var i128         = Enumerable.Range(0, 128).ToArray();
            var i129         = Enumerable.Range(0, 129).ToArray();
            var bytes128     = typeRegistry.SerializeToMessagePack(i128);
            var bytes129     = typeRegistry.SerializeToMessagePack(i129);
            var deserialized = default(int[]);

            typeRegistry.Deserialize(MessagePackParser.Parse(bytes128), ref deserialized);

            Assert.AreEqual(i128, deserialized);
        }
Beispiel #10
0
        public void int128Test()
        {
            int i     = 128;
            var bytes = m_r.SerializeToMessagePack(i);

            Assert.AreEqual(new Byte[] {
                0xcc, 0x80,
            }, bytes.ToEnumerable());
            var j = default(int);

            m_r.Deserialize(MessagePackParser.Parse(bytes), ref j);
            Assert.AreEqual(i, j);
        }
Beispiel #11
0
        public void array16()
        {
            var data  = Enumerable.Range(0, 20).Select(x => (Object)x).ToArray();
            var bytes = m_r.SerializeToMessagePack(data);

            var value = MessagePackParser.Parse(bytes);

            Assert.AreEqual(true, value.FormatType.IsArray());
            Assert.AreEqual(20, value.Count);
            for (int i = 0; i < 20; ++i)
            {
                Assert.AreEqual(i, value[i].GetValue());
            }
        }
Beispiel #12
0
        public void cast_large_type()
        {
            {
                Byte i = 0x7F + 20;

                var bytes = m_r.SerializeToMessagePack(i);
                Assert.AreEqual(new Byte[] {
                    0xcc, 0x93,
                }, bytes.ToEnumerable());

                var j = default(UInt16);
                m_r.Deserialize(MessagePackParser.Parse(bytes), ref j);
                Assert.AreEqual(i, j);
            }
        }
Beispiel #13
0
        public void uint32()
        {
            {
                UInt32 i = 0xFFFF + 20;

                var bytes = m_r.SerializeToMessagePack(i);
                Assert.AreEqual(new Byte[] {
                    0xce, 0x00, 0x01, 0x00, 0x13
                }, bytes.ToEnumerable());

                var j = default(UInt32);
                m_r.Deserialize(MessagePackParser.Parse(bytes), ref j);
                Assert.AreEqual(i, j);
            }
        }
Beispiel #14
0
        public void int32()
        {
            {
                Int32 i = -35000;

                var bytes = m_r.SerializeToMessagePack(i);

                Assert.AreEqual(new Byte[] {
                    0xd2, 0xff, 0xff, 0x77, 0x48
                }, bytes.ToEnumerable());

                var j = default(Int32);
                m_r.Deserialize(MessagePackParser.Parse(bytes), ref j);
                Assert.AreEqual(i, j);
            }
        }
Beispiel #15
0
        public void int64()
        {
            {
                Int64 i = -2147483650;

                var bytes = m_r.SerializeToMessagePack(i);

                Assert.AreEqual(new Byte[] {
                    0xd3, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xfe
                }, bytes.ToEnumerable());

                var j = default(Int64);
                m_r.Deserialize(MessagePackParser.Parse(bytes), ref j);
                Assert.AreEqual(i, j);
            }
        }
Beispiel #16
0
        public void int8()
        {
            {
                SByte i = -64;

                var bytes = m_r.SerializeToMessagePack(i);

                Assert.AreEqual(new Byte[] {
                    0xd0, 0xc0,
                }, bytes.ToEnumerable());

                var j = default(SByte);
                m_r.Deserialize(MessagePackParser.Parse(bytes), ref j);
                Assert.AreEqual(i, j);
            }
        }
Beispiel #17
0
        public void Float64()
        {
            var i         = 1.1;
            var double_be = new Byte[] {
                0x3f, 0xf1, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a,
            };

            var bytes = m_r.SerializeToMessagePack(i);

            var value = MessagePackParser.Parse(bytes);
            var body  = value.GetBody();

            Assert.AreEqual(double_be, body.ToEnumerable().ToArray());

            Assert.AreEqual(i, value.GetValue());
        }
Beispiel #18
0
        public void fix_map()
        {
            var bytes = m_r.SerializeToMessagePackMap(
                0, 1,
                2, 3);

            Assert.AreEqual(new Byte[] {
                0x82, 0x00, 0x01, 0x02, 0x03
            }, bytes.ToEnumerable());

            var value = MessagePackParser.Parse(bytes);

            Assert.AreEqual(2, value.Count);
            Assert.AreEqual(1, value.GetValueByIntKey(0).GetValue());
            Assert.AreEqual(3, value.GetValueByIntKey(2).GetValue());
        }
Beispiel #19
0
        public void int16()
        {
            {
                Int16 i = -150;

                var bytes = m_r.SerializeToMessagePack(i);

                Assert.AreEqual(new Byte[] {
                    0xd1, 0xFF, 0x6a
                }, bytes.ToEnumerable());

                var j = default(Int16);
                m_r.Deserialize(MessagePackParser.Parse(bytes), ref j);
                Assert.AreEqual(i, j);
            }
        }
Beispiel #20
0
        public void Float32()
        {
            var i        = 1.1f;
            var float_be = new byte[]
            {
                0x3f, 0x8c, 0xcc, 0xcd
            };

            var bytes = m_r.SerializeToMessagePack(i);

            var value = MessagePackParser.Parse(bytes);
            var body  = value.GetBody();

            Assert.AreEqual(float_be, body.ToEnumerable().ToArray());

            Assert.AreEqual(i, value.GetValue());
        }
Beispiel #21
0
        public void nil()
        {
            {
                var w = new MessagePackFormatter();;
                w.Null();
                var bytes = w.GetStore().Bytes;
                Assert.AreEqual(new Byte[] { 0xC0 }, bytes.ToEnumerable());

                var parsed = MessagePackParser.Parse(bytes);
                Assert.True(parsed.IsNull);
            }

            {
                var bytes = m_r.SerializeToMessagePack((object)null);
                Assert.AreEqual(new Byte[] { (byte)MsgPackType.NIL }, bytes.ToEnumerable());

                var parsed = MessagePackParser.Parse(bytes);
                Assert.True(parsed.IsNull);
            }
        }
Beispiel #22
0
        public void fix_array()
        {
            var data  = new[] { 0, 1, false, (Object)null };
            var bytes = m_r.SerializeToMessagePack(data);

            Assert.AreEqual(new Byte[] {
                (Byte)MsgPackType.FIX_ARRAY_0x4,
                (Byte)MsgPackType.POSITIVE_FIXNUM,
                (Byte)MsgPackType.POSITIVE_FIXNUM_0x01,
                (Byte)MsgPackType.FALSE,
                (Byte)MsgPackType.NIL
            }, bytes.ToEnumerable());

            var parsed = MessagePackParser.Parse(bytes);

            Assert.AreEqual(4, parsed.Count);
            Assert.AreEqual(0, parsed[0].GetValue());
            Assert.AreEqual(1, parsed[1].GetValue());
            Assert.False((Boolean)parsed[2].GetValue());
            Assert.AreEqual(null, parsed[3].GetValue());
        }
Beispiel #23
0
        public void map_root()
        {
            var src = new Sample
            {
                Name = "Hoge",

                Number = 4
                ,
                Nest = new Nest
                {
                    Name = "Nested"
                }
            };
            var bytes = m_r.SerializeToMessagePack(src);

            var value = MessagePackParser.Parse(bytes);

            Assert.AreEqual(true, value.FormatType.IsMap());
            Assert.AreEqual(src.Name, value["Name"].GetValue());
            Assert.AreEqual(src.Number, value["Number"].GetValue());
            Assert.AreEqual(src.Nest.Name, value["Nest"]["Name"].GetValue());
        }
Beispiel #24
0
        public void map16()
        {
            var w    = new MessagePackFormatter();;
            int size = 18;

            w.BeginMap(size);
            for (int i = 0; i < size; ++i)
            {
                w.Value(i);
                w.Value(i + 5);
            }
            var bytes = w.GetStore().Bytes.ToEnumerable().ToArray();

            Assert.AreEqual(
                new Byte[] { 0xde, 0x0, 0x12, 0x0, 0x5, 0x1, 0x6, 0x2, 0x7, 0x3, 0x8, 0x4, 0x9, 0x5, 0xa, 0x6, 0xb, 0x7, 0xc, 0x8, 0xd, 0x9, 0xe, 0xa, 0xf, 0xb, 0x10, 0xc,
                             0x11, 0xd, 0x12, 0xe, 0x13, 0xf, 0x14, 0x10, 0x15, 0x11, 0x16 },
                bytes);


            var value = MessagePackParser.Parse(bytes);

            Assert.AreEqual(15, value.GetValueByIntKey(10).GetInt32());
        }
Beispiel #25
0
        public void array_root()
        {
            var src = new[]
            {
                new Sample {
                    Name = "Hoge"
                    ,
                    Number = 4
                    ,
                    Nest = new Nest
                    {
                        Name = "Nested"
                    }
                }
            };
            var bytes = m_r.SerializeToMessagePack(src);

            var value = MessagePackParser.Parse(bytes);

            Assert.AreEqual(src[0].Name, value[0]["Name"].GetValue());
            Assert.AreEqual(src[0].Number, value[0]["Number"].GetValue());
            Assert.AreEqual(src[0].Nest.Name, value[0]["Nest"]["Name"].GetValue());
        }
 public static MessagePackParser ParseAsMessagePack(this ArraySegment <Byte> bytes)
 {
     return(MessagePackParser.Parse(bytes));
 }
 public static MessagePackParser ParseAsMessagePack(this Byte[] bytes)
 {
     return(MessagePackParser.Parse(bytes));
 }