public void TestIssue111() { var context = new SerializationContext { SerializationMethod = SerializationMethod.Map, EnumSerializationOptions = { SerializationMethod = EnumSerializationMethod.ByName }, CompatibilityOptions = { PackerCompatibilityOptions = PackerCompatibilityOptions.None } }; var serializer = context.GetSerializer <Dictionary <string, object> >(); var dict = new Dictionary <string, object>(); dict["a"] = "x"; dict["b"] = true; dict["c"] = 5; dict["myclass"] = new Issue111Class() { x = 8, y = "ola" }; byte[] body = serializer.PackSingleObject(dict); using (var stream = new MemoryStream(body)) { var unpackedDictionary = Unpacking.UnpackDictionary(stream); Assert.That(unpackedDictionary.Count, Is.EqualTo(4)); Assert.That(unpackedDictionary["a"] == "x"); Assert.That(unpackedDictionary["b"] == true); Assert.That(unpackedDictionary["c"] == 5); Assert.That(unpackedDictionary["myclass"].IsDictionary); var myClass = unpackedDictionary["myclass"].AsDictionary(); Assert.That(myClass["x"] == 8); Assert.That(myClass["y"] == "ola"); } }
public void TestIssue111() { var context = new SerializationContext { SerializationMethod = SerializationMethod.Map, EnumSerializationMethod = EnumSerializationMethod.ByName, CompatibilityOptions = { PackerCompatibilityOptions = PackerCompatibilityOptions.None } }; var serializer = context.GetSerializer<Dictionary<string, object>>(); var dict = new Dictionary<string, object>(); dict[ "a" ] = "x"; dict[ "b" ] = true; dict[ "c" ] = 5; dict[ "myclass" ] = new Issue111Class() { x = 8, y = "ola" }; byte[] body = serializer.PackSingleObject( dict ); using ( var stream = new MemoryStream( body ) ) { var unpackedDictionary = Unpacking.UnpackDictionary( stream ); Assert.That( unpackedDictionary.Count, Is.EqualTo( 4 ) ); Assert.That( unpackedDictionary[ "a" ] == "x" ); Assert.That( unpackedDictionary[ "b" ] == true ); Assert.That( unpackedDictionary[ "c" ] == 5 ); Assert.That( unpackedDictionary[ "myclass" ].IsDictionary ); var myClass = unpackedDictionary[ "myclass" ].AsDictionary(); Assert.That( myClass[ "x" ] == 8 ); Assert.That( myClass[ "y" ] == "ola" ); } }