public void DynamicObjectWithKnownMembersUtf8() { var list = new List <string> { "Hello", "World" }; dynamic dynamicObject = new DynamicObjectWithKnownMembers(); dynamicObject.Value = 5; dynamicObject.Text = "Hello World"; dynamicObject.Supported = new List <string> { "Hello", "World" }; var serialized = JsonSerializer.Generic.Utf8.Serialize(dynamicObject); Assert.NotNull(serialized); var deserialized = JsonSerializer.Generic.Utf8.Deserialize <DynamicObjectWithKnownMembers>(serialized); Assert.NotNull(deserialized); Assert.Equal(5, (int)deserialized.Value); var supported = (List <string>)deserialized.Supported; Assert.NotEmpty(supported); Assert.Equal(list, supported); Assert.Equal("Hello World", (string)deserialized.Text); }
public void DynamicObjectWithKnownMembersUtf8CamelCase() { var list = new List <string> { "Hello", "World" }; dynamic dynamicObject = new DynamicObjectWithKnownMembers(); dynamicObject.Value = 5; dynamicObject.Text = "Hello World"; dynamicObject.Supported = list; dynamicObject.DynamicValue = "Hello Universe"; var serialized = JsonSerializer.Generic.Utf8.Serialize <DynamicObjectWithKnownMembers, ExcludeNullsCamelCaseResolver <byte> >(dynamicObject); Assert.NotNull(serialized); var serializedText = Encoding.UTF8.GetString(serialized); Assert.Contains("\"text\":", serializedText); Assert.Contains("\"value\":", serializedText); Assert.Contains("\"supported\":", serializedText); Assert.Contains("\"dynamicValue\":", serializedText); var deserialized = JsonSerializer.Generic.Utf8.Deserialize <DynamicObjectWithKnownMembers, ExcludeNullsCamelCaseResolver <byte> >(serialized); Assert.NotNull(deserialized); Assert.Equal(5, (int)deserialized.Value); var supported = (List <string>)deserialized.Supported; Assert.NotEmpty(supported); Assert.Equal(list, supported); Assert.Equal("Hello World", (string)deserialized.text); Assert.Equal("Hello Universe", (string)deserialized.dynamicValue); }
public void DynamicObjectWithKnownMembersNotSupportedUtf8() { dynamic dynamicObject = new DynamicObjectWithKnownMembers(); dynamicObject.Value = 5; dynamicObject.Text = "Hello World"; dynamicObject.NotSupported = new ConcreteMember(); var serialized = JsonSerializer.Generic.Utf8.Serialize(dynamicObject); Assert.NotNull(serialized); Assert.Throws <NotSupportedException>(() => JsonSerializer.Generic.Utf8.Deserialize <DynamicObjectWithKnownMembers>(serialized)); }
public void DynamicObjectWithKnownMembersUtf8() { dynamic dynamicObject = new DynamicObjectWithKnownMembers(); dynamicObject.Value = 5; var serialized = JsonSerializer.Generic.Utf8.Serialize(dynamicObject); Assert.NotNull(serialized); var deserialized = JsonSerializer.Generic.Utf8.Deserialize <dynamic>(serialized); Assert.NotNull(deserialized); Assert.Equal(5, (int)dynamicObject.Value); }