public void Test1()
        {
            var o = new Test
            {
                String   = "MyTest",
                Integer  = 5,
                Float    = 4.5f,
                Children = new List <Test>
                {
                    new Test {
                        String = "Child1"
                    },
                    new Test {
                        String = "Child2"
                    }
                }
            };
            var formatter = new XmlFormatter();
            var m         = new MemoryStream();

            formatter.Serialize(m, o);
            m.Position = 0;
            System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
            var d = (Test)formatter.Deserialize(m);

            Assert.IsTrue(DeepComparer.Compare(o, d));
        }
Ejemplo n.º 2
0
        public void MultiArrayTest()
        {
            var cut = new XmlFormatter <ArrayData>();

            var data = new ArrayData
            {
                Numbers = new int[3, 2]
                {
                    { 1, 2 }, { 3, 4 }, { 5, 6 }
                }
            };

            cut.Serialize(data, Filename);
            var read = cut.Deserialize(Filename);

            var dataN = data.Numbers;
            var readN = read.Numbers;

            Assert.AreEqual(dataN.Length, readN.Length);
            Assert.AreEqual(dataN.Rank, readN.Rank);
            Assert.AreEqual(dataN.GetUpperBound(0), readN.GetUpperBound(0));
            Assert.AreEqual(dataN.GetUpperBound(1), readN.GetUpperBound(1));

            for (var i = 0; i < dataN.GetUpperBound(0); i++)
            {
                for (int j = 0; j < dataN.GetUpperBound(1); j++)
                {
                    Assert.AreEqual(dataN[i, j], readN[i, j], $"Array[{i},{j}]");
                }
            }
        }
Ejemplo n.º 3
0
        private IRecipe SaveRecipeCore(string filename, IRecipe recipe)
        {
            if (filename == null)
            {
                throw new ArgumentNullException("fileName");
            }
            if (string.IsNullOrEmpty(filename))
            {
                throw new ArgumentException("FileName cannot be null");
            }
            if (recipe == null)
            {
                throw new ArgumentNullException("recipe");
            }
            var formatter = new XmlFormatter();

            Meal.Svc.Persistance.Recipe r = recipe as Meal.Svc.Persistance.Recipe ?? Meal.Svc.Persistance.Recipe.FromRecipe(recipe);

            using (var stream = System.IO.File.Create(filename))
            {
                formatter.Serialize(stream, r);
                stream.Close();
            }
            return(recipe);
        }
Ejemplo n.º 4
0
        public void WriteAndReadSafeData()
        {
            var cut = new XmlFormatter <SafeData>();

            const string Secret = "S*ecret";

            var data = new SafeData
            {
                Password = Secret
            };

            var stream = new MemoryStream();

            cut.Serialize(data, stream);

            stream.Position = 0;

            var read = cut.Deserialize(stream);

            stream.Position = 0;
            using (var reader = new StreamReader(stream))
            {
                var text = reader.ReadToEnd();
                Assert.IsTrue(!text.Contains(Secret), "serialization contains secret");
            }

            Assert.AreEqual(data.Password, read.Password);
        }
Ejemplo n.º 5
0
        public void SerializationShallowLineTest()
        {
            Link object1 = new Link();

            //Serialize the object
            MemoryStream stream     = new MemoryStream();
            XmlFormatter serializer = new XmlFormatter();

            serializer.Shallow = true;
            serializer.Serialize(stream, object1);
            stream.Position = 0; // reset the stream to the beginning
            SqlXml xml = new SqlXml(stream);

            //Recreate the object in object 2 using object 1 as the target
            Link object2;

            serializer.Target = object1;

            using (MemoryStream stream2 = new MemoryStream(Encoding.UTF8.GetBytes(xml.Value)))
            {
                object2 = (Link)serializer.Deserialize(stream2);
            }

            Assert.IsTrue(object1 == object2);
        }
