public void SerailizeUsingJsonFormattedStringForDictOfBinaryData() { #if NET461 var expected = File.ReadAllText(GetFileName("JsonFormattedStringDictOfBinaryDataNet461.json")).TrimEnd(); #else var expected = File.ReadAllText(GetFileName("JsonFormattedStringDictOfBinaryData.json")).TrimEnd(); #endif var payload = new ModelWithBinaryDataInDictionary { A = "a.value" }; var details = new Dictionary <string, BinaryData>(); details["strValue"] = BinaryData.FromObjectAsJson("1"); details["intValue"] = BinaryData.FromObjectAsJson(1); details["doubleValue"] = BinaryData.FromObjectAsJson(1.1); var innerProperties = new Dictionary <string, object>(); innerProperties["strValue"] = "2"; innerProperties["intValue"] = 2; innerProperties["doubleValue"] = 2.2; details["innerProperties"] = BinaryData.FromObjectAsJson(innerProperties); payload.Details = details; string actual = GetSerializedString(payload); Assert.AreEqual(expected, actual); }
public void DeserializeModelWithDictionaryOfBinaryData() { using var fs = File.Open(GetFileName("JsonFormattedStringDictOfBinaryData.json"), FileMode.Open, FileAccess.Read, FileShare.Read); using var document = JsonDocument.Parse(fs); var data = ModelWithBinaryDataInDictionary.DeserializeModelWithBinaryDataInDictionary(document.RootElement); Assert.AreEqual("a.value", data.A); Assert.AreEqual("1", data.Details["strValue"].ToObjectFromJson <string>()); Assert.IsTrue(data.Details["strValue"].ToObjectFromJson() is string); Assert.AreEqual(1, data.Details["intValue"].ToObjectFromJson <int>()); Assert.IsTrue(data.Details["intValue"].ToObjectFromJson() is int); Assert.AreEqual(1.1, data.Details["doubleValue"].ToObjectFromJson <double>()); Assert.IsTrue(data.Details["doubleValue"].ToObjectFromJson() is double); var toObjectWithT = data.Details["innerProperties"].ToObjectFromJson <Dictionary <string, object> >(); var jsonElementObject = data.Details["innerProperties"].ToObjectFromJson <object>(); Assert.IsTrue(jsonElementObject is JsonElement); var jsonDictionary = data.Details["innerProperties"].ToObjectFromJson(); Assert.IsTrue(jsonDictionary is Dictionary <string, object>); Assert.IsTrue(toObjectWithT["strValue"] is JsonElement); var dict = data.Details["innerProperties"].ToObjectFromJson() as Dictionary <string, object>; Assert.AreEqual("2", (string)dict["strValue"]); Assert.AreEqual(2, (int)dict["intValue"]); Assert.AreEqual(2.2, (double)dict["doubleValue"]); }