public void Deserialize_ShouldDeserializeStringToListOfFoodObjects_PopulatesListWithRightValues()
        {
            ObservableCollection <Food> foods = new ObservableCollection <Food>();

            CustomXmlSerializer serializer = new CustomXmlSerializer(foods);

            serializer.Deserialize("<?xml version=\"1.0\" encoding=\"utf-16\"?><Meal><Ingredient><Name>Apple</Name><Calories>15</Calories><Carbohydrates>10</Carbohydrates><Fat>5</Fat><Proteins>13</Proteins><Weight>100</Weight></Ingredient><Ingredient><Name>Melon</Name><Calories>8</Calories><Carbohydrates>12</Carbohydrates><Fat>22</Fat><Proteins>33</Proteins><Weight>100</Weight></Ingredient><Ingredient><Name>Orange</Name><Calories>1</Calories><Carbohydrates>2</Carbohydrates><Fat>3</Fat><Proteins>4</Proteins><Weight>100</Weight></Ingredient></Meal>");

            Assert.AreEqual(_foods[0].Name, foods[0].Name);
            Assert.AreEqual(_foods[0].Calories, foods[0].Calories);
            Assert.AreEqual(_foods[0].Carbohydrates, foods[0].Carbohydrates);
            Assert.AreEqual(_foods[0].Fat, foods[0].Fat);
            Assert.AreEqual(_foods[0].Proteins, foods[0].Proteins);
            Assert.AreEqual(_foods[0].Weight, foods[0].Weight);

            Assert.AreEqual(_foods[1].Name, foods[1].Name);
            Assert.AreEqual(_foods[1].Calories, foods[1].Calories);
            Assert.AreEqual(_foods[1].Carbohydrates, foods[1].Carbohydrates);
            Assert.AreEqual(_foods[1].Fat, foods[1].Fat);
            Assert.AreEqual(_foods[1].Proteins, foods[1].Proteins);
            Assert.AreEqual(_foods[1].Weight, foods[1].Weight);

            Assert.AreEqual(_foods[2].Name, foods[2].Name);
            Assert.AreEqual(_foods[2].Calories, foods[2].Calories);
            Assert.AreEqual(_foods[2].Carbohydrates, foods[2].Carbohydrates);
            Assert.AreEqual(_foods[2].Fat, foods[2].Fat);
            Assert.AreEqual(_foods[2].Proteins, foods[2].Proteins);
            Assert.AreEqual(_foods[2].Weight, foods[2].Weight);
        }
        public void Deserialize_ShouldNotAddFoodToListIfProvidedStringIsInvalid_ListDoesntContainAnyObjects()
        {
            ObservableCollection <Food> foods = new ObservableCollection <Food>();

            CustomXmlSerializer serializer = new CustomXmlSerializer(foods);

            serializer.Deserialize("<?xml version=\"1.0\" encoding=\"utf-16\"?><Meal><Ingredient><Name>Apple</Name><Carbohydrates>10</Carbohydrates><Fat>5</Fat><Proteins>13</Proteins><Weight>100</Weight></Ingredient></Meal>");
            Assert.IsTrue(foods.Count == 0);
        }
Exemplo n.º 3
0
        private void TestSerialization <T>(T message)
            where T : class
        {
            CustomXmlSerializer serializer = new CustomXmlSerializer();

            byte[] data = serializer.Serialize(message);

            Trace.WriteLine("Result XML:");
            Trace.WriteLine(Encoding.UTF8.GetString(data));

            serializer.Deserialize(data);
        }
Exemplo n.º 4
0
        public MainWindow()
        {
            InitializeComponent();

            string xmlFile = File.ReadAllText("FoodDatabase.xml");
            CustomXmlSerializer serializer = new CustomXmlSerializer(App.Foods);

            serializer.Deserialize(xmlFile);

            listBoxFood.ItemsSource      = App.Foods;
            userFoodListView.ItemsSource = App.UserFoods;
        }
Exemplo n.º 5
0
        public object Deserialize(Stream stream)
        {
            object message = _serializer.Deserialize(stream);

            if (message == null)
            {
                throw new SerializationException("Could not deserialize message.");
            }

            if (message is XmlMessageEnvelope)
            {
                XmlMessageEnvelope envelope = message as XmlMessageEnvelope;

                InboundMessageHeaders.SetCurrent(envelope.GetMessageHeadersSetAction());

                return(envelope.Message);
            }

            return(message);
        }