Ejemplo n.º 6
0
        public void SerializationExternalAssemblyTest()
        {
            SubElement object1 = new SubElement();

            SurrogateSelector selector = new SurrogateSelector();

            selector.AddSurrogate(typeof(SubElement), new StreamingContext(StreamingContextStates.All), new ElementSerialize());

            //Serialize the object
            MemoryStream stream     = new MemoryStream();
            XmlFormatter serializer = new XmlFormatter();

            serializer.SurrogateSelector = selector;
            serializer.Serialize(stream, object1);
            stream.Position = 0; // reset the stream to the beginning
            SqlXml xml = new SqlXml(stream);

            //Recreate the object in object 2
            Element object2;

            using (MemoryStream stream2 = new MemoryStream(Encoding.UTF8.GetBytes(xml.Value)))
            {
                object2 = (Element)serializer.Deserialize(stream2);
            }
        }
Ejemplo n.º 7
0
        public void SerializationElementListTest()
        {
            ElementList object1 = new ElementList(true);
            Shape       shape1  = new Shape();
            Shape       shape2  = new Shape();

            shape1.Location = new PointF(10, 10);
            shape2.Location = new PointF(20, 20);

            object1.Add(shape1);
            object1.Add(shape2);

            //Serialize the object
            MemoryStream stream     = new MemoryStream();
            XmlFormatter serializer = new XmlFormatter();

            serializer.Serialize(stream, object1);
            stream.Position = 0; // reset the stream to the beginning
            SqlXml xml = new SqlXml(stream);

            //Recreate the object in object 2
            ElementList object2;

            using (MemoryStream stream2 = new MemoryStream(Encoding.UTF8.GetBytes(xml.Value)))
            {
                object2 = (ElementList)serializer.Deserialize(stream2);
            }

            Shape shape3 = object2[0] as Shape;
            Shape shape4 = object2[1] as Shape;

            Assert.IsTrue(object2.Count == 2, "ElementList collection does not contain 2 items.");
            Assert.IsTrue(shape3.Location == new PointF(10, 10), "Collection item 'shape1' location not deserialized correctly.");
            Assert.IsTrue(shape4.Location == new PointF(20, 20), "Collection item 'shape2' location not deserialized correctly.");
        }
Ejemplo n.º 8
0
        public void SerializationShapesTest()
        {
            Shapes object1 = new Shapes(new Model());
            Shape  shape1  = new Shape();
            Shape  shape2  = new Shape();

            shape1.Location = new PointF(10, 10);
            shape2.Location = new PointF(20, 20);

            object1.Add("shape1", shape1);
            object1.Add("shape2", shape2);

            //Serialize the object
            MemoryStream stream     = new MemoryStream();
            XmlFormatter serializer = new XmlFormatter();

            serializer.Serialize(stream, object1);
            stream.Position = 0; // reset the stream to the beginning
            SqlXml xml = new SqlXml(stream);

            //Recreate the object in object 2
            Shapes object2;

            using (MemoryStream stream2 = new MemoryStream(Encoding.UTF8.GetBytes(xml.Value)))
            {
                object2 = (Shapes)serializer.Deserialize(stream2);
            }

            Assert.IsTrue(object2.Count == 2, "Shapes collection does not contain 2 items.");
            Assert.IsTrue(object2.ContainsKey("shape1"), "Shapes collection does not contain key 'shape1'.");
            Assert.IsTrue(object2.ContainsKey("shape2"), "Shapes collection does not contain key 'shape2'.");
            Assert.IsTrue(object2["shape1"].Location == new PointF(10, 10), "Collection item 'shape1' location not deserialized correctly.");
            Assert.IsTrue(object2["shape2"].Location == new PointF(20, 20), "Collection item 'shape2' location not deserialized correctly.");
            Assert.IsTrue(object2.Model != null, "Shapes Model not deserialized correctly.");
        }
