Esempio n. 1
0
        public void StringMap_One_InClass()
        {
            using (var ms = new MemoryStream())
            {
                var s = new SlimSerializer();

                var dIn = new stringMapCls
                {
                    Map1 = new StringMap(false)
                    {
                        { "a", "Alex" },
                        { "b", "Boris" }
                    }
                };

                s.Serialize(ms, dIn);
                ms.Seek(0, SeekOrigin.Begin);

                var dOut = (stringMapCls)s.Deserialize(ms);

                Aver.IsNotNull(dOut);
                Aver.IsNotNull(dOut.Map1);
                Aver.IsNull(dOut.Map2);

                Aver.IsFalse(dOut.Map1.CaseSensitive);
                Aver.AreEqual(2, dOut.Map1.Count);
                Aver.AreEqual("Alex", dOut.Map1["a"]);
                Aver.AreEqual("Alex", dOut.Map1["A"]);

                Aver.AreEqual("Boris", dOut.Map1["b"]);
                Aver.AreEqual("Boris", dOut.Map1["B"]);
            }
        }
Esempio n. 2
0
        public void StringMap_WideCharsLong(int cnt)
        {
            using (var ms = new MemoryStream())
            {
                var s = new SlimSerializer();

                var original1 = new string('久', cnt);
                var original2 = "就是巴尼宝贝儿吧,俺说。有什么怪事儿或是好事儿吗? когда американские авианосцы 'Уинсон' и 'Мидуэй' приблизились 지구상의 3대 we have solved the problem";

                var dIn = new stringMapCls
                {
                    Map1 = new StringMap(false)
                    {
                        { "a", original1 },
                        { "b", original2 }
                    }
                };

                s.Serialize(ms, dIn);
                ms.Seek(0, SeekOrigin.Begin);

                var dOut = (stringMapCls)s.Deserialize(ms);

                Aver.IsNotNull(dOut);
                Aver.IsNotNull(dOut.Map1);
                Aver.IsNull(dOut.Map2);

                Aver.IsFalse(dOut.Map1.CaseSensitive);
                Aver.AreEqual(2, dOut.Map1.Count);


                Aver.AreEqual(original1, dOut.Map1["a"]);
                Aver.AreEqual(original1, dOut.Map1["A"]);

                Aver.AreEqual(original2, dOut.Map1["b"]);
                Aver.AreEqual(original2, dOut.Map1["B"]);
            }
        }
Esempio n. 3
0
        public void StringMap_TwoRefOne_InClass()
        {
            using (var ms = new MemoryStream())
            {
                var s = new SlimSerializer();

                var dIn = new stringMapCls
                {
                    Map1 = new StringMap(false)
                    {
                        { "a", "Alex" },
                        { "b", "Boris" }
                    }
                };
                dIn.Map2 = dIn.Map1; //SAME REF!

                s.Serialize(ms, dIn);
                ms.Seek(0, SeekOrigin.Begin);

                var dOut = (stringMapCls)s.Deserialize(ms);

                Aver.IsNotNull(dOut);
                Aver.IsNotNull(dOut.Map1);
                Aver.IsNotNull(dOut.Map2);

                Aver.IsTrue(object.ReferenceEquals(dOut.Map1, dOut.Map2));//IMPORTANT!

                Aver.IsFalse(dOut.Map1.CaseSensitive);
                Aver.AreEqual(2, dOut.Map1.Count);
                Aver.AreEqual("Alex", dOut.Map1["a"]);
                Aver.AreEqual("Alex", dOut.Map1["A"]);

                Aver.AreEqual("Boris", dOut.Map1["b"]);
                Aver.AreEqual("Boris", dOut.Map1["B"]);
            }
        }
Esempio n. 4
0
        public void StringMap_TwoRefOne_InClass()
        {
            using (var ms = new MemoryStream())
              {
            var s = new SlimSerializer();

            var dIn = new stringMapCls
            {
              Map1 = new StringMap(false)
              {
            {"a", "Alex"},
            {"b", "Boris"}
              }
            };
            dIn.Map2 = dIn.Map1; //SAME REF!

            s.Serialize(ms, dIn);
            ms.Seek(0, SeekOrigin.Begin);

            var dOut = (stringMapCls)s.Deserialize(ms);

            Assert.IsNotNull(dOut);
            Assert.IsNotNull(dOut.Map1);
            Assert.IsNotNull(dOut.Map2);

            Assert.IsTrue( object.ReferenceEquals( dOut.Map1, dOut.Map2 ));//IMPORTANT!

            Assert.IsFalse( dOut.Map1.CaseSensitive );
            Assert.AreEqual( 2, dOut.Map1.Count);
            Assert.AreEqual( "Alex", dOut.Map1["a"]);
            Assert.AreEqual( "Alex", dOut.Map1["A"]);

            Assert.AreEqual( "Boris", dOut.Map1["b"]);
            Assert.AreEqual( "Boris", dOut.Map1["B"]);
              }
        }
Esempio n. 5
0
        public void StringMap_One_InClass()
        {
            using (var ms = new MemoryStream())
              {
            var s = new SlimSerializer();

            var dIn = new stringMapCls
            {
              Map1 = new StringMap(false)
              {
            {"a", "Alex"},
            {"b", "Boris"}
              }
            };

            s.Serialize(ms, dIn);
            ms.Seek(0, SeekOrigin.Begin);

            var dOut = (stringMapCls)s.Deserialize(ms);

            Assert.IsNotNull(dOut);
            Assert.IsNotNull(dOut.Map1);
            Assert.IsNull(dOut.Map2);

            Assert.IsFalse( dOut.Map1.CaseSensitive );
            Assert.AreEqual( 2, dOut.Map1.Count);
            Assert.AreEqual( "Alex", dOut.Map1["a"]);
            Assert.AreEqual( "Alex", dOut.Map1["A"]);

            Assert.AreEqual( "Boris", dOut.Map1["b"]);
            Assert.AreEqual( "Boris", dOut.Map1["B"]);
              }
        }