public void CanRoundtrip_Default() { var orig = new MyObject_Default { MyDictionary = GetData() }; var clone = Serializer.DeepClone(orig); Assert.Equal(2, clone.MyDictionary.Count); Assert.Equal(34.5M, clone.MyDictionary[12]); Assert.Null(clone.MyDictionary[67]); }
public void CanRoundtrip_Default() { var orig = new MyObject_Default { MyDictionary = GetData() }; using var ms = new MemoryStream(); Serializer.Serialize(ms, orig); var hex = BitConverter.ToString(ms.GetBuffer(), 0, (int)ms.Length); Assert.Equal("12-09-08-0C-12-05-08-D9-02-18-02-12-02-08-43", hex); /* * 12 = field 2, type String * 09 = length 9 * 08 = field 1, type Variant * 0C = 12 (raw) or 6 (zigzag) * 12 = field 2, type String * 05 = length 5 * 08 = field 1, type Variant * D9-02 = 345 (raw) or -173 (zigzag) * 18 = field 3, type Variant <== scale * 02 = 2 (raw) or 1 (zigzag) * 12 = field 2, type String * 02 = length 2 * 08 = field 1, type Variant * 43 = 67 (raw) or -34 (zigzag) */ ms.Position = 0; var clone = Serializer.Deserialize <MyObject_Default>(ms); Assert.NotNull(clone.MyDictionary); Assert.Equal(2, clone.MyDictionary.Count); Assert.Equal(34.5M, clone.MyDictionary[12]); Assert.Null(clone.MyDictionary[67]); }