Ejemplo n.º 9
0
        public void SerializationBlankTest()
        {
            //Serialize an element with a blank serializer
            Element object1 = new Element();

            //Serialize the object
            MemoryStream stream     = new MemoryStream();
            XmlFormatter serializer = new XmlFormatter();

            SurrogateSelector selector = new SurrogateSelector();
            StreamingContext  context  = new StreamingContext(StreamingContextStates.All); //Need to ensure a context is supplied

            selector.AddSurrogate(typeof(Element), context, new BlankSerialize());
            serializer.SurrogateSelector = selector;

            serializer.Serialize(stream, object1);
            stream.Position = 0; // reset the stream to the beginning
            SqlXml xml = new SqlXml(stream);

            //Recreate the object in object 2
            Element object2;

            using (MemoryStream stream2 = new MemoryStream(Encoding.UTF8.GetBytes(xml.Value)))
            {
                object2 = (Element)serializer.Deserialize(stream2);
            }
        }
Ejemplo n.º 10
0
        public void WriteAndReadBadSubData()
        {
            var cut  = new XmlFormatter <SomeData>();
            var data = new SomeData
            {
                Name            = null,
                Number          = 0.42M + GetHashCode(),
                DataAfterObject = $"Some text after object at {GetHashCode()}",
                SubData         = new BadSubData($"Info at {GetHashCode()}"),
                Names           = new[] { "Name1", "Name2" },
            };

            cut.Serialize(data, Filename);
            var read = cut.Deserialize(Filename);

            Assert.AreEqual(data.Name, read.Name);
            Assert.AreEqual(data.Number, read.Number);
            Assert.AreEqual(data.YesNo, read.YesNo);
            Assert.AreEqual(data.Value, read.Value);
            Assert.AreNotEqual(data.SubData.Info, read.SubData.Info);
            Assert.AreEqual(data.DataAfterObject, read.DataAfterObject);
            Assert.AreNotEqual(data.NotGood, read.NotGood);
            Assert.AreEqual(data.Names.Length, read.Names.Length);
            for (var i = 0; i < data.Names.Length; i++)
            {
                Assert.AreEqual(data.Names[i], read.Names[i], $"Names[{i}] differ");
            }
        }
Ejemplo n.º 11
0
        protected virtual void CreatePackage(Stream stream)
        {
            using (Package package = ZipPackage.Open(stream, FileMode.Create))
            {
                Uri         collectionUri = new Uri("/Content/Collection.xml", UriKind.Relative);
                PackagePart part          = package.CreatePart(collectionUri, System.Net.Mime.MediaTypeNames.Text.Xml, CompressionOption.Maximum);

                //Serialize the model into the part stream
                XmlFormatter formatter = Formatter;
                formatter.Shallow = false;

                formatter.Serialize(part.GetStream(), Model);

                package.CreateRelationship(part.Uri, TargetMode.Internal, "Main Document");

                //Loop through all resources and create parts
                foreach (string key in Formatter.Resources.Keys)
                {
                    Uri           resourceUri = new Uri(key, UriKind.Relative);
                    ResourceEntry entry       = Formatter.Resources[key];

                    //Need to use a valid mime type otherwise a null reference error occurs
                    PackagePart resourcePart = package.CreatePart(resourceUri, entry.GetMimeType(), CompressionOption.Maximum);
                    entry.SaveResourceStream(resourcePart.GetStream());
                    PackageRelationship relationship = package.CreateRelationship(resourcePart.Uri, TargetMode.Internal, "Resource");
                }

                //Close the package and save all the underlying streams
                package.Close();
            }
        }
        protected virtual void WriteToFile(Map map, string filename, ZipFile mapFile)
        {
            var mapBaseFileName = map.MapName;

            mapFile.AddEntry(GetStaticFileName(), (name, f) =>
                             formatter.Serialize(f, map.StaticData));

            mapFile.AddEntry(GetDynamicFileName(), (name, f) =>
                             formatter.Serialize(f, map.DynamicData));

            foreach (var language in map.StringLocalizationStorage.GetLanguages())
            {
                string fn = null;
                if (language == "en")
                {
                    fn = "strings.resx";
                }
                else
                {
                    fn = "strings." + language + ".resx";
                }

                mapFile.AddEntry(fn, (name, stream) =>
                                 map.StringLocalizationStorage.WriteLanguageToStream(language, stream));
            }

            mapFile.AddEntry(GetSettingsFileName(), (name, f) =>
                             formatter.Serialize(f, map.Settings));

            if (map.Ground.SplatMap1 != null)
            {
                mapFile.AddEntry(GetSplatTexture1FileName(), (name, stream) =>
                                 SlimDX.Direct3D9.BaseTexture.ToStream(map.Ground.SplatMap1.Resource9,
                                                                       SlimDX.Direct3D9.ImageFileFormat.Png).CopyTo(stream));
            }

            if (map.Ground.SplatMap2 != null)
            {
                mapFile.AddEntry(GetSplatTexture2FileName(), (name, stream) =>
                                 SlimDX.Direct3D9.BaseTexture.ToStream(map.Ground.SplatMap2.Resource9,
                                                                       SlimDX.Direct3D9.ImageFileFormat.Png).CopyTo(stream));
            }


            mapFile.AddEntry(GetHeightmapFileName(), (name, stream) =>
                             SerializeHeightmap(map, stream));
        }
