示例#1
0
        public void MapTest()
        {
            BoxingPacker packer              = new BoxingPacker();
            Dictionary <object, object> dic  = new Dictionary <object, object> ();
            Dictionary <object, object> dic2 = new Dictionary <object, object> ();

            RoundtripTest <IDictionary <object, object> > (packer, dic);

            dic2.Add(123, 456);
            dic2.Add(234, 567);
            dic2.Add(345, 678);

            dic.Add(0, 0.123);
            dic.Add(Math.PI, true);
            dic.Add(false, new object[] { 1, 2, 3 });
            dic.Add(1, new Dictionary <object, object> (dic2));
            RoundtripTest <IDictionary <object, object> > (packer, dic);

            dic[1] = ((Dictionary <object, object>)dic[1]).ToArray();
            Assert.AreEqual(dic, packer.Unpack(packer.Pack(dic.ToArray())));
        }
示例#2
0
        void RoundtripTest <T> (BoxingPacker packer, T obj)
        {
            T obj2 = (T)packer.Unpack(packer.Pack(obj));

            Assert.AreEqual(obj, obj2);
        }
示例#3
0
 /// <summary>
 /// 序列成bytes
 /// </summary>
 /// <param name="o">对像</param>
 /// <returns>bytes</returns>
 public byte[] Serialize <T>(T o)
 {
     return(packer.Pack(o));
 }
示例#4
0
        public void NullTest()
        {
            BoxingPacker packer = new BoxingPacker();

            Assert.IsNull(packer.Unpack(packer.Pack(null)));
        }
示例#5
0
 override public byte[] Serialize(IDictionary <string, object> param)
 {
     return(packer.Pack(param));
 }