Ejemplo n.º 1
0
        public void TestNest()
        {
            var ms       = new MemoryStream();
            var ss       = new StreamSerializer(ms);
            var expected = new Dictionary <string, object>
            {
                ["a"] = new object[]
                {
                    "a1",
                    "a2",
                    new Dictionary <string, object>
                    {
                        ["b"] = new object[]
                        {
                            "b1",
                            "b2",
                        }
                    },
                },
            };

            ss.Write(expected);
            ms.Position = 0;
            var sd     = new StreamDeserializer(ms);
            var actual = (Dictionary <string, object>)sd.Read();
            var a      = (object[])actual["a"];

            Assert.Equal("a1", a[0]);
            Assert.Equal("a2", a[1]);
            var a2 = (Dictionary <string, object>)((object[])actual["a"])[2];
            var b  = (object[])(a2["b"]);

            Assert.Equal("b1", b[0]);
            Assert.Equal("b2", b[1]);
        }
Ejemplo n.º 2
0
        public void TestSequence()
        {
            var ms = new MemoryStream();
            var ss = new StreamSerializer(ms);

            ss.WriteNull();
            ss.Write("abc");
            ss.Write(123);
            ss.Write(new object[] { 1, 2, 3 });
            ms.Position = 0;
            var sd = new StreamDeserializer(ms);

            Assert.Null(sd.Read());
            Assert.Equal("abc", sd.Read());
            Assert.Equal(123, sd.Read());
            Assert.Equal(new object[] { 1, 2, 3 }, sd.Read());
        }
Ejemplo n.º 3
0
        public void TestArray()
        {
            var ms       = new MemoryStream();
            var ss       = new StreamSerializer(ms);
            var expected = new object[] { 123, "abc", null };

            ss.Write(expected);
            ms.Position = 0;
            var sd = new StreamDeserializer(ms);

            Assert.Equal(expected, sd.Read());
        }
Ejemplo n.º 4
0
        public void TestString()
        {
            var ms = new MemoryStream();
            var ss = new StreamSerializer(ms);

            ss.Write("Hello world!");
            Assert.Equal(22, ms.Length);
            ms.Position = 0;
            var sd = new StreamDeserializer(ms);

            Assert.Equal("Hello world!", sd.Read());
        }
Ejemplo n.º 5
0
        public void TestInteger()
        {
            var ms = new MemoryStream();
            var ss = new StreamSerializer(ms);

            ss.Write(101);
            Assert.Equal(13, ms.Length);
            ms.Position = 0;
            var sd = new StreamDeserializer(ms);

            Assert.Equal(101, sd.Read());
        }
Ejemplo n.º 6
0
        public void TestNull()
        {
            var ms = new MemoryStream();
            var ss = new StreamSerializer(ms);

            ss.WriteNull();
            Assert.Equal(9, ms.Length);
            ms.Position = 0;
            var sd = new StreamDeserializer(ms);

            Assert.Null(sd.Read());
        }
Ejemplo n.º 7
0
        public void TestDictionary()
        {
            var ms       = new MemoryStream();
            var ss       = new StreamSerializer(ms);
            var expected = new Dictionary <string, object>
            {
                ["a"]    = 1,
                ["bcd"]  = "efg",
                ["hijk"] = null,
            };

            ss.Write(expected);
            ms.Position = 0;
            var sd     = new StreamDeserializer(ms);
            var actual = sd.Read();

            Assert.IsType <Dictionary <string, object> >(actual);
            var actualDict = (Dictionary <string, object>)actual;

            Assert.Equal(expected["a"], actualDict["a"]);
            Assert.Equal(expected["bcd"], actualDict["bcd"]);
            Assert.Equal(expected["hijk"], actualDict["hijk"]);
        }