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"]); } }
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"]); } }
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"]); } }
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"]); } }
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"]); } }