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); }
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); }
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; }
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); }