Ejemplo n.º 13
0
        internal ProfileContainer Clone()
        {
            var formatter = new XmlFormatter <ProfileContainer>();
            var stream    = new MemoryStream();

            formatter.Serialize(this, stream);
            stream.Position = 0;
            return(formatter.Deserialize(stream));
        }
Ejemplo n.º 14
0
        public void WriteAndRead()
        {
            var cut  = new XmlFormatter <SomeData>();
            var data = new SomeData
            {
                Name            = null,
                Number          = 0.42M + GetHashCode(),
                Time            = DateTime.Now,
                Span            = TimeSpan.FromMilliseconds(457575578),
                DataAfterObject = $"Some text after object at {GetHashCode()}",
                SubData         = new SubData
                {
                    Info = $"Info at {GetHashCode()}"
                },
                Names    = new[] { "Name1", "Name2" },
                Products = { "product1", "product2", "product3" },
                SubDatas =
                {
                    { "Test1", new SubData {
                          Info = $"Test1 dictionary at {GetHashCode()}"
                      } },
                    { "Test2", new SubData {
                          Info = $"Test2 dictionary at {GetHashCode()}"
                      } }
                },
                Location = new Point(5, 6)
            };

            cut.Serialize(data, Filename);
            var read = cut.Deserialize(Filename);

            Assert.AreEqual(data.Name, read.Name);
            Assert.AreEqual(data.Number, read.Number);
            Assert.AreEqual(data.Time, read.Time);
            Assert.AreEqual(data.Span, read.Span);
            Assert.AreEqual(data.YesNo, read.YesNo);
            Assert.AreEqual(data.Value, read.Value);
            Assert.AreEqual(data.Location, read.Location);
            Assert.AreEqual(data.SubData.Info, read.SubData.Info);
            Assert.AreEqual(data.DataAfterObject, read.DataAfterObject);
            Assert.AreNotEqual(data.NotGood, read.NotGood);
            Assert.AreEqual(data.Names.Length, read.Names.Length);
            for (var i = 0; i < data.Names.Length; i++)
            {
                Assert.AreEqual(data.Names[i], read.Names[i], $"Names[{i}] differ");
            }
            Assert.AreEqual(data.Products.Count, read.Products.Count);
            for (var i = 0; i < data.Products.Count; i++)
            {
                Assert.AreEqual(data.Products[i], read.Products[i], $"Products[{i}] differ");
            }
            Assert.AreEqual(data.SubDatas.Count, read.SubDatas.Count);
            foreach (var key in data.SubDatas.Keys)
            {
                Assert.AreEqual(data.SubDatas[key].Info, read.SubDatas[key].Info);
            }
        }
Ejemplo n.º 15
0
        protected string ToHttpString()
        {
            XmlFormatter formatter = new XmlFormatter();
            //BinaryFormatter formatter = new BinaryFormatter();

            MemoryStream stream = new MemoryStream();

            formatter.Serialize(stream, this);
            stream.Close();

            byte[] b = stream.ToArray();
            return(Uri.EscapeDataString(Convert.ToBase64String(b)));
        }
