Ejemplo n.º 1
0
        public void InterfaceObject_WithMissingKnownTypeInformation_ThrowsSerializationException()
        {
            var testObject = new TestInterfaceObject {
                Quantity = new Volume(1.2, VolumeUnit.Microliter)
            };

            Assert.Throws <SerializationException>(() => SerializeObject(testObject));
        }
Ejemplo n.º 2
0
        public void InterfaceObject_IncludesTypeInformation()
        {
            var testObject = new TestInterfaceObject {
                Quantity = new Information(1.20m, InformationUnit.Exabyte)
            };
            var expectedJson = "{\"Quantity\":{\"Value\":1.20,\"Unit\":\"EB\",\"Type\":\"Information\"}}";

            var json = SerializeObject(testObject);

            Assert.Equal(expectedJson, json);
        }
Ejemplo n.º 3
0
        public void InterfaceObject_SerializesWithoutKnownTypeInformation()
        {
            var testObject = new TestInterfaceObject {
                Quantity = new Volume(1.2, VolumeUnit.Microliter)
            };

            var expectedJson = "{\"Quantity\":{\"Value\":1.2,\"Unit\":\"µl\",\"Type\":\"Volume\"}}";

            var json = SerializeObject(testObject);

            Assert.Equal(expectedJson, json);
        }
        public void InterfaceObject_IncludesTypeInformation()
        {
            var testObject = new TestInterfaceObject {
                Quantity = new Information(1.20m, InformationUnit.Exabyte)
            };

            var quantityNamespace   = "xmlns:a=\"http://schemas.datacontract.org/2004/07/UnitsNet\""; // there is an extra 'a' compared to Namespace
            var expectedQuantityXml = $"<Quantity i:type=\"a:Information\" {quantityNamespace}><a:Value>1.20</a:Value><a:Unit>Exabyte</a:Unit></Quantity>";
            var expectedXml         = $"<TestInterfaceObject xmlns=\"http://schemas.datacontract.org/2004/07/UnitsNet.Tests.Serialization\" {XmlSchema}>{expectedQuantityXml}</TestInterfaceObject>";

            var xml = SerializeObject(testObject);

            Assert.Equal(expectedXml, xml);
        }