Exemple #1
0
        public void TestSerializeCall()
        {
            Config.SERPENT_INDENT = false;

            var ser = PyroSerializer.GetSerpentSerializer();
            IDictionary <string, object> kwargs = new Dictionary <string, object>();

            kwargs["arg"] = 42;
            object[] vargs = { "hello" };

            var    data = ser.serializeCall("objectid", "method", vargs, kwargs);
            string s    = Encoding.UTF8.GetString(data);

            Assert.Equal("# serpent utf-8 python3.2\n('objectid','method',('hello',),{'arg':42})", s);

            var call = (object[])ser.deserializeData(data);

            object[] expected =
            {
                "objectid",
                "method",
                new object[] { "hello" },
                new Dictionary <string,object>
                {
                    { "arg", 42 }
                }
            };
            Assert.Equal(expected, call);
        }
Exemple #2
0
        public void TestSerializeData()
        {
            Config.SERPENT_INDENT = false;

            ICollection <object> list = new LinkedList <object>();

            list.Add("hello");
            list.Add(42);

            var    ser  = PyroSerializer.GetSerpentSerializer();
            var    data = ser.serializeData(list);
            string str  = Encoding.UTF8.GetString(data);

            Assert.Equal("# serpent utf-8 python3.2\n['hello',42]", str);

            var listObj = (List <object>)ser.deserializeData(data);

            Assert.Equal(list, listObj);

            ISet <string> s = new HashSet <string>();

            s.Add("element1");
            s.Add("element2");
            data = ser.serializeData(s);
            str  = Encoding.UTF8.GetString(data);
            Assert.Equal("# serpent utf-8 python3.2\n{'element1','element2'}", str);

            var set = (HashSet <Object>)ser.deserializeData(data);

            Assert.Equal(set, s);
        }
Exemple #3
0
        public void TestSerializeData()
        {
            Config.SERPENT_INDENT = false;

            ISet <string> s = new HashSet <string>();

            s.Add("element1");
            s.Add("element2");
            var    ser  = PyroSerializer.GetSerpentSerializer();
            var    data = ser.serializeData(s);
            string str  = Encoding.UTF8.GetString(data);

            Assert.Equal("# serpent utf-8 python3.2\n{'element1','element2'}", str);

            var s2 = (HashSet <object>)ser.deserializeData(data);

            Assert.Equal(s, s2);
        }