public void ReadFrom(string xml)
 {
     using (var reader = new StringReader(xml))
     {
         var actual = UnitVector3D.ReadFrom(XmlReader.Create(reader));
         Assert.AreEqual(UnitVector3D.Create(0.2672612419124244, -0.53452248382484879, 0.80178372573727319), actual);
     }
 }
Example #2
0
        public void XmlRoundTrips()
        {
            var uv         = new UnitVector3D(0.2672612419124244, -0.53452248382484879, 0.80178372573727319);
            var xml        = @"<UnitVector3D X=""0.2672612419124244"" Y=""-0.53452248382484879"" Z=""0.80178372573727319"" />";
            var elementXml = @"<UnitVector3D><X>0.2672612419124244</X><Y>-0.53452248382484879</Y><Z>0.80178372573727319</Z></UnitVector3D>";

            AssertXml.XmlRoundTrips(uv, xml, (e, a) => AssertGeometry.AreEqual(e, a));
            var serializer = new XmlSerializer(typeof(UnitVector3D));
            var actuals    = new[]
            {
                UnitVector3D.ReadFrom(XmlReader.Create(new StringReader(xml))),
                (UnitVector3D)serializer.Deserialize(new StringReader(xml)),
                (UnitVector3D)serializer.Deserialize(new StringReader(elementXml))
            };

            foreach (var actual in actuals)
            {
                AssertGeometry.AreEqual(uv, actual);
            }
        }