Ejemplo n.º 16
0
        public void ContainerTest()
        {
            var cut = new XmlFormatter <Container <string> >();

            var input = new Container <string> {
                Data = "Hello"
            };

            cut.Serialize(input, Filename);
            var read = cut.Deserialize(Filename);

            Assert.AreEqual(input.Data, read.Data);
        }
Ejemplo n.º 17
0
        public void WriteAndReadCultureName()
        {
            var cut  = new XmlFormatter <SomeData>();
            var data = new SomeData
            {
                Name = "äöü ÄÖÜ ß &<>"
            };

            cut.Serialize(data, Filename);
            var read = cut.Deserialize(Filename);

            Assert.AreEqual(data.Name, read.Name);
        }
Ejemplo n.º 18
0
        public void WriteAndReadWithoutGenerics()
        {
            var cut  = new XmlFormatter(typeof(SomeData));
            var data = new SomeData
            {
                Name            = null,
                Number          = 0.42M + GetHashCode(),
                DataAfterObject = $"Some text after object at {GetHashCode()}",
                SubData         = new SubData
                {
                    Info = $"Info at {GetHashCode()}"
                },
                Names    = new[] { "Name1", "Name2" },
                Products = { "product1", "product2", "product3" },
                SubDatas =
                {
                    { "Test1", new SubData {
                          Info = $"Test1 dictionary at {GetHashCode()}"
                      } },
                    { "Test2", new SubData {
                          Info = $"Test2 dictionary at {GetHashCode()}"
                      } }
                }
            };

            cut.Serialize(data, Filename);
            var read = (SomeData)cut.Deserialize(Filename);

            Assert.AreEqual(data.Name, read.Name);
            Assert.AreEqual(data.Number, read.Number);
            Assert.AreEqual(data.YesNo, read.YesNo);
            Assert.AreEqual(data.Value, read.Value);
            Assert.AreEqual(data.SubData.Info, read.SubData.Info);
            Assert.AreEqual(data.DataAfterObject, read.DataAfterObject);
            Assert.AreNotEqual(data.NotGood, read.NotGood);
            Assert.AreEqual(data.Names.Length, read.Names.Length);
            for (var i = 0; i < data.Names.Length; i++)
            {
                Assert.AreEqual(data.Names[i], read.Names[i], $"Names[{i}] differ");
            }
            Assert.AreEqual(data.Products.Count, read.Products.Count);
            for (var i = 0; i < data.Products.Count; i++)
            {
                Assert.AreEqual(data.Products[i], read.Products[i], $"Products[{i}] differ");
            }
            Assert.AreEqual(data.SubDatas.Count, read.SubDatas.Count);
            foreach (var key in data.SubDatas.Keys)
            {
                Assert.AreEqual(data.SubDatas[key].Info, read.SubDatas[key].Info);
            }
        }
 private string ConvertToStoredValue(MultiCulturalString typedValue)
 {
     using (Stream stream = new MemoryStream())
     {
         IFormatter formatter = new XmlFormatter(typeof(MultiCulturalString), "http://custis.ru/i18n");
         formatter.Serialize(stream, typedValue);
         stream.Flush();
         stream.Position = 0;
         using (TextReader reader = new StreamReader(stream))
         {
             return(reader.ReadToEnd());
         }
     }
 }
Ejemplo n.º 20
0
        private static void ExceptionSerializationTest()
        {
            var formatter = new XmlFormatter();
            var ms        = new MemoryStream();

            try
            {
                formatter.Serialize(ms, new NotImplementedException("test ex 23432"), typeof(Exception));
            }
            catch (Exception ex)
            {
            }

            try
            {
                var exObject = new ServiceException("test ex 234234");
                var type     = exObject.GetType();
                formatter.Serialize(ms, exObject, type);
                ms.Position = 0;
                var dexObj = formatter.Deserialize(ms, type);
            }
            catch (Exception ex)
            {
            }

            try
            {
                var exObject = new NotImplementedException("test ex 23432");
                var type     = exObject.GetType();
                formatter.Serialize(ms, exObject, type);
                ms.Position = 0;
                var dexObj = formatter.Deserialize(ms, type);
            }
            catch (Exception ex)
            {
            }
        }
Ejemplo n.º 21
0
 public void TestSerialize()
 {
     using (Stream stream = new MemoryStream())
     {
         IFormatter formatter = new XmlFormatter(typeof(MultiCulturalString), "http://custis.ru/i18n");
         formatter.Serialize(stream, _mcs);
         stream.Flush();
         stream.Position = 0;
         using (TextReader reader = new StreamReader(stream))
         {
             var result = reader.ReadToEnd();
             Assert.AreEqual(_serializedMcs, result);
         }
     }
 }
Ejemplo n.º 22
0
        public IRecipe SaveRecipe(string filename, IRecipe recipe)
        {
            var formatter = new XmlFormatter();

            Meal.Svc.Persistance.Recipe r = recipe as Meal.Svc.Persistance.Recipe ?? Meal.Svc.Persistance.Recipe.FromRecipe(recipe);

            using (var stream = System.IO.File.Create(filename))
            {
                //XamlWriter.Save (r, stream);

                formatter.Serialize(stream, r);
                stream.Close();
            }
            return(recipe);
        }
Ejemplo n.º 23
0
        internal bool Save(string folder)
        {
            var filename = Path.Combine(folder, Filename);

            try
            {
                var formatter = new XmlFormatter <ImportState>();
                formatter.Serialize(this, filename);
                return(true);
            }
            catch (Exception exeption)
            {
                Trace.WriteLine($"failed - {filename} - {exeption.Message}", "state save");
            }
            return(false);
        }
Ejemplo n.º 24
0
        public void MemoryTest()
        {
            var cut = new XmlFormatter <Container <string> >();

            var input = new Container <string> {
                Data = "Hello"
            };

            var stream = new MemoryStream();

            cut.Serialize(input, stream);
            stream.Position = 0;

            var read = cut.Deserialize(stream);

            Assert.AreEqual(input.Data, read.Data);
        }
Ejemplo n.º 25
0
        public void SerializationDeepTargetTest()
        {
            //Set up the model
            Model model = new Model();

            model.SetSize(new SizeF(1000, 1000)); //Set the container size so that the shape can be moved

            //Set up a shape element
            Shape shape = new Shape();

            shape.Location = new PointF(100, 100);
            model.Shapes.Add("Shape1", shape);

            //Set up another shape element
            Shape shape2 = new Shape();

            shape2.Location = new PointF(200, 200);
            model.Shapes.Add("Shape2", shape2);

            //Connect with a line
            Link line = new Link(shape, shape2);

            model.Lines.Add("Line1", line);

            //Serialize the model
            MemoryStream stream     = new MemoryStream();
            XmlFormatter serializer = new XmlFormatter();

            serializer.Shallow = false;

            serializer.Serialize(stream, model);
            stream.Position = 0; // reset the stream to the beginning
            SqlXml xml = new SqlXml(stream);

            //Stream the data back into the same model object
            serializer.Target = model;

            using (MemoryStream stream2 = new MemoryStream(Encoding.UTF8.GetBytes(xml.Value)))
            {
                serializer.Deserialize(stream2);
            }

            Assert.IsTrue(model.Shapes.Count == 2, "Shapes count not set back to 2.");
            Assert.IsTrue(model.Lines.Count == 1, "Line count not set back to 1.");
        }
Ejemplo n.º 26
0
        public void SimpleArrayTest()
        {
            var cut = new XmlFormatter <ArrayData>();

            var data = new ArrayData
            {
                Names = new[] { "Alice", "Bob", "Charles" }
            };

            cut.Serialize(data, Filename);
            var read = cut.Deserialize(Filename);

            Assert.AreEqual(data.Names.Length, read.Names.Length);
            for (int i = 0; i < data.Names.Length; i++)
            {
                Assert.AreEqual(data.Names[i], read.Names[i], $"Names[{i}]");
            }
        }
Ejemplo n.º 27
0
        public void QueueTest()
        {
            var cut = new XmlFormatter <CollectionData>();

            var data = new CollectionData
            {
                Queued = new Queue <string>(new[] { "Alice", "Bob", "Charles" })
            };

            cut.Serialize(data, Filename);
            var read = cut.Deserialize(Filename);

            Assert.AreEqual(data.Queued.Count, read.Queued.Count);
            while (read.Queued.Count > 0)
            {
                Assert.AreEqual(data.Queued.Dequeue(), read.Queued.Dequeue());
            }
        }
Ejemplo n.º 28
0
        public void SerializationSubclassTest()
        {
            Link object1 = new Link(new Point(100, 100), new Point(200, 200));//Create a line with the same origin for testing

            //Serialize the object
            MemoryStream stream     = new MemoryStream();
            XmlFormatter serializer = new XmlFormatter();

            serializer.Serialize(stream, object1);
            stream.Position = 0; // reset the stream to the beginning
            SqlXml xml = new SqlXml(stream);

            //Recreate the object in object 2
            Link object2;

            using (MemoryStream stream2 = new MemoryStream(Encoding.UTF8.GetBytes(xml.Value)))
            {
                object2 = (Link )serializer.Deserialize(stream2);
            }
        }
Ejemplo n.º 29
0
        public void SerializationShapeTest()
        {
            Shape object1 = new Shape();

            //Serialize the object
            MemoryStream stream     = new MemoryStream();
            XmlFormatter serializer = new XmlFormatter();

            serializer.Serialize(stream, object1);
            stream.Position = 0; // reset the stream to the beginning
            SqlXml xml = new SqlXml(stream);

            //Recreate the object in object 2
            Shape object2;

            using (MemoryStream stream2 = new MemoryStream(Encoding.UTF8.GetBytes(xml.Value)))
            {
                object2 = (Shape)serializer.Deserialize(stream2);
            }
        }
Ejemplo n.º 30
0
        public void ListOfTTest()
        {
            var cut = new XmlFormatter <CollectionData>();

            var data = new CollectionData
            {
                Names = new List <string> {
                    "Alice", "Bob", "Charles"
                }
            };

            cut.Serialize(data, Filename);
            var read = cut.Deserialize(Filename);

            Assert.AreEqual(data.Names.Count, read.Names.Count);
            for (var i = 0; i < read.Names.Count; i++)
            {
                Assert.AreEqual(data.Names[i], read.Names[i], $"Names[{i}]");
            }
        }
 public void Test1()
 {
     var o = new Test
     {
         String = "MyTest",
         Integer = 5,
         Float = 4.5f,
         Children = new List<Test>
     {
         new Test { String = "Child1" },
         new Test { String = "Child2" }
     }
     };
     var formatter = new XmlFormatter();
     var m = new MemoryStream();
     formatter.Serialize(m, o);
     m.Position = 0;
     System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
     var d = (Test)formatter.Deserialize(m);
     Assert.IsTrue(DeepComparer.Compare(o, d));
 }
        private IRecipe SaveRecipeCore(string filename, IRecipe recipe)
        {
            if (filename == null)
            throw new ArgumentNullException ("fileName");
             if (string.IsNullOrEmpty (filename))
            throw new ArgumentException ("FileName cannot be null");
             if (recipe == null)
            throw new ArgumentNullException ("recipe");
             var formatter = new XmlFormatter ();

             Meal.Svc.Persistance.Recipe r = recipe as Meal.Svc.Persistance.Recipe ?? Meal.Svc.Persistance.Recipe.FromRecipe (recipe);

             using (var stream = System.IO.File.Create (filename))
             {
            formatter.Serialize (stream, r);
            stream.Close ();
             }
             return recipe;
        }
Ejemplo n.º 33
0
        public IRecipe SaveRecipe(string filename, IRecipe recipe)
        {
            var formatter = new XmlFormatter ();

             Meal.Svc.Persistance.Recipe r = recipe as Meal.Svc.Persistance.Recipe ?? Meal.Svc.Persistance.Recipe.FromRecipe (recipe);

             using (var stream = System.IO.File.Create (filename))
             {
            //XamlWriter.Save (r, stream);

            formatter.Serialize (stream, r);
            stream.Close ();
             }
             return recipe;
        }