public void CanConvertString()
        {
            using var fs       = File.Open(GetFileName("JsonFormattedStringString.json"), FileMode.Open, FileAccess.Read, FileShare.Read);
            using var document = JsonDocument.Parse(fs);
            var data = ModelWithBinaryData.DeserializeModelWithBinaryData(document.RootElement);

            Assert.AreEqual("a.value", data.A);
            Assert.AreEqual("1", data.Properties.ToObjectFromJson <string>());
        }
Esempio n. 2
0
        public void SerailizeUsingJsonFormattedString()
        {
            var expected = File.ReadAllText(GetFileName("JsonFormattedString.json")).TrimEnd();

            var payload = new ModelWithBinaryData {
                A = "a.value"
            };

            payload.Properties = BinaryData.FromString(File.ReadAllText(GetFileName("Properties.json")).TrimEnd());

            string actual = GetSerializedString(payload);

            Assert.AreEqual(expected, actual);
        }
Esempio n. 3
0
        public void DeserializeJsonFormattedStringWithBinaryData()
        {
            using (var fs = new FileStream(GetFileName("JsonFormattedString.json"), FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                using var document = JsonDocument.Parse(fs);
                var data = ModelWithBinaryData.DeserializeModelWithBinaryData(document.RootElement);
                Assert.AreEqual("a.value", data.A);

                var properties = data.Properties.ToDictionaryFromJson();
                Assert.AreEqual("properties.a.value", properties["a"]);
                var innerProperties = properties["innerProperties"] as IDictionary <string, object>;
                Assert.AreEqual("properties.innerProperties.a.value", innerProperties["a"]);
            }
        }
Esempio n. 4
0
        public void SerailizeUsingStream()
        {
            var expected = File.ReadAllText(GetFileName("JsonFormattedString.json")).TrimEnd();

            var payload = new ModelWithBinaryData {
                A = "a.value"
            };

            using var fs       = File.Open(GetFileName("Properties.json"), FileMode.Open, FileAccess.Read, FileShare.Read);
            payload.Properties = BinaryData.FromStream(fs);

            string actual = GetSerializedString(payload);

            //for some reason in dotnet 6 only there is a random new line after the binarydata object
            //to make this work in all frameworks we will just do a comparison ignoring whitespace
            Assert.IsTrue(CompareIgnoreWhitespace(expected, actual));
        }
Esempio n. 5
0
        public void SerailizeUsingDictStringObject()
        {
            var expected = File.ReadAllText(GetFileName("JsonFormattedString.json")).TrimEnd();

            var payload = new ModelWithBinaryData {
                A = "a.value"
            };
            var properties      = new Dictionary <string, object>();
            var innerProperties = new Dictionary <string, object>();

            properties.Add("a", "properties.a.value");
            innerProperties.Add("a", "properties.innerProperties.a.value");
            properties.Add("innerProperties", innerProperties);
            payload.Properties = BinaryData.FromObjectAsJson(properties);

            string actual = GetSerializedString(payload);

            Assert.AreEqual(expected, actual